aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2008-06-23 09:06:35 +0200
committerUros Bizjak <uros@gcc.gnu.org>2008-06-23 09:06:35 +0200
commitcc774ffbdeae7d73eb364d96e31dbf8239f99a49 (patch)
treef7b7d1539410c04a20f98bf1fcd77f1ae8d3bd3d /gcc
parent17bb93d62565f578e281a37235d9f9313a043da9 (diff)
downloadgcc-cc774ffbdeae7d73eb364d96e31dbf8239f99a49.zip
gcc-cc774ffbdeae7d73eb364d96e31dbf8239f99a49.tar.gz
gcc-cc774ffbdeae7d73eb364d96e31dbf8239f99a49.tar.bz2
i386.md (*fop_<mode>_1_i387): Use SSE_FLOAT_MODE_P together with SSE_TARGET_MATH to disable insn pattern.
* config/i386/i386.md (*fop_<mode>_1_i387): Use SSE_FLOAT_MODE_P together with SSE_TARGET_MATH to disable insn pattern. (*fop_<MODEF:mode>_2_i387): Ditto. (*fop_<MODEF:mode>_3_i387): Ditto. From-SVN: r137032
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog16
-rw-r--r--gcc/config/i386/i386.md6
2 files changed, 13 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0cc5d09..b91ebd1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2008-06-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*fop_<mode>_1_i387): Use SSE_FLOAT_MODE_P
+ together with SSE_TARGET_MATH to disable insn pattern.
+ (*fop_<MODEF:mode>_2_i387): Ditto.
+ (*fop_<MODEF:mode>_3_i387): Ditto.
+
2008-06-22 Andy Hutchinson <hutchinsonandy@aim.com>
* config/avr/avr.h (SUPPORTS_INIT_PRIORITY): Define.
@@ -143,10 +150,8 @@
create_stores_for_reduction, create_loads_and_stores_for_name):
Likewise.
* tree-phinodes.c (allocate_phi_node): Likewise.
- * tree-predcom.c (order_drefs, execute_pred_commoning_cbck):
- Likewise.
- * tree-sra.c (sra_elt_hash, sra_elt_eq, lookup_element):
- Likewise.
+ * tree-predcom.c (order_drefs, execute_pred_commoning_cbck): Likewise.
+ * tree-sra.c (sra_elt_hash, sra_elt_eq, lookup_element): Likewise.
* tree-ssa-alias.c (get_mem_sym_stats_for): Likewise.
* tree-ssa-coalesce.c (compare_pairs): Likewise.
* tree-ssa-loop-im.c (mem_ref_in_stmt, memref_hash, memref_eq,
@@ -176,8 +181,7 @@
unshare_variable, variable_union_info_cmp_pos, variable_union,
dataflow_set_different_1, dataflow_set_different_2,
vt_find_locations, variable_was_changed, set_variable_part,
- emit_notes_for_differences_1, emit_notes_for_differences_2):
- Likewise.
+ emit_notes_for_differences_1, emit_notes_for_differences_2): Likewise.
* varasm.c (prefix_name, emutls_decl, section_entry_eq,
section_entry_hash, object_block_entry_eq,
object_block_entry_hash, create_block_symbol,
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index b6b19a1..3c45f7c 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -16136,7 +16136,7 @@
(match_operator:MODEF 3 "binary_fp_operator"
[(match_operand:MODEF 1 "nonimmediate_operand" "0,fm")
(match_operand:MODEF 2 "nonimmediate_operand" "fm,0")]))]
- "TARGET_80387 && !TARGET_SSE_MATH
+ "TARGET_80387 && !(SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)
&& !COMMUTATIVE_ARITH_P (operands[3])
&& !(MEM_P (operands[1]) && MEM_P (operands[2]))"
"* return output_387_binary_op (insn, operands);"
@@ -16156,7 +16156,7 @@
[(float:MODEF
(match_operand:X87MODEI12 1 "nonimmediate_operand" "m,?r"))
(match_operand:MODEF 2 "register_operand" "0,0")]))]
- "TARGET_80387 && !TARGET_SSE_MATH
+ "TARGET_80387 && !(SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)
&& (TARGET_USE_<X87MODEI12:MODE>MODE_FIOP || optimize_size)"
"* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);"
[(set (attr "type")
@@ -16175,7 +16175,7 @@
[(match_operand:MODEF 1 "register_operand" "0,0")
(float:MODEF
(match_operand:X87MODEI12 2 "nonimmediate_operand" "m,?r"))]))]
- "TARGET_80387 && !TARGET_SSE_MATH
+ "TARGET_80387 && !(SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)
&& (TARGET_USE_<X87MODEI12:MODE>MODE_FIOP || optimize_size)"
"* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);"
[(set (attr "type")