aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-09-10 09:18:10 +0930
committerAlan Modra <amodra@gcc.gnu.org>2013-09-10 09:18:10 +0930
commit33115a2c7f3685cd49eb5080911e3dabd0b43d1e (patch)
tree6f73cbf647cc4869997ab23f954d7bad2a21e0b4 /gcc
parentb6872a13898d89eb0d52a2d306ae754d677b7819 (diff)
downloadgcc-33115a2c7f3685cd49eb5080911e3dabd0b43d1e.zip
gcc-33115a2c7f3685cd49eb5080911e3dabd0b43d1e.tar.gz
gcc-33115a2c7f3685cd49eb5080911e3dabd0b43d1e.tar.bz2
re PR target/58330 (powerpc64 atomic store split in two)
PR target/58330 gcc/ * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems. gcc/testsuite/ * gcc.target/powerpc/pr58330.c: New. From-SVN: r202418
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.md4
-rw-r--r--gcc/testsuite/ChangeLog4
3 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 42d1dc7..56de596 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2013-09-10 Alan Modra <amodra@gmail.com>
+ PR target/58330
+ * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
+
+2013-09-10 Alan Modra <amodra@gmail.com>
+
* config/rs6000/predicates.md (add_cint_operand): New.
(reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
* config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 0757d4d..9f749f9 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -2376,7 +2376,9 @@
(clobber (match_scratch:DI 3 "=&r,&r,&r"))
(clobber (match_scratch:DI 4 "=&r,X,&r"))]
"TARGET_POWERPC64 && !TARGET_LDBRX
- && (REG_P (operands[0]) || REG_P (operands[1]))"
+ && (REG_P (operands[0]) || REG_P (operands[1]))
+ && !(MEM_P (operands[0]) && MEM_VOLATILE_P (operands[0]))
+ && !(MEM_P (operands[1]) && MEM_VOLATILE_P (operands[1]))"
"#"
[(set_attr "length" "16,12,36")])
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 61d1469..ecfd091 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2013-09-10 Alan Modra <amodra@gmail.com>
+ * gcc.target/powerpc/pr58330.c: New.
+
+2013-09-10 Alan Modra <amodra@gmail.com>
+
* gcc.target/powerpc/medium_offset.c: New.
2013-09-09 Jakub Jelinek <jakub@redhat.com>