https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117657
Bug ID: 117657
Summary: [15 Regression][gcn] ICE during in-tree newlib build:
error: unrecognizable insn
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: build, ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: burnus at gcc dot gnu.org
CC: ams at gcc dot gnu.org
Target Milestone: ---
Target: gcn
Created attachment 59620
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59620&action=edit
C testcase, compile with gcn cc1 and -O2 (-march does not matter)
Build fails as follows.
Original failing file is 'newlib/libc/string/strcasestr.c '
Reduced testcase attached, compile with:
./gcc/cc1 -fpreprocessed -march=gfx900 -O2 input3.i
* * *
<simdclone> {heap 1720k} two_way_long_needleinput3.i: In function
‘two_way_long_needle’:
input3.i:19:1: error: unrecognizable insn:
19 | }
| ^
(insn 88 87 89 15 (set (reg:V64QI 696 [ vect_patt_45.10 ])
(vec_merge:V64QI (unspec:V64QI [
(plus:V64DI (reg:V64DI 750)
(vec_duplicate:V64DI (const_int 0 [0])))
(const_int 0 [0])
(unspec:V64QI [
(const_int 0 [0])
] UNSPEC_VECTOR)
(mem:BLK (scratch) [0 A8])
] UNSPEC_GATHER)
(reg:V64QI 696 [ vect_patt_45.10 ])
(reg:DI 689 [ loop_mask_50 ]))) -1
(nil))
during RTL pass: vregs
input3.i:19:1: internal compiler error: in extract_insn, at recog.cc:2882
0x208e645 internal_error(char const*, ...)
/net/carlos/srv/data/tburnus/repos/gcc/gcc/diagnostic-global-context.cc:518
0x98795c fancy_abort(char const*, int, char const*)
/net/carlos/srv/data/tburnus/repos/gcc/gcc/diagnostic.cc:1696
0x829b2b _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/net/carlos/srv/data/tburnus/repos/gcc/gcc/rtl-error.cc:109
0x829b4d _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/net/carlos/srv/data/tburnus/repos/gcc/gcc/rtl-error.cc:117
0x8285e6 extract_insn(rtx_insn*)