OSDN Git Service

* i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Apr 2002 14:05:03 +0000 (14:05 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Apr 2002 14:05:03 +0000 (14:05 +0000)
* i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
later.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52471 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.h
gcc/config/i386/i386.md

index 799f4c8..c71ed9a 100644 (file)
@@ -1,3 +1,9 @@
+Thu Apr 18 15:49:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
+       * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
+       later.
+
 2002-04-18  Bernd Schmidt  <bernds@redhat.com>
 
        * attribs.c (vector_type_node_list): New static variable.
index ad2956d..0a0ce26 100644 (file)
@@ -1316,7 +1316,7 @@ enum reg_class
 #define SSE_REG_P(N) (REG_P (N) && SSE_REGNO_P (REGNO (N)))
 
 #define SSE_FLOAT_MODE_P(MODE) \
-  ((TARGET_SSE_MATH && (MODE) == SFmode) || (TARGET_SSE2 && (MODE) == DFmode))
+  ((MODE) == SFmode || (TARGET_SSE2 && (MODE) == DFmode))
 
 #define MMX_REGNO_P(N) ((N) >= FIRST_MMX_REG && (N) <= LAST_MMX_REG)
 #define MMX_REG_P(XOP) (REG_P (XOP) && MMX_REGNO_P (REGNO (XOP)))
index 06ec26e..3ebc997 100644 (file)
 (define_insn "sse_movsfcc"
   [(set (match_operand:SF 0 "register_operand" "=&x#rf,x#rf,?f#xr,?f#xr,?f#xr,?f#xr,?r#xf,?r#xf,?r#xf,?r#xf")
        (if_then_else:SF (match_operator 1 "sse_comparison_operator"
-                       [(match_operand:SF 4 "nonimmediate_operand" "0#fx,x#fx,f#x,f#x,xm#f,xm#f,f#x,f#x,xm#f,xm#f")
-                        (match_operand:SF 5 "nonimmediate_operand" "xm#f,xm#f,f#x,f#x,x#f,x#f,f#x,f#x,x#f,x#f")])
+                       [(match_operand:SF 4 "nonimmediate_operand" "0#fx,x#fx,f#x,f#x,x#f,x#f,f#x,f#x,x#f,x#f")
+                        (match_operand:SF 5 "nonimmediate_operand" "xm#f,xm#f,f#x,f#x,xm#f,xm#f,f#x,f#x,xm#f,xm#f")])
                      (match_operand:SF 2 "nonimmediate_operand" "x#fr,0#fr,f#fx,0#fx,f#fx,0#fx,rm#rx,0#rx,rm#rx,0#rx")
                      (match_operand:SF 3 "nonimmediate_operand" "x#fr,x#fr,0#fx,f#fx,0#fx,f#fx,0#fx,rm#rx,0#rx,rm#rx")))
    (clobber (match_scratch:SF 6 "=2,&4,X,X,X,X,X,X,X,X"))
 
 (define_insn "sse_movsfcc_eq"
   [(set (match_operand:SF 0 "register_operand" "=&x#rf,x#rf,?f#xr,?f#xr,?r#xf,?r#xf")
-       (if_then_else:SF (eq (match_operand:SF 3 "nonimmediate_operand" "%0#fx,x#fx,f#x,xm#f,f#x,xm#f")
-                            (match_operand:SF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,x#f,f#x,x#f"))
+       (if_then_else:SF (eq (match_operand:SF 3 "nonimmediate_operand" "%0#fx,x#fx,f#x,x#f,f#x,x#f")
+                            (match_operand:SF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,xm#f,f#x,xm#f"))
                      (match_operand:SF 1 "nonimmediate_operand" "x#fr,0#fr,0#fx,0#fx,0#rx,0#rx")
                      (match_operand:SF 2 "nonimmediate_operand" "x#fr,x#fr,f#fx,f#fx,rm#rx,rm#rx")))
    (clobber (match_scratch:SF 5 "=1,&3,X,X,X,X"))
 (define_insn "sse_movdfcc"
   [(set (match_operand:DF 0 "register_operand" "=&x#rf,x#rf,?f#xr,?f#xr,?f#xr,?f#xr,?r#xf,?r#xf,?r#xf,?r#xf")
        (if_then_else:DF (match_operator 1 "sse_comparison_operator"
-                       [(match_operand:DF 4 "nonimmediate_operand" "0#fx,x#fx,f#x,f#x,xm#f,xm#f,f#x,f#x,xm#f,xm#f")
-                        (match_operand:DF 5 "nonimmediate_operand" "xm#f,xm#f,f#x,f#x,x#f,x#f,f#x,f#x,x#f,x#f")])
+                       [(match_operand:DF 4 "nonimmediate_operand" "0#fx,x#fx,f#x,f#x,x#f,x#f,f#x,f#x,x#f,x#f")
+                        (match_operand:DF 5 "nonimmediate_operand" "xm#f,xm#f,f#x,f#x,xm#f,xm#f,f#x,f#x,xm#f,xm#f")])
                      (match_operand:DF 2 "nonimmediate_operand" "x#fr,0#fr,f#fx,0#fx,f#fx,0#fx,rm#rx,0#rx,rm#rx,0#rx")
                      (match_operand:DF 3 "nonimmediate_operand" "x#fr,x#fr,0#fx,f#fx,0#fx,f#fx,0#fx,rm#rx,0#rx,rm#rx")))
    (clobber (match_scratch:DF 6 "=2,&4,X,X,X,X,X,X,X,X"))
 
 (define_insn "sse_movdfcc_eq"
   [(set (match_operand:DF 0 "register_operand" "=&x#rf,x#rf,?f#xr,?f#xr,?r#xf,?r#xf")
-       (if_then_else:DF (eq (match_operand:DF 3 "nonimmediate_operand" "%0#fx,x#fx,f#x,xm#f,f#x,xm#f")
-                            (match_operand:DF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,x#f,f#x,x#f"))
+       (if_then_else:DF (eq (match_operand:DF 3 "nonimmediate_operand" "%0#fx,x#fx,f#x,x#f,f#x,x#f")
+                            (match_operand:DF 4 "nonimmediate_operand" "xm#f,xm#f,f#x,xm#f,f#x,xm#f"))
                      (match_operand:DF 1 "nonimmediate_operand" "x#fr,0#fr,0#fx,0#fx,0#rx,0#rx")
                      (match_operand:DF 2 "nonimmediate_operand" "x#fr,x#fr,f#fx,f#fx,rm#rx,rm#rx")))
    (clobber (match_scratch:DF 5 "=1,&3,X,X,X,X"))
   [(set (match_operand 0 "register_operand" "")
        (if_then_else (match_operator 1 "comparison_operator"
                        [(match_operand 4 "nonimmediate_operand" "")
-                        (match_operand 5 "register_operand" "")])
+                        (match_operand 5 "nonimmediate_operand" "")])
                      (match_operand 2 "nonimmediate_operand" "")
                      (match_operand 3 "nonimmediate_operand" "")))
    (clobber (match_operand 6 "" ""))