summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-04 10:40:52 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-04 10:40:52 +0000
commit160e7b949d290ff4262906b5bc1ed7736f4167a4 (patch)
tree34b2da3073a31a6cf036ced68d0c6e9cff9ff829
parentb38d56bea7ec247046a25b06fa6c4de3547e8bd6 (diff)
downloadppe42-gcc-160e7b949d290ff4262906b5bc1ed7736f4167a4.tar.gz
ppe42-gcc-160e7b949d290ff4262906b5bc1ed7736f4167a4.zip
PR target/19240
* config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH. (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92891 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md6
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 19e9aed72c4..54746d08328 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-04 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/19240
+ * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
+ (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
+
2005-01-03 Richard Henderson <rth@redhat.com>
* fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index add15a8781c..eb2eee895fc 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -14199,12 +14199,13 @@
(const_string "sseadd")))
(set_attr "mode" "SF")])
+;; This pattern is not fully shadowed by the pattern above.
(define_insn "*fop_sf_1_i387"
[(set (match_operand:SF 0 "register_operand" "=f,f")
(match_operator:SF 3 "binary_fp_operator"
[(match_operand:SF 1 "nonimmediate_operand" "0,fm")
(match_operand:SF 2 "nonimmediate_operand" "fm,0")]))]
- "TARGET_80387
+ "TARGET_80387 && !TARGET_SSE_MATH
&& !COMMUTATIVE_ARITH_P (operands[3])
&& (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
"* return output_387_binary_op (insn, operands);"
@@ -14345,12 +14346,13 @@
]
(const_string "sseadd")))])
+;; This pattern is not fully shadowed by the pattern above.
(define_insn "*fop_df_1_i387"
[(set (match_operand:DF 0 "register_operand" "=f,f")
(match_operator:DF 3 "binary_fp_operator"
[(match_operand:DF 1 "nonimmediate_operand" "0,fm")
(match_operand:DF 2 "nonimmediate_operand" "fm,0")]))]
- "TARGET_80387
+ "TARGET_80387 && !(TARGET_SSE2 && TARGET_SSE_MATH)
&& !COMMUTATIVE_ARITH_P (operands[3])
&& (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
"* return output_387_binary_op (insn, operands);"
OpenPOWER on IntegriCloud