From ec13ba83bafe48d0da35c10ed3053bfb0e5256c5 Mon Sep 17 00:00:00 2001 From: Caroline Tice Date: Wed, 21 Jan 2004 20:45:25 +0000 Subject: [PATCH] i386.md (fix_truncxfdi2): Add clause to clobber flags register. 2004-01-21 Caroline Tice * 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 | 16 +++++++++++++++ gcc/config/i386/i386.md | 54 ++++++++++++++++++++++++++++++------------------- 2 files changed, 49 insertions(+), 21 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 19e970c..457cf00 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,19 @@ +2004-01-21 Caroline Tice + + * 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 * alias.c, basic-block.h, c-common.c, c-common.h, diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index a502f8f..0be95d0 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -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]))" -- 2.7.4