From cc774ffbdeae7d73eb364d96e31dbf8239f99a49 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Mon, 23 Jun 2008 09:06:35 +0200 Subject: [PATCH] i386.md (*fop__1_i387): Use SSE_FLOAT_MODE_P together with SSE_TARGET_MATH to disable insn pattern. * config/i386/i386.md (*fop__1_i387): Use SSE_FLOAT_MODE_P together with SSE_TARGET_MATH to disable insn pattern. (*fop__2_i387): Ditto. (*fop__3_i387): Ditto. From-SVN: r137032 --- gcc/ChangeLog | 16 ++++++++++------ gcc/config/i386/i386.md | 6 +++--- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0cc5d09454c..b91ebd197bc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2008-06-23 Uros Bizjak + + * config/i386/i386.md (*fop__1_i387): Use SSE_FLOAT_MODE_P + together with SSE_TARGET_MATH to disable insn pattern. + (*fop__2_i387): Ditto. + (*fop__3_i387): Ditto. + 2008-06-22 Andy Hutchinson * 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 b6b19a1a734..3c45f7cad05 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) && 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) && TARGET_SSE_MATH) && (TARGET_USE_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) && TARGET_SSE_MATH) && (TARGET_USE_MODE_FIOP || optimize_size)" "* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);" [(set (attr "type") -- 2.30.2