public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/113193] New: [SH] ICE in gen_reg_rtx, at emit-rtl.cc:1177 with -mfcsa -funsafe-math-operations
@ 2024-01-02  1:52 zack+gcc at buhman dot org
  2024-01-05  5:39 ` [Bug target/113193] " olegendo at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: zack+gcc at buhman dot org @ 2024-01-02  1:52 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113193
           Summary: [SH] ICE in gen_reg_rtx, at emit-rtl.cc:1177 with
                    -mfcsa -funsafe-math-operations
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zack+gcc at buhman dot org
  Target Milestone: ---
            Target: sh*-*-*

Created attachment 56971
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56971&action=edit
-freport-bug

On the sh*-*-* target it is possible to generate an ICE at all optimization
levels above -O0 with -mfcsa -funsafe-math-optimizations , for certain
sequences of valid code that contain __builtin_cosf and/or __builtin_sinf.

The attached -freport-bug output is one (500-line) example that only appears to
trigger this ICE at -O3, but other (perhaps more convoluted) examples are
possible.

This affects all GCC versions between at least 9.5.0 and the current 14.0
master, inclusive. I did not test GCC versions older than 9.5.0.

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

* [Bug target/113193] [SH] ICE in gen_reg_rtx, at emit-rtl.cc:1177 with -mfcsa -funsafe-math-operations
  2024-01-02  1:52 [Bug target/113193] New: [SH] ICE in gen_reg_rtx, at emit-rtl.cc:1177 with -mfcsa -funsafe-math-operations zack+gcc at buhman dot org
@ 2024-01-05  5:39 ` olegendo at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: olegendo at gcc dot gnu.org @ 2024-01-05  5:39 UTC (permalink / raw)
  To: gcc-bugs

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

Oleg Endo <olegendo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |13.2.1
            Version|14.0                        |13.0
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |ra
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-01-05

--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> ---
I was able to reproduce the bug with the following compiler options on 13
branch:

-x c++ -std=c++17 -O3 -m4-single -ml -mfsca -mfsrra -funsafe-math-optimizations


combined.cpp: In function 'void transform(const model_transform&, const vec3*,
int, float*)':
combined.cpp:574:1: internal compiler error: in gen_reg_rtx, at
emit-rtl.cc:1171
0x61da53 gen_reg_rtx(machine_mode)
        ../../gcc/gcc/emit-rtl.cc:1171
0x9e8cc1 copy_to_reg(rtx_def*)
        ../../gcc/gcc/explow.cc:622
0x9d7727 operand_subword_force(rtx_def*, poly_int<1u, unsigned long>,
machine_mode)
        ../../gcc/gcc/emit-rtl.cc:1812
0xa0eddc emit_move_multi_word
        ../../gcc/gcc/expr.cc:4129
0xa12bdb gen_move_insn(rtx_def*, rtx_def*)
        ../../gcc/gcc/expr.cc:4359
0xccfcda gen_reload
        ../../gcc/gcc/reload1.cc:8614
0xcd8956 emit_output_reload_insns
        ../../gcc/gcc/reload1.cc:7667
0xcd8956 do_output_reload
        ../../gcc/gcc/reload1.cc:7939
0xcd8956 emit_reload_insns
        ../../gcc/gcc/reload1.cc:8003
0xcd8956 reload_as_needed
        ../../gcc/gcc/reload1.cc:4543
0xcdc460 reload(rtx_insn*, int)
        ../../gcc/gcc/reload1.cc:1047
0xb78004 do_reload
        ../../gcc/gcc/ira.cc:5975
0xb78004 execute
        ../../gcc/gcc/ira.cc:6149


With added -mlra:

ombined.cpp: In function 'void transform(const model_transform&, const vec3*,
int, float*)':
combined.cpp:574:1: internal compiler error: maximum number of generated reload
insns per insn achieved (90)
0xbd0699 lra_constraints(bool)
        ../../gcc/gcc/lra-constraints.cc:5258
0xbbc182 lra(_IO_FILE*)
        ../../gcc/gcc/lra.cc:2375
0xb77999 do_reload
        ../../gcc/gcc/ira.cc:5963
0xb77999 execute
        ../../gcc/gcc/ira.cc:6149

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

end of thread, other threads:[~2024-01-05  5:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-02  1:52 [Bug target/113193] New: [SH] ICE in gen_reg_rtx, at emit-rtl.cc:1177 with -mfcsa -funsafe-math-operations zack+gcc at buhman dot org
2024-01-05  5:39 ` [Bug target/113193] " olegendo 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).