https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94248
Bug ID: 94248 Summary: [amdgcn] Doesn't build with RTL checking Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-checking Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org CC: ams at gcc dot gnu.org, jules at gcc dot gnu.org Target Milestone: --- Target: amdgcn Building (for offloading) a '--target=amdgcn-amdhsa' GCC with '--enable-checking=yes,extra,rtl' fails: during RTL pass: split2 [...]/source-gcc/libgcc/libgcc2.c: In function '__absvdi2': [...]/source-gcc/libgcc/libgcc2.c:271:1: internal compiler error: RTL check: expected code 'reg', have 'const_int' in rhs_regno, at rtl.h:1923 271 | } | ^ 0x565847 ??? [...]/source-gcc/gcc/rtl.c:881 0x59a8a4 ??? [...]/source-gcc/gcc/rtl.h:1923 0x12e3a5c ??? [...]/source-gcc/gcc/config/gcn/gcn.md:631 [...] Makefile:501: recipe for target '_absvdi2.o' failed make[4]: *** [_absvdi2.o] Error 1 make[4]: Leaving directory '[...]/build-gcc-offload-amdgcn-amdhsa/amdgcn-amdhsa/gfx900/libgcc' I haven't made a real attempt to understand the gibberish ;-) in 'gcc/config/gcn/gcn.md', but supposedly that means we're using 'REGNO' on something that's not a 'reg' (but a 'const_int', here) -- wrongly entering/using (this part of?) the 'define_insn_and_split "*mov<mode>_insn"'?