[Bug target/94279] New: [amdgcn] internal compiler error: RTL check: expected code 'const_int', have 'reg' in rtx_to_poly_int64, at rtl.h:2379
tschwinge at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Mar 23 13:51:09 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94279
Bug ID: 94279
Summary: [amdgcn] internal compiler error: RTL check: expected
code 'const_int', have 'reg' in rtx_to_poly_int64, at
rtl.h:2379
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: openmp
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, jakub at gcc dot gnu.org, jules at gcc dot gnu.org
Target Milestone: ---
Target: amdgcn
This is with GCC commit b73f69020f08208d2d969fcf8879bd294a6e3596 sources, with
commit b12fb08bd95d7dbb9fd6af120ee0b4c658a3deb1, and commit
65858e1869be4a54f8e0e2073a4aa99b15471273 cherry-picked, and PR94248 fixed with
Jakub's 'reg_overlap_mentioned_p' patch.
Relative to a GCC nvptx offloading configuration, when adding amdgcn offloading
(with '--enable-checking=yes,extra,rtl'), I see the following regression:
[-PASS:-]{+FAIL: libgomp.c/../libgomp.c-c++-common/for-5.c (internal
compiler error)+}
{+FAIL:+} libgomp.c/../libgomp.c-c++-common/for-5.c (test for excess
errors)
[-PASS:-]{+UNRESOLVED:+} libgomp.c/../libgomp.c-c++-common/for-5.c
[-execution test-]{+compilation failed to produce executable+}
during RTL pass: split2
[...]/source-gcc/libgomp/testsuite/libgomp.c/../libgomp.c-c++-common/for-2.h:69:9:
internal compiler error: RTL check: expected code 'const_int', have 'reg' in
rtx_to_poly_int64, at rtl.h:2379
0x54e115 ???
[...]/source-gcc/gcc/rtl.c:881
0xb0a5c4 ???
[...]/source-gcc/gcc/rtl.h:2379
0xabf9ad ???
[...]/source-gcc/gcc/recog.c:2974
0xabfb48 ???
[...]/source-gcc/gcc/recog.c:4026
[...]
mkoffload: fatal error:
[...]/build-gcc/./gcc/x86_64-pc-linux-gnu-accel-amdgcn-amdhsa-gcc returned 1
exit status
compilation terminated.
[...]
Same for 'libgomp.c++' variant.
Supposedly same problem for:
[-PASS:-]{+FAIL: libgomp.c/../libgomp.c-c++-common/pr66199-2.c (internal
compiler error)+}
{+FAIL:+} libgomp.c/../libgomp.c-c++-common/pr66199-2.c (test for excess
errors)
[-PASS:-]{+UNRESOLVED:+} libgomp.c/../libgomp.c-c++-common/pr66199-2.c
[-execution test-]{+compilation failed to produce executable+}
Same for 'libgomp.c++' variant.
[-PASS:-]{+FAIL: libgomp.c/../libgomp.c-c++-common/pr66199-5.c (internal
compiler error)+}
{+FAIL:+} libgomp.c/../libgomp.c-c++-common/pr66199-5.c (test for excess
errors)
[-PASS:-]{+UNRESOLVED:+} libgomp.c/../libgomp.c-c++-common/pr66199-5.c
[-execution test-]{+compilation failed to produce executable+}
Same for 'libgomp.c++' variant.
[-PASS:-]{+FAIL: libgomp.c/../libgomp.c-c++-common/pr66199-7.c (internal
compiler error)+}
{+FAIL:+} libgomp.c/../libgomp.c-c++-common/pr66199-7.c (test for excess
errors)
[-PASS:-]{+UNRESOLVED:+} libgomp.c/../libgomp.c-c++-common/pr66199-7.c
[-execution test-]{+compilation failed to produce executable+}
Same for 'libgomp.c++' variant.
[-PASS:-]{+FAIL: libgomp.c/../libgomp.c-c++-common/pr66199-8.c (internal
compiler error)+}
{+FAIL:+} libgomp.c/../libgomp.c-c++-common/pr66199-8.c (test for excess
errors)
[-PASS:-]{+UNRESOLVED:+} libgomp.c/../libgomp.c-c++-common/pr66199-8.c
[-execution test-]{+compilation failed to produce executable+}
Same for 'libgomp.c++' variant.
More information about the Gcc-bugs
mailing list