re PR target/70319 (FAIL: gcc.dg/sso/q2.c -O1 -fno-inline execution test)
authorJohn David Anglin <danglin@gcc.gnu.org>
Fri, 25 Mar 2016 00:59:02 +0000 (00:59 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Fri, 25 Mar 2016 00:59:02 +0000 (00:59 +0000)
PR target/70319
* config/pa/pa.md (bswapdi2): Use a scratch register.

From-SVN: r234475

gcc/ChangeLog
gcc/config/pa/pa.md

index 4a87cda4acc499f6ea5199066426eff4056beff9..9c2da5fad9b58d972783fa0a49b024ebdeccdbae 100644 (file)
@@ -1,3 +1,8 @@
+2016-03-24  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR target/70319
+       * config/pa/pa.md (bswapdi2): Use a scratch register.
+
 2016-03-24  Richard Henderson  <rth@redhat.com>
 
         PR middle-end/69845
index 2587c054648112417f23299d17a26c66dee2f75f..75100d2d69f315b22a90b816745b25a461cbd188 100644 (file)
 
 (define_insn "bswapdi2"
   [(set (match_operand:DI 0 "register_operand" "=&r")
-       (bswap:DI (match_operand:DI 1 "register_operand" "+r")))]
+       (bswap:DI (match_operand:DI 1 "register_operand" "r")))
+   (clobber (match_scratch:DI 2 "=r"))]
   "TARGET_64BIT"
-  "permh,3210 %1,%1\;hshl %1,8,%0\;hshr,u %1,8,%1\;or %0,%1,%0"
+  "permh,3210 %1,%2\;hshl %2,8,%0\;hshr,u %2,8,%2\;or %0,%2,%0"
   [(set_attr "type" "multi")
    (set_attr "length" "16")])