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"'?

Reply via email to