File nov191825.diff of Package gcc33

PR12307 == nov191825
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.404.2.14.4.12
retrieving revision 1.404.2.14.4.13
Index: gcc-3.3.3/gcc/config/i386/i386.md
===================================================================
--- gcc-3.3.3.orig/gcc/config/i386/i386.md	2009-11-20 13:04:57.000000000 +0100
+++ gcc-3.3.3/gcc/config/i386/i386.md	2009-11-20 13:06:55.000000000 +0100
@@ -4417,20 +4417,23 @@
 ;; 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_128BIT_LONG_DOUBLE && TARGET_80387"
   "")
 
 (define_expand "fix_trunctfdi2"
-  [(set (match_operand:DI 0 "nonimmediate_operand" "")
-	(fix:DI (match_operand:TF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:DI 0 "nonimmediate_operand" "")
+		   (fix:DI (match_operand:TF 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)
@@ -4444,8 +4447,9 @@
 })
 
 (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)
@@ -4462,7 +4466,8 @@
 ;; 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)"
@@ -4581,20 +4586,23 @@
 ;; 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_128BIT_LONG_DOUBLE && TARGET_80387"
   "")
 
 (define_expand "fix_trunctfsi2"
-  [(set (match_operand:SI 0 "nonimmediate_operand" "")
-	(fix:SI (match_operand:TF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "")
+	      (fix:SI (match_operand:TF 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)
@@ -4608,8 +4616,9 @@
 })
 
 (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)
@@ -4626,7 +4635,8 @@
 ;; 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]))"
@@ -4736,26 +4746,30 @@
 ;; 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_128BIT_LONG_DOUBLE && TARGET_80387"
   "")
 
 (define_expand "fix_trunctfhi2"
-  [(set (match_operand:HI 0 "nonimmediate_operand" "")
-	(fix:HI (match_operand:TF 1 "register_operand" "")))]
+  [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "")
+		   (fix:HI (match_operand:TF 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"
   "")
 
@@ -4763,7 +4777,8 @@
 ;; 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]))"
openSUSE Build Service is sponsored by