summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-30 21:30:06 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-30 21:30:06 +0000
commitb3987b8f4d71ebe80092f3e0d50eaac1fedd5141 (patch)
treeac81b0674e560c6192861aa4e621000978e96b72
parentcf951b1adfb70d786d542c0bdf28a72557121c47 (diff)
downloadgcc-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/ChangeLog17
-rw-r--r--gcc/config/i386/i386.md22
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.