diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-04-30 21:30:06 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-04-30 21:30:06 +0000 |
commit | b3987b8f4d71ebe80092f3e0d50eaac1fedd5141 (patch) | |
tree | ac81b0674e560c6192861aa4e621000978e96b72 | |
parent | cf951b1adfb70d786d542c0bdf28a72557121c47 (diff) | |
download | gcc-b3987b8f4d71ebe80092f3e0d50eaac1fedd5141.tar.gz |
PR target/53141
* config/i386/i386.md (*umul<mode><dwi>3_1): Switch places of
constraints 0 and 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187000 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 17 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 22 |
2 files changed, 23 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 60053595c65..a020376d3c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-04-30 Uros Bizjak <ubizjak@gmail.com> + + PR target/53141 + * config/i386/i386.md (*umul<mode><dwi>3_1): Switch places of + constraints 0 and 1. + 012-04-30 Jan Hubicka <jh@suse.cz> * cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.c @@ -35,8 +41,7 @@ (varpool_remove_unreferenced_decls): Remove. * ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups. (preserve_function_body_p): Make static. - * toplev.c (compile_file): Update comments; - update. + * toplev.c (compile_file): Update comments; update. * cgraphunit.c: Update comments. (cgraph_expand_all_functions): Rename to ... (expand_all_functions): ... this one; update. @@ -66,11 +71,12 @@ * optimize.c (maybe_clone_body): Use symtab_add_to_same_comdat_group. * method.c (use_thunk): Likewise. * semantics.c (maybe_add_lambda_conv_op): Likewise. - * decl2.c (maybe_emit_vtables): Likewise. + * decl2.c (maybe_emit_vtables): Likewise. (cp_write_global_declarations): Use finalize_compilation_unit. * parser.c (cp_parser_asm_definition): Use add_asm_node. * lto-streamer-in.c (lto_input_toplevel_asms): Use add_asm_node - * c-decl.c (c_write_global_declarations): Use finalize_compilation_unit. + * c-decl.c (c_write_global_declarations): Use + finalize_compilation_unit. * langhooks.c (write_global_declarations): Update. * ipa.c (cgraph_externally_visible_p): Update. (dissolve_same_comdat_group_list): Remove. @@ -84,7 +90,8 @@ (symtab_make_decl_local): New. * passes.c (register_pass): Update comments. * c-parser.c (c_parser_asm_definition): Update. - * varpool.c (varpool_analyze_node): Use fixup_same_cpp_alias_visibility. + * varpool.c (varpool_analyze_node): Use + fixup_same_cpp_alias_visibility. (varpool_remove_unreferenced_decls): Make static. (varpool_assemble_pending_decls): Rename to ... (varpool_output_variables): ... this one; call diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 9047a31a01b..ea77c203b49 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -6814,29 +6814,29 @@ (set_attr "mode" "SI")]) (define_insn "*umul<mode><dwi>3_1" - [(set (match_operand:<DWI> 0 "register_operand" "=A,r") + [(set (match_operand:<DWI> 0 "register_operand" "=r,A") (mult:<DWI> (zero_extend:<DWI> - (match_operand:DWIH 1 "nonimmediate_operand" "%0,d")) + (match_operand:DWIH 1 "nonimmediate_operand" "%d,0")) (zero_extend:<DWI> (match_operand:DWIH 2 "nonimmediate_operand" "rm,rm")))) (clobber (reg:CC FLAGS_REG))] "!(MEM_P (operands[1]) && MEM_P (operands[2]))" "@ - mul{<imodesuffix>}\t%2 - #" - [(set_attr "isa" "*,bmi2") - (set_attr "type" "imul,imulx") - (set_attr "length_immediate" "0,*") + # + mul{<imodesuffix>}\t%2" + [(set_attr "isa" "bmi2,*") + (set_attr "type" "imulx,imul") + (set_attr "length_immediate" "*,0") (set (attr "athlon_decode") - (cond [(eq_attr "alternative" "0") + (cond [(eq_attr "alternative" "1") (if_then_else (eq_attr "cpu" "athlon") (const_string "vector") (const_string "double"))] (const_string "*"))) - (set_attr "amdfam10_decode" "double,*") - (set_attr "bdver1_decode" "direct,*") - (set_attr "prefix" "orig,vex") + (set_attr "amdfam10_decode" "*,double") + (set_attr "bdver1_decode" "*,direct") + (set_attr "prefix" "vex,orig") (set_attr "mode" "<MODE>")]) ;; Convert mul to the mulx pattern to avoid flags dependency. |