Commit 24b2a15a by Uros Bizjak Committed by Uros Bizjak

re PR target/53141 (gcc.target/i386/bmi2-mulx32-[12]a.c)

	PR target/53141
	* config/i386/i386.md (*umul<mode><dwi>3_1): Switch places of
	constraints 0 and 1.

From-SVN: r187000
parent 65d630d4
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> 012-04-30 Jan Hubicka <jh@suse.cz>
* cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.c * cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.c
...@@ -35,8 +41,7 @@ ...@@ -35,8 +41,7 @@
(varpool_remove_unreferenced_decls): Remove. (varpool_remove_unreferenced_decls): Remove.
* ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups. * ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups.
(preserve_function_body_p): Make static. (preserve_function_body_p): Make static.
* toplev.c (compile_file): Update comments; * toplev.c (compile_file): Update comments; update.
update.
* cgraphunit.c: Update comments. * cgraphunit.c: Update comments.
(cgraph_expand_all_functions): Rename to ... (cgraph_expand_all_functions): Rename to ...
(expand_all_functions): ... this one; update. (expand_all_functions): ... this one; update.
...@@ -70,7 +75,8 @@ ...@@ -70,7 +75,8 @@
(cp_write_global_declarations): Use finalize_compilation_unit. (cp_write_global_declarations): Use finalize_compilation_unit.
* parser.c (cp_parser_asm_definition): Use add_asm_node. * parser.c (cp_parser_asm_definition): Use add_asm_node.
* lto-streamer-in.c (lto_input_toplevel_asms): 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. * langhooks.c (write_global_declarations): Update.
* ipa.c (cgraph_externally_visible_p): Update. * ipa.c (cgraph_externally_visible_p): Update.
(dissolve_same_comdat_group_list): Remove. (dissolve_same_comdat_group_list): Remove.
...@@ -84,7 +90,8 @@ ...@@ -84,7 +90,8 @@
(symtab_make_decl_local): New. (symtab_make_decl_local): New.
* passes.c (register_pass): Update comments. * passes.c (register_pass): Update comments.
* c-parser.c (c_parser_asm_definition): Update. * 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_remove_unreferenced_decls): Make static.
(varpool_assemble_pending_decls): Rename to ... (varpool_assemble_pending_decls): Rename to ...
(varpool_output_variables): ... this one; call (varpool_output_variables): ... this one; call
......
...@@ -6814,29 +6814,29 @@ ...@@ -6814,29 +6814,29 @@
(set_attr "mode" "SI")]) (set_attr "mode" "SI")])
(define_insn "*umul<mode><dwi>3_1" (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> (mult:<DWI>
(zero_extend:<DWI> (zero_extend:<DWI>
(match_operand:DWIH 1 "nonimmediate_operand" "%0,d")) (match_operand:DWIH 1 "nonimmediate_operand" "%d,0"))
(zero_extend:<DWI> (zero_extend:<DWI>
(match_operand:DWIH 2 "nonimmediate_operand" "rm,rm")))) (match_operand:DWIH 2 "nonimmediate_operand" "rm,rm"))))
(clobber (reg:CC FLAGS_REG))] (clobber (reg:CC FLAGS_REG))]
"!(MEM_P (operands[1]) && MEM_P (operands[2]))" "!(MEM_P (operands[1]) && MEM_P (operands[2]))"
"@ "@
mul{<imodesuffix>}\t%2 #
#" mul{<imodesuffix>}\t%2"
[(set_attr "isa" "*,bmi2") [(set_attr "isa" "bmi2,*")
(set_attr "type" "imul,imulx") (set_attr "type" "imulx,imul")
(set_attr "length_immediate" "0,*") (set_attr "length_immediate" "*,0")
(set (attr "athlon_decode") (set (attr "athlon_decode")
(cond [(eq_attr "alternative" "0") (cond [(eq_attr "alternative" "1")
(if_then_else (eq_attr "cpu" "athlon") (if_then_else (eq_attr "cpu" "athlon")
(const_string "vector") (const_string "vector")
(const_string "double"))] (const_string "double"))]
(const_string "*"))) (const_string "*")))
(set_attr "amdfam10_decode" "double,*") (set_attr "amdfam10_decode" "*,double")
(set_attr "bdver1_decode" "direct,*") (set_attr "bdver1_decode" "*,direct")
(set_attr "prefix" "orig,vex") (set_attr "prefix" "vex,orig")
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
;; Convert mul to the mulx pattern to avoid flags dependency. ;; Convert mul to the mulx pattern to avoid flags dependency.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment