2014-06-22 Marc Glisse <marc.glisse@inria.fr>
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 22 Jun 2014 09:16:35 +0000 (09:16 +0000)
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 22 Jun 2014 09:16:35 +0000 (09:16 +0000)
PR target/61503
* config/i386/i386.md (x86_64_shrd, x86_shrd,
ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211873 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 27e294a..5ac7e78 100644 (file)
@@ -1,3 +1,9 @@
+2014-06-22  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR target/61503
+       * config/i386/i386.md (x86_64_shrd, x86_shrd,
+       ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
+
 2014-06-21  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
 
        * config/nios2/nios2.c: Include "builtins.h".
index 7cb8964..44c7a0a 100644 (file)
 
 (define_insn "x86_64_shrd"
   [(set (match_operand:DI 0 "nonimmediate_operand" "+r*m")
-        (ior:DI (ashiftrt:DI (match_dup 0)
+        (ior:DI (lshiftrt:DI (match_dup 0)
                  (match_operand:QI 2 "nonmemory_operand" "Jc"))
                (ashift:DI (match_operand:DI 1 "register_operand" "r")
                  (minus:QI (const_int 64) (match_dup 2)))))
 
 (define_insn "x86_shrd"
   [(set (match_operand:SI 0 "nonimmediate_operand" "+r*m")
-        (ior:SI (ashiftrt:SI (match_dup 0)
+        (ior:SI (lshiftrt:SI (match_dup 0)
                  (match_operand:QI 2 "nonmemory_operand" "Ic"))
                (ashift:SI (match_operand:SI 1 "register_operand" "r")
                  (minus:QI (const_int 32) (match_dup 2)))))
  [(set (match_dup 3) (match_dup 4))
   (parallel
    [(set (match_dup 4)
-        (ior:DWIH (ashiftrt:DWIH (match_dup 4) (match_dup 2))
+        (ior:DWIH (lshiftrt:DWIH (match_dup 4) (match_dup 2))
                   (ashift:DWIH (match_dup 5)
                                (minus:QI (match_dup 6) (match_dup 2)))))
     (clobber (reg:CC FLAGS_REG))])
   (parallel
    [(set (match_dup 5)
-        (ior:DWIH (ashiftrt:DWIH (match_dup 5) (match_dup 2))
+        (ior:DWIH (lshiftrt:DWIH (match_dup 5) (match_dup 2))
                   (ashift:DWIH (match_dup 3)
                                (minus:QI (match_dup 6) (match_dup 2)))))
     (clobber (reg:CC FLAGS_REG))])]