[Bug target/79947] [6/7 Regression] ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79947 --- Comment #5 from Michael Meissner --- Author: meissner Date: Wed Mar 15 00:25:10 2017 New Revision: 246150 URL: https://gcc.gnu.org/viewcvs?rev=246150&root=gcc&view=rev Log: [gcc] 2017-03-14 Michael Meissner PR target/79947 * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for -mpowerpc-gfxopt. [gcc/testsuite] 2017-03-14 Michael Meissner PR target/79947 * gcc.target/powerpc/pr79947.c: New test. Added: trunk/gcc/testsuite/gcc.target/powerpc/pr79947.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.h trunk/gcc/testsuite/ChangeLog
[Bug target/79947] [6/7 Regression] ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79947 --- Comment #4 from Michael Meissner --- Created attachment 40976 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40976&action=edit Proposed patch to fix the problem The tARGET_RSQRTES macro needed a guard to require -mpowerpc-gfxopt.
[Bug target/79947] [6/7 Regression] ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79947 --- Comment #3 from Michael Meissner --- The problem is the -mno-powerpc-gfxopt option disables floating point conditional moves, which is needed to use the floating point reciprocal estimate instructions. The macro TARGET_FRSQRTES did not have a check for GFXOPT.
[Bug target/79947] [6/7 Regression] ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79947 Michael Meissner changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2017-03-14 Assignee|unassigned at gcc dot gnu.org |meissner at gcc dot gnu.org Ever confirmed|0 |1
[Bug target/79947] [6/7 Regression] ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79947 --- Comment #2 from Martin Liška --- There's reduced test-case: /tmp/ppc-ice.c float a, b; void c () { a = __builtin_sqrtf (b); } $ ppc64-linux-gnu-gcc -Ofast -mno-powerpc-gfxopt -mcmpb -c ppc-ice.c --verbose Using built-in specs. COLLECT_GCC=ppc64-linux-gnu-gcc Target: ppc64-linux-gnu Configured with: ./../configure --enable-linker-build-id --prefix=/home/marxin/BIG/buildbot/slave/gcc-master-build-ppc64/../install/gcc-6fe883d64cf228785f3d0a4e24f9138c8958c93b --target=ppc64-linux-gnu --with-as=/usr/bin/powerpc64-suse-linux-as --disable-bootstrap ... /home/marxin/BIG/buildbot/slave/install/gcc-6fe883d64cf228785f3d0a4e24f9138c8958c93b/bin/../lib/gcc/ppc64-linux-gnu/7.0.1/cc1 -quiet -v -iprefix /home/marxin/BIG/buildbot/slave/install/gcc-6fe883d64cf228785f3d0a4e24f9138c8958c93b/bin/../lib64/gcc/ppc64-linux-gnu/7.0.1/ -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=linux -Asystem=unix -Asystem=posix ppc-ice.c -quiet -dumpbase ppc-ice.c -mno-powerpc-gfxopt -mcmpb -auxbase ppc-ice -Ofast -version -o /tmp/ccSq65JO.s Hope you'll reproduce it now.
[Bug target/79947] [6/7 Regression] ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79947 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek --- Can't reproduce, rs6000_emit_swsqrt isn't called in my case.
[Bug target/79947] [6/7 Regression] ICE in rs6000_emit_swsqrt at gcc/config/rs6000/rs6000.c:37570
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79947 Richard Biener changed: What|Removed |Added Priority|P3 |P2 Target Milestone|--- |6.4