diff options
author | Jan Hubicka <hubicka@freesoft.cz> | 1999-10-01 03:19:16 +0200 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-09-30 18:19:16 -0700 |
commit | ca285e0794fc71079acf77d743b44f4a7a5aa12a (patch) | |
tree | a9aaa1ecad9cf877ecff583bac216fb3924ca530 | |
parent | 39cc9917e21cb9f2145881c321a25ab8ed2bb54a (diff) | |
download | gcc-ca285e0794fc71079acf77d743b44f4a7a5aa12a.zip gcc-ca285e0794fc71079acf77d743b44f4a7a5aa12a.tar.gz gcc-ca285e0794fc71079acf77d743b44f4a7a5aa12a.tar.bz2 |
Jan Hubicka <hubicka@freesoft.cz>
* i386.md (truncatexfdf splitters): Do not use subreg.
(fop XFmode patterns): Fix mode in operand testing.
From-SVN: r29742
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 35 |
2 files changed, 23 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 34656de..b38ff43 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 30 18:18:39 1999 Jan Hubicka <hubicka@freesoft.cz> + + * i386.md (truncatexfdf splitters): Do not use subreg. + (fop XFmode patterns): Fix mode in operand testing. + Thu Sep 30 18:04:13 1999 Richard Henderson <rth@cygnus.com> * jump.c (jump_optimize_1): Amend last change to test only the diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 53b23f8..b2adc39 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -2684,8 +2684,8 @@ (float_truncate:DF (match_operand:XF 1 "register_operand" ""))) (clobber (match_operand:DF 2 "memory_operand" ""))] - "TARGET_80387 && reload_completed" - [(set (match_dup 0) (subreg:DF (match_dup 1) 0))] + "TARGET_80387" + [(set (match_dup 0) (float_truncate:DF (match_dup 1)))] "") (define_split @@ -2694,9 +2694,10 @@ (match_operand:XF 1 "register_operand" ""))) (clobber (match_operand:DF 2 "memory_operand" ""))] "TARGET_80387 && reload_completed" - [(set (match_dup 2) (subreg:DF (match_dup 1) 0)) + [(set (match_dup 2) (float_truncate:DF (match_dup 1))) (set (match_dup 0) (match_dup 2))] "") + ;; %%% Break up all these bad boys. @@ -6957,9 +6958,9 @@ "TARGET_80387" "* return output_387_binary_op (insn, operands);" [(set (attr "type") - (cond [(match_operand:DF 3 "mult_operator" "") + (cond [(match_operand:XF 3 "mult_operator" "") (const_string "fmul") - (match_operand:DF 3 "div_operator" "") + (match_operand:XF 3 "div_operator" "") (const_string "fdiv") ] (const_string "fop")))]) @@ -6972,9 +6973,9 @@ "TARGET_80387 && TARGET_USE_FIOP" "* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);" [(set (attr "type") - (cond [(match_operand:DF 3 "mult_operator" "") + (cond [(match_operand:XF 3 "mult_operator" "") (const_string "fmul") - (match_operand:DF 3 "div_operator" "") + (match_operand:XF 3 "div_operator" "") (const_string "fdiv") ] (const_string "fop"))) @@ -6989,9 +6990,9 @@ "TARGET_80387 && TARGET_USE_FIOP" "* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);" [(set (attr "type") - (cond [(match_operand:DF 3 "mult_operator" "") + (cond [(match_operand:XF 3 "mult_operator" "") (const_string "fmul") - (match_operand:DF 3 "div_operator" "") + (match_operand:XF 3 "div_operator" "") (const_string "fdiv") ] (const_string "fop"))) @@ -7006,9 +7007,9 @@ "TARGET_80387" "* return output_387_binary_op (insn, operands);" [(set (attr "type") - (cond [(match_operand:DF 3 "mult_operator" "") + (cond [(match_operand:XF 3 "mult_operator" "") (const_string "fmul") - (match_operand:DF 3 "div_operator" "") + (match_operand:XF 3 "div_operator" "") (const_string "fdiv") ] (const_string "fop")))]) @@ -7022,9 +7023,9 @@ "TARGET_80387" "* return output_387_binary_op (insn, operands);" [(set (attr "type") - (cond [(match_operand:DF 3 "mult_operator" "") + (cond [(match_operand:XF 3 "mult_operator" "") (const_string "fmul") - (match_operand:DF 3 "div_operator" "") + (match_operand:XF 3 "div_operator" "") (const_string "fdiv") ] (const_string "fop")))]) @@ -7037,9 +7038,9 @@ "TARGET_80387" "* return output_387_binary_op (insn, operands);" [(set (attr "type") - (cond [(match_operand:DF 3 "mult_operator" "") + (cond [(match_operand:XF 3 "mult_operator" "") (const_string "fmul") - (match_operand:DF 3 "div_operator" "") + (match_operand:XF 3 "div_operator" "") (const_string "fdiv") ] (const_string "fop")))]) @@ -7053,9 +7054,9 @@ "TARGET_80387" "* return output_387_binary_op (insn, operands);" [(set (attr "type") - (cond [(match_operand:DF 3 "mult_operator" "") + (cond [(match_operand:XF 3 "mult_operator" "") (const_string "fmul") - (match_operand:DF 3 "div_operator" "") + (match_operand:XF 3 "div_operator" "") (const_string "fdiv") ] (const_string "fop")))]) |