From e6fb01b00cd11497df8f5733d205ae6bc2c52e69 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 26 Feb 2016 23:35:00 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/rs6000/rs6000.c | 3 ++- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.target/powerpc/pr69969.c | 7 +++++++ 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/powerpc/pr69969.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9c74fe25e51a..471fea533e99 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-02-26 Jakub Jelinek + + 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 * config.gcc: Add x86_64-*-rtems*. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index c7bad3f583a2..5b03f9e7d37f 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 6d72390e38a2..65ee2281c29d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-02-26 Jakub Jelinek + + PR target/69969 + * gcc.target/powerpc/pr69969.c: New test. + 2016-02-26 Martin Sebor 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 000000000000..1ca2c7581ef3 --- /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" } */ -- 2.47.2