aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2016-03-25 00:59:02 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2016-03-25 00:59:02 +0000
commit836cf7b2335ab698ebf3683da2985d103f631c21 (patch)
tree3b90d85c95fc306f5381e5ec29422441a73f4529
parent09398108f259ff3debbe3e8946698d8ca0e209a6 (diff)
downloadgcc-836cf7b2335ab698ebf3683da2985d103f631c21.zip
gcc-836cf7b2335ab698ebf3683da2985d103f631c21.tar.gz
gcc-836cf7b2335ab698ebf3683da2985d103f631c21.tar.bz2
re PR target/70319 (FAIL: gcc.dg/sso/q2.c -O1 -fno-inline execution test)
PR target/70319 * config/pa/pa.md (bswapdi2): Use a scratch register. From-SVN: r234475
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/pa.md5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4a87cda..9c2da5f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 2587c05..75100d2 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -1229,9 +1229,10 @@
(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")])