[gcn] Fix build with RTL checking [PR94248]
authorJakub Jelinek <jakub@redhat.com>
Sat, 21 Mar 2020 14:39:56 +0000 (14:39 +0000)
committerThomas Schwinge <thomas@codesourcery.com>
Wed, 29 Apr 2020 07:31:02 +0000 (09:31 +0200)
commitccf93cd0b21e9c0ff0a1d4ace59899fca25ac157
treecad5d4911f7242a46226abde83d37b1ee826a0f4
parentafa3d80e86fb538ce7f5f1485fa774c11fdaf0f6
[gcn] Fix build with RTL checking [PR94248]

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'

gcc/
PR target/94248
* config/gcn/gcn.md (*mov<mode>_insn): Use
'reg_overlap_mentioned_p' to check for overlap.

Tested-by: Thomas Schwinge <thomas@codesourcery.com>
gcc/ChangeLog
gcc/config/gcn/gcn.md