i386.md (fix_truncxfdi2): Add clause to clobber flags register.

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
This commit is contained in:
Caroline Tice 2004-01-21 20:45:25 +00:00 committed by Caroline Tice
parent d9221e016b
commit ec13ba83ba
2 changed files with 49 additions and 21 deletions

View 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,

View File

@ -4018,14 +4018,16 @@
;; 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)
@ -4039,8 +4041,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)
@ -4057,7 +4060,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)"
@ -4179,14 +4183,16 @@
;; 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)
@ -4200,8 +4206,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)
@ -4218,7 +4225,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]))"
@ -4334,20 +4342,23 @@
;; 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"
"")
@ -4355,7 +4366,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]))"