[Bug target/90024] New: [7/8/9 Regression] ICE on AArch32 NEON mov with TImode constant.
matmal01 at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 9 10:38:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90024
Bug ID: 90024
Summary: [7/8/9 Regression] ICE on AArch32 NEON mov with TImode
constant.
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code, patch
Severity: normal
Priority: P3
Component: target
Assignee: matmal01 at gcc dot gnu.org
Reporter: matmal01 at gcc dot gnu.org
Target Milestone: ---
Created attachment 46111
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46111&action=edit
Proposed fix
The below code causes an ICE for AArch32 targets with NEON at all optimisation
levels except -O0.
union a {
char b;
long long c;
};
union a d;
int g(int, union a, union a);
void e() {
union a f[2] = {-1L};
g(0, d, f[0]);
}
With the backtrace below.
$ arm-none-eabi-gcc -march=armv8-a -c test.c -O1 -mfloat-abi=hard
-mfpu=neon-fp-armv8
during RTL pass: final
test.c: In function 'e':
test.c:10:1: internal compiler error: in output_950, at config/arm/neon.md:89
10 | }
| ^
0x1352bfb output_950
/tmp/dgboter/bbs/rhev-vm4--rhe6x86_64/buildbot/rhe6x86_64--arm-none-eabi/build/src/gcc/gcc/config/arm/neon.md:89
0x8aafbd get_insn_template(int, rtx_insn*)
/tmp/dgboter/bbs/rhev-vm4--rhe6x86_64/buildbot/rhe6x86_64--arm-none-eabi/build/src/gcc/gcc/final.c:2071
.... <snip> ....
I have a patch to fix the problem, creating a bugzilla report for tracking
purposes (patch added as attachment, the explanation will be added in
comments).
More information about the Gcc-bugs
mailing list