OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc33?expand=0&rev=3
163 lines
6.2 KiB
Diff
163 lines
6.2 KiB
Diff
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]))"
|