https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100305

            Bug ID: 100305
           Summary: ICE in output_operand_lossage with -march=armv8.2-a
                    -O3
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gilles.gouaillardet at gmail dot com
  Target Milestone: ---

Created attachment 50696
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50696&action=edit
a (compressed) preprocessed reproducer

This is a new bug with the g++ compiler I found when building GROMACS on
aarch64 with -O3.

-O2 works fine, and so does x86_64. I was only able to reproduce the issue on
aarch64 (initially with SVE, but same outcome without it)

The compiler crashed with the following stack trace:

$ ~/local/gcc-latest/bin/g++ -c -O3 -march=armv8.2-a readpull.i 
during RTL pass: final
readpull.cpp: In function 'std::vector<std::__cxx11::basic_string<char> >
read_pullparams(std::vector<t_inpfile>*, pull_params_t*, warninp_t)':
readpull.cpp:96:1: internal compiler error: output_operand: invalid expression
as operand
   96 | }
      | ^
0xc66ab7 output_operand_lossage(char const*, ...)
        ../../../src/gcc-latest/gcc/final.c:3627
0xc67283 output_addr_const(_IO_FILE*, rtx_def*)
        ../../../src/gcc-latest/gcc/final.c:4184
0xc66d0f output_address(machine_mode, rtx_def*)
        ../../../src/gcc-latest/gcc/final.c:4085
0xc66c4b output_operand(rtx_def*, int)
        ../../../src/gcc-latest/gcc/final.c:4069
0xc6769f output_asm_insn(char const*, rtx_def**)
        ../../../src/gcc-latest/gcc/final.c:3981
0xc6b84f output_asm_insn(char const*, rtx_def**)
        ../../../src/gcc-latest/gcc/final.c:3858
0xc6b84f final_scan_insn_1
        ../../../src/gcc-latest/gcc/final.c:3125
0xc6be43 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        ../../../src/gcc-latest/gcc/final.c:3171
0xc6bf63 final_1
        ../../../src/gcc-latest/gcc/final.c:2022
0xc6cc0b rest_of_handle_final
        ../../../src/gcc-latest/gcc/final.c:4676
0xc6cc0b execute
        ../../../src/gcc-latest/gcc/final.c:4754
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to