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

            Bug ID: 111692
           Summary: ICE in output_constant at varasm:cc:5267 during RTL
                    "final" pass
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fkastl at suse dot cz
                CC: jamborm at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-linux
            Target: x86_64-linux

Running gcc on a test from the testsuite with -Os and -frounding-math:

gcc src/gcc/testsuite/gcc.target/x86_64/abi/avx512f/test_passing_structs.c -Os
-frounding-math

results in an ICE

during RTL pass: final
../src/gcc/testsuite/gcc.target/x86_64/abi/avx512f/test_passing_structs.c: In
function ‘avx512f_test’:
../src/gcc/testsuite/gcc.target/x86_64/abi/avx512f/test_passing_structs.c:65:1:
internal compiler error: in output_constant, at varasm.cc:5267
   65 | }
      | ^
0x867e58 output_constant
        ../../src/gcc/varasm.cc:5267
0x1317655 output_constructor_regular_field
        ../../src/gcc/varasm.cc:5610
0x1317655 output_constructor
        ../../src/gcc/varasm.cc:5876
0x1317655 output_constructor_regular_field
        ../../src/gcc/varasm.cc:5610
0x1317655 output_constructor
        ../../src/gcc/varasm.cc:5876
0x13190e5 assemble_constant_contents
        ../../src/gcc/varasm.cc:3621
0x131a3f8 output_constant_def_contents
        ../../src/gcc/varasm.cc:3666
0x131a67c mark_constants_in_pattern
        ../../src/gcc/varasm.cc:4241
0x131ef07 mark_constants
        ../../src/gcc/varasm.cc:4273
0x131ef07 mark_constant_pool
        ../../src/gcc/varasm.cc:4289
0x131ef07 output_constant_pool
        ../../src/gcc/varasm.cc:4504
0x131ef07 assemble_start_function(tree_node*, char const*)
        ../../src/gcc/varasm.cc:1876
0xbfdaa1 rest_of_handle_final
        ../../src/gcc/final.cc:4236
0xbfdaa1 execute
        ../../src/gcc/final.cc:4318

This assert fails:

5265  
5266     case REAL_TYPE:
5267       gcc_assert (size == thissize);
5268       if (TREE_CODE (exp) != REAL_CST)
5269         error ("initializer for floating value is not a floating
constant");

Reply via email to