Commit ec13ba83 by Caroline Tice Committed by Caroline Tice

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
parent d9221e01
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> 2004-01-21 Kazu Hirata <kazu@cs.umass.edu>
* alias.c, basic-block.h, c-common.c, c-common.h, * alias.c, basic-block.h, c-common.c, c-common.h,
......
...@@ -4018,14 +4018,16 @@ ...@@ -4018,14 +4018,16 @@
;; Signed conversion to DImode. ;; Signed conversion to DImode.
(define_expand "fix_truncxfdi2" (define_expand "fix_truncxfdi2"
[(set (match_operand:DI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:DI 0 "nonimmediate_operand" "")
(fix:DI (match_operand:XF 1 "register_operand" "")))] (fix:DI (match_operand:XF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387" "TARGET_80387"
"") "")
(define_expand "fix_truncdfdi2" (define_expand "fix_truncdfdi2"
[(set (match_operand:DI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:DI 0 "nonimmediate_operand" "")
(fix:DI (match_operand:DF 1 "register_operand" "")))] (fix:DI (match_operand:DF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387 || (TARGET_SSE2 && TARGET_64BIT)" "TARGET_80387 || (TARGET_SSE2 && TARGET_64BIT)"
{ {
if (TARGET_64BIT && TARGET_SSE2) if (TARGET_64BIT && TARGET_SSE2)
...@@ -4039,8 +4041,9 @@ ...@@ -4039,8 +4041,9 @@
}) })
(define_expand "fix_truncsfdi2" (define_expand "fix_truncsfdi2"
[(set (match_operand:DI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:DI 0 "nonimmediate_operand" "")
(fix:DI (match_operand:SF 1 "register_operand" "")))] (fix:DI (match_operand:SF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387 || (TARGET_SSE && TARGET_64BIT)" "TARGET_80387 || (TARGET_SSE && TARGET_64BIT)"
{ {
if (TARGET_SSE && TARGET_64BIT) if (TARGET_SSE && TARGET_64BIT)
...@@ -4057,7 +4060,8 @@ ...@@ -4057,7 +4060,8 @@
;; of the machinery. ;; of the machinery.
(define_insn_and_split "*fix_truncdi_1" (define_insn_and_split "*fix_truncdi_1"
[(set (match_operand:DI 0 "nonimmediate_operand" "=m,?r") [(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])) "TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1]))
&& !reload_completed && !reload_in_progress && !reload_completed && !reload_in_progress
&& (!SSE_FLOAT_MODE_P (GET_MODE (operands[1])) || !TARGET_64BIT)" && (!SSE_FLOAT_MODE_P (GET_MODE (operands[1])) || !TARGET_64BIT)"
...@@ -4179,14 +4183,16 @@ ...@@ -4179,14 +4183,16 @@
;; Signed conversion to SImode. ;; Signed conversion to SImode.
(define_expand "fix_truncxfsi2" (define_expand "fix_truncxfsi2"
[(set (match_operand:SI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "")
(fix:SI (match_operand:XF 1 "register_operand" "")))] (fix:SI (match_operand:XF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387" "TARGET_80387"
"") "")
(define_expand "fix_truncdfsi2" (define_expand "fix_truncdfsi2"
[(set (match_operand:SI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "")
(fix:SI (match_operand:DF 1 "register_operand" "")))] (fix:SI (match_operand:DF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387 || TARGET_SSE2" "TARGET_80387 || TARGET_SSE2"
{ {
if (TARGET_SSE2) if (TARGET_SSE2)
...@@ -4200,8 +4206,9 @@ ...@@ -4200,8 +4206,9 @@
}) })
(define_expand "fix_truncsfsi2" (define_expand "fix_truncsfsi2"
[(set (match_operand:SI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "")
(fix:SI (match_operand:SF 1 "register_operand" "")))] (fix:SI (match_operand:SF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387 || TARGET_SSE" "TARGET_80387 || TARGET_SSE"
{ {
if (TARGET_SSE) if (TARGET_SSE)
...@@ -4218,7 +4225,8 @@ ...@@ -4218,7 +4225,8 @@
;; of the machinery. ;; of the machinery.
(define_insn_and_split "*fix_truncsi_1" (define_insn_and_split "*fix_truncsi_1"
[(set (match_operand:SI 0 "nonimmediate_operand" "=m,?r") [(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])) "TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1]))
&& !reload_completed && !reload_in_progress && !reload_completed && !reload_in_progress
&& !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))" && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))"
...@@ -4334,20 +4342,23 @@ ...@@ -4334,20 +4342,23 @@
;; Signed conversion to HImode. ;; Signed conversion to HImode.
(define_expand "fix_truncxfhi2" (define_expand "fix_truncxfhi2"
[(set (match_operand:HI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "")
(fix:HI (match_operand:XF 1 "register_operand" "")))] (fix:HI (match_operand:XF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387" "TARGET_80387"
"") "")
(define_expand "fix_truncdfhi2" (define_expand "fix_truncdfhi2"
[(set (match_operand:HI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "")
(fix:HI (match_operand:DF 1 "register_operand" "")))] (fix:HI (match_operand:DF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387 && !TARGET_SSE2" "TARGET_80387 && !TARGET_SSE2"
"") "")
(define_expand "fix_truncsfhi2" (define_expand "fix_truncsfhi2"
[(set (match_operand:HI 0 "nonimmediate_operand" "") [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "")
(fix:HI (match_operand:SF 1 "register_operand" "")))] (fix:HI (match_operand:SF 1 "register_operand" "")))
(clobber (reg:CC 17))])]
"TARGET_80387 && !TARGET_SSE" "TARGET_80387 && !TARGET_SSE"
"") "")
...@@ -4355,7 +4366,8 @@ ...@@ -4355,7 +4366,8 @@
;; of the machinery. ;; of the machinery.
(define_insn_and_split "*fix_trunchi_1" (define_insn_and_split "*fix_trunchi_1"
[(set (match_operand:HI 0 "nonimmediate_operand" "=m,?r") [(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])) "TARGET_80387 && FLOAT_MODE_P (GET_MODE (operands[1]))
&& !reload_completed && !reload_in_progress && !reload_completed && !reload_in_progress
&& !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))" && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment