public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/111692] New: ICE in output_constant at varasm:cc:5267 during RTL "final" pass
@ 2023-10-04 12:05 fkastl at suse dot cz
  2023-10-04 12:50 ` [Bug target/111692] " rguenth at gcc dot gnu.org
  2024-04-16 11:21 ` [Bug middle-end/111692] " pheeck at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: fkastl at suse dot cz @ 2023-10-04 12:05 UTC (permalink / raw)
  To: gcc-bugs

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");

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug target/111692] ICE in output_constant at varasm:cc:5267 during RTL "final" pass
  2023-10-04 12:05 [Bug other/111692] New: ICE in output_constant at varasm:cc:5267 during RTL "final" pass fkastl at suse dot cz
@ 2023-10-04 12:50 ` rguenth at gcc dot gnu.org
  2024-04-16 11:21 ` [Bug middle-end/111692] " pheeck at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-10-04 12:50 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|other                       |target
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2023-10-04

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  We end up with

{(float) 4.839399999999999835154085303656756877899169921875e+1, (float)
3.92999999999999971578290569595992565155029296875e+1, (float)
-3.978999999999999772626324556767940521240234375e+2, (float)
3.48490000000000009094947017729282379150390625e+3, (float)
-8.3940000000000001278976924368180334568023681640625e+0, (float)
-9.32999999999999971578290569595992565155029296875e+1, (float)
7.9000000000000003552713678800500929355621337890625e+0, (float)
8.493999999999999772626324556767940521240234375e+1, (float)
4.839410000000000167119651450775563716888427734375e+1, (float)
3.931000000000000227373675443232059478759765625e+1, (float)
-3.9791000000000002501110429875552654266357421875e+2, (float)
3.48490999999999985448084771633148193359375e+3, (float)
-8.3940999999999998948396751075051724910736083984375e+0, (float)
-9.331000000000000227373675443232059478759765625e+1, (float)
7.910000000000000142108547152020037174224853515625e+0, (float)
8.4941000000000002501110429875552654266357421875e+1}

because the non-constant CTOR is classified valid by categorize_ctor_elements
during gimplification and initializer_constant_valid_p whose handling
of CASE_CONVERT wasn't updated with some recent changes to output_constant
(ideally both would be merged with a flag indicating analysis vs. actual
output).

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug middle-end/111692] ICE in output_constant at varasm:cc:5267 during RTL "final" pass
  2023-10-04 12:05 [Bug other/111692] New: ICE in output_constant at varasm:cc:5267 during RTL "final" pass fkastl at suse dot cz
  2023-10-04 12:50 ` [Bug target/111692] " rguenth at gcc dot gnu.org
@ 2024-04-16 11:21 ` pheeck at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: pheeck at gcc dot gnu.org @ 2024-04-16 11:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Filip Kastl <pheeck at gcc dot gnu.org> ---
The same ICE happens with

gcc gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_structs.c
--param=dse-max-object-size=2147483647

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-04-16 11:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-04 12:05 [Bug other/111692] New: ICE in output_constant at varasm:cc:5267 during RTL "final" pass fkastl at suse dot cz
2023-10-04 12:50 ` [Bug target/111692] " rguenth at gcc dot gnu.org
2024-04-16 11:21 ` [Bug middle-end/111692] " pheeck at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).