Bug ID: 90024
           Summary: [7/8/9 Regression] ICE on AArch32 NEON mov with TImode
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, patch
          Severity: normal
          Priority: P3
         Component: target
          Assignee: matmal01 at gcc dot
          Reporter: matmal01 at gcc dot
  Target Milestone: ---

Created attachment 46111
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
during RTL pass: final
test.c: In function 'e':
test.c:10:1: internal compiler error: in output_950, at config/arm/
   10 | }
      | ^
0x1352bfb output_950
0x8aafbd get_insn_template(int, rtx_insn*)
    .... <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

Reply via email to