diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2017-03-15 00:25:10 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2017-03-15 00:25:10 +0000 |
commit | 76ca5f401d53091221b634f4e9774bc03dc8ffbe (patch) | |
tree | 629d35bf99cd879092f0cf4af9afb2a0d633d69b | |
parent | 568c347cda340293255ecb72a68fb6828af200a7 (diff) | |
download | gcc-76ca5f401d53091221b634f4e9774bc03dc8ffbe.zip gcc-76ca5f401d53091221b634f4e9774bc03dc8ffbe.tar.gz gcc-76ca5f401d53091221b634f4e9774bc03dc8ffbe.tar.bz2 |
re PR target/79947 (ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570)
[gcc]
2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79947
* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
-mpowerpc-gfxopt.
[gcc/testsuite]
2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79947
* gcc.target/powerpc/pr79947.c: New test.
From-SVN: r246150
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/pr79947.c | 12 |
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 63597cd..77e6f8c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/79947 + * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for + -mpowerpc-gfxopt. + 2017-03-14 Martin Sebor <msebor@redhat.com> PR middle-end/80020 diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 0180e0c..da6fd52 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -752,7 +752,8 @@ extern int rs6000_vector_align[]; && (TARGET_POPCNTB || VECTOR_UNIT_VSX_P (DFmode))) #define TARGET_FRSQRTES (TARGET_HARD_FLOAT && TARGET_POPCNTB \ - && TARGET_FPRS && TARGET_SINGLE_FLOAT) + && TARGET_PPC_GFXOPT && TARGET_FPRS \ + && TARGET_SINGLE_FLOAT) #define TARGET_FRSQRTE (TARGET_HARD_FLOAT && TARGET_FPRS \ && TARGET_DOUBLE_FLOAT \ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 63daa28..f1ba337 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/79947 + * gcc.target/powerpc/pr79947.c: New test. + 2017-03-14 Martin Sebor <msebor@redhat.com> PR middle-end/80020 diff --git a/gcc/testsuite/gcc.target/powerpc/pr79947.c b/gcc/testsuite/gcc.target/powerpc/pr79947.c new file mode 100644 index 0000000..970e8c0 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/pr79947.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-options "-Ofast -mno-powerpc-gfxopt -mcmpb -mno-vsx" } */ + +/* PR 79949: Compiler segmentation fault due to not having conditional move + support for the target if the -mno-powerpc-gfxopt option is used. */ + +float a, b; +void +c () +{ + a = __builtin_sqrtf (b); +} |