i386.md (fix_truncxfdi2): Add clause to clobber flags register.
authorCaroline Tice <ctice@apple.com>
Wed, 21 Jan 2004 20:45:25 +0000 (20:45 +0000)
committerCaroline Tice <ctice@gcc.gnu.org>
Wed, 21 Jan 2004 20:45:25 +0000 (12:45 -0800)
2004-01-21  Caroline Tice <ctice@apple.com>

* config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
        flags register.
(fix_truncdfdi2): Likewise.
(fix_truncsfdi2): Likewise.
(*fix_truncdi_1): Likewise.
(fix_truncxfsi2): Likewise.
        (fix_truncdfsi2): Likewise.
(fix_truncsfsi2): Likewise.
(*fix_truncsi_1): Likewise.
(fix_truncxfhi2): Likewise.
(fix_truncdfhi2): Likewise.
(fix_truncsfhi2): Likewise.
(*fix_trunchi_1): Likewise.

From-SVN: r76303

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

index 19e970cac6bb919ac43ab75d0ca91b0f6ba6aa1f..457cf00e0ecbc660f0834c24354919d1c360a47b 100644 (file)
@@ -1,3 +1,19 @@
+2004-01-21  Caroline Tice <ctice@apple.com>
+
+       * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber 
+       flags register.
+       (fix_truncdfdi2): Likewise.
+       (fix_truncsfdi2): Likewise.
+       (*fix_truncdi_1): Likewise.
+       (fix_truncxfsi2): Likewise.
+       (fix_truncdfsi2): Likewise.
+       (fix_truncsfsi2): Likewise.
+       (*fix_truncsi_1): Likewise.
+       (fix_truncxfhi2): Likewise.
+       (fix_truncdfhi2): Likewise.
+       (fix_truncsfhi2): Likewise.
+       (*fix_trunchi_1): Likewise.
+       
 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
 
        * alias.c, basic-block.h, c-common.c, c-common.h,
index a502f8fb51fa1dfa9cf8627e992ca804dc21ec2c..0be95d0a62f7058742deb77a6745b1e2ce1faf35 100644 (file)
 ;; Signed conversion to DImode.
 
 (define_expand "fix_truncxfdi2"
-  [(set (match_operand:DI 0 "nonimmediate_operand" "")
-        (fix:DI (match_operand:XF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:DI 0 "nonimmediate_operand" "")
+                   (fix:DI (match_operand:XF 1 "register_operand" "")))
+             (clobber (reg:CC 17))])]
   "TARGET_80387"
   "")
 
 (define_expand "fix_truncdfdi2"
-  [(set (match_operand:DI 0 "nonimmediate_operand" "")
-        (fix:DI (match_operand:DF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:DI 0 "nonimmediate_operand" "")
+                   (fix:DI (match_operand:DF 1 "register_operand" "")))
+              (clobber (reg:CC 17))])]
   "TARGET_80387 || (TARGET_SSE2 && TARGET_64BIT)"
 {
   if (TARGET_64BIT && TARGET_SSE2)
 })
 
 (define_expand "fix_truncsfdi2"
-  [(set (match_operand:DI 0 "nonimmediate_operand" "")
-       (fix:DI (match_operand:SF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:DI 0 "nonimmediate_operand" "")
+                  (fix:DI (match_operand:SF 1 "register_operand" "")))
+              (clobber (reg:CC 17))])] 
   "TARGET_80387 || (TARGET_SSE && TARGET_64BIT)"
 {
   if (TARGET_SSE && TARGET_64BIT)
 ;; of the machinery.
 (define_insn_and_split "*fix_truncdi_1"
   [(set (match_operand:DI 0 "nonimmediate_operand" "=m,?r")
-       (fix:DI (match_operand 1 "register_operand" "f,f")))]
+       (fix:DI (match_operand 1 "register_operand" "f,f")))
+       (clobber (reg:CC 17))]
   "TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1]))
    && !reload_completed && !reload_in_progress
    && (!SSE_FLOAT_MODE_P (GET_MODE (operands[1])) || !TARGET_64BIT)"
 ;; Signed conversion to SImode.
 
 (define_expand "fix_truncxfsi2"
-  [(set (match_operand:SI 0 "nonimmediate_operand" "")
-       (fix:SI (match_operand:XF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "")
+                  (fix:SI (match_operand:XF 1 "register_operand" "")))
+             (clobber (reg:CC 17))])]
   "TARGET_80387"
   "")
 
 (define_expand "fix_truncdfsi2"
-  [(set (match_operand:SI 0 "nonimmediate_operand" "")
-       (fix:SI (match_operand:DF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "")
+                  (fix:SI (match_operand:DF 1 "register_operand" "")))
+             (clobber (reg:CC 17))])]
   "TARGET_80387 || TARGET_SSE2"
 {
   if (TARGET_SSE2)
 })
 
 (define_expand "fix_truncsfsi2"
-  [(set (match_operand:SI 0 "nonimmediate_operand" "")
-       (fix:SI (match_operand:SF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "")
+                  (fix:SI (match_operand:SF 1 "register_operand" "")))
+             (clobber (reg:CC 17))])] 
   "TARGET_80387 || TARGET_SSE"
 {
   if (TARGET_SSE)
 ;; of the machinery.
 (define_insn_and_split "*fix_truncsi_1"
   [(set (match_operand:SI 0 "nonimmediate_operand" "=m,?r")
-       (fix:SI (match_operand 1 "register_operand" "f,f")))]
+       (fix:SI (match_operand 1 "register_operand" "f,f")))
+        (clobber (reg:CC 17))]
   "TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1]))
    && !reload_completed && !reload_in_progress
    && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))"
 ;; Signed conversion to HImode.
 
 (define_expand "fix_truncxfhi2"
-  [(set (match_operand:HI 0 "nonimmediate_operand" "")
-        (fix:HI (match_operand:XF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "")
+                   (fix:HI (match_operand:XF 1 "register_operand" "")))
+              (clobber (reg:CC 17))])] 
   "TARGET_80387"
   "")
 
 (define_expand "fix_truncdfhi2"
-  [(set (match_operand:HI 0 "nonimmediate_operand" "")
-       (fix:HI (match_operand:DF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "")
+                  (fix:HI (match_operand:DF 1 "register_operand" "")))
+              (clobber (reg:CC 17))])]
   "TARGET_80387 && !TARGET_SSE2"
   "")
 
 (define_expand "fix_truncsfhi2"
-  [(set (match_operand:HI 0 "nonimmediate_operand" "")
-       (fix:HI (match_operand:SF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "")
+                  (fix:HI (match_operand:SF 1 "register_operand" "")))
+               (clobber (reg:CC 17))])]
   "TARGET_80387 && !TARGET_SSE"
   "")
 
 ;; of the machinery.
 (define_insn_and_split "*fix_trunchi_1"
   [(set (match_operand:HI 0 "nonimmediate_operand" "=m,?r")
-       (fix:HI (match_operand 1 "register_operand" "f,f")))]
+       (fix:HI (match_operand 1 "register_operand" "f,f")))
+        (clobber (reg:CC 17))]
   "TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1]))
    && !reload_completed && !reload_in_progress
    && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))"