aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-02-26 23:35:00 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-02-26 23:35:00 +0100
commite6fb01b00cd11497df8f5733d205ae6bc2c52e69 (patch)
treeb60b628b68cd6acdafe170d31c179166b5327475
parente3e0cf6446e95568226124fc77efd864cac0e26c (diff)
downloadgcc-e6fb01b00cd11497df8f5733d205ae6bc2c52e69.zip
gcc-e6fb01b00cd11497df8f5733d205ae6bc2c52e69.tar.gz
gcc-e6fb01b00cd11497df8f5733d205ae6bc2c52e69.tar.bz2
re PR target/69969 (Function attribute no-vsx)
PR target/69969 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't complain about -mallow-movmisalign without -mvsx if TARGET_ALLOW_MOVMISALIGN was not set explicitly. * gcc.target/powerpc/pr69969.c: New test. From-SVN: r233767
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr69969.c7
4 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9c74fe2..471fea5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2016-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/69969
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
+ complain about -mallow-movmisalign without -mvsx if
+ TARGET_ALLOW_MOVMISALIGN was not set explicitly.
+
2016-02-26 Joel Sherrill <joel@rtems.org>
* config.gcc: Add x86_64-*-rtems*.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index c7bad3f..5b03f9e 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -4207,7 +4207,8 @@ rs6000_option_override_internal (bool global_init_p)
else if (TARGET_ALLOW_MOVMISALIGN && !TARGET_VSX)
{
- if (TARGET_ALLOW_MOVMISALIGN > 0)
+ if (TARGET_ALLOW_MOVMISALIGN > 0
+ && global_options_set.x_TARGET_ALLOW_MOVMISALIGN)
error ("-mallow-movmisalign requires -mvsx");
TARGET_ALLOW_MOVMISALIGN = 0;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6d72390..65ee228 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/69969
+ * gcc.target/powerpc/pr69969.c: New test.
+
2016-02-26 Martin Sebor <msebor@redhat.com>
PR c++/15766
diff --git a/gcc/testsuite/gcc.target/powerpc/pr69969.c b/gcc/testsuite/gcc.target/powerpc/pr69969.c
new file mode 100644
index 0000000..1ca2c75
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/pr69969.c
@@ -0,0 +1,7 @@
+/* PR target/69969 */
+/* { dg-do compile } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
+/* { dg-options "-mcpu=power8" } */
+
+int bar (int x) { return x; }
+__attribute__((__target__("no-vsx"))) int foo (int x) { return x; } /* { dg-bogus "-mallow-movmisalign requires -mvsx" } */