[Bug target/69644] ICE with -O on __sync_bool_compare_and_swap with short in extract_insn, at recog.c:2286
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69644 --- Comment #6 from Jakub Jelinek --- Author: jakub Date: Thu Feb 4 13:59:27 2016 New Revision: 233139 URL: https://gcc.gnu.org/viewcvs?rev=233139=gcc=rev Log: Backported from mainline 2016-02-03 Jakub JelinekPR target/69644 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Force oldval into register if it does not satisfy reg_or_short_operand predicate. Fix up formatting. * gcc.dg/pr69644.c: New test. Added: branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr69644.c Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.c branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
[Bug target/69644] ICE with -O on __sync_bool_compare_and_swap with short in extract_insn, at recog.c:2286
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69644 --- Comment #5 from Jakub Jelinek --- Author: jakub Date: Thu Feb 4 13:58:21 2016 New Revision: 233138 URL: https://gcc.gnu.org/viewcvs?rev=233138=gcc=rev Log: Backported from mainline 2016-02-03 Jakub JelinekPR target/69644 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Force oldval into register if it does not satisfy reg_or_short_operand predicate. Fix up formatting. * gcc.dg/pr69644.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.dg/pr69644.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/config/rs6000/rs6000.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug target/69644] ICE with -O on __sync_bool_compare_and_swap with short in extract_insn, at recog.c:2286
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69644 --- Comment #3 from Jakub Jelinek --- Author: jakub Date: Wed Feb 3 22:38:56 2016 New Revision: 233113 URL: https://gcc.gnu.org/viewcvs?rev=233113=gcc=rev Log: PR target/69644 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Force oldval into register if it does not satisfy reg_or_short_operand predicate. Fix up formatting. * gcc.dg/pr69644.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr69644.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.c trunk/gcc/testsuite/ChangeLog
[Bug target/69644] ICE with -O on __sync_bool_compare_and_swap with short in extract_insn, at recog.c:2286
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69644 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #4 from Jakub Jelinek --- Fixed.
[Bug target/69644] ICE with -O on __sync_bool_compare_and_swap with short in extract_insn, at recog.c:2286
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69644 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- Created attachment 37562 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37562=edit gcc6-pr69644.patch Untested fix. It ICEs on powerpc64 big endian too, you just need -mcpu=power8 to trigger it.
[Bug target/69644] ICE with -O on __sync_bool_compare_and_swap with short in extract_insn, at recog.c:2286
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69644 Martin Sebor changed: What|Removed |Added Target||powerpc64le-*-linux-* Last reconfirmed||2016-2-2 Known to fail||5.3.0, 6.0 --- Comment #1 from Martin Sebor --- This affects powerpc64le but I couldn't reproduce it on big-endian powerpc64.