PR target/53141
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Apr 2012 21:30:06 +0000 (21:30 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Apr 2012 21:30:06 +0000 (21:30 +0000)
* 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

gcc/ChangeLog
gcc/config/i386/i386.md

index 6005359..a020376 100644 (file)
@@ -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.
        * 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
index 9047a31..ea77c20 100644 (file)
    (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.