https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117248
--- Comment #26 from John David Anglin <danglin at gcc dot gnu.org> ---
We have the following fails in the libgomp testsuite with lra:
FAIL: libgomp.c++/../libgomp.c-c++-common/lastprivate-conditional-3.c execution
test
WARNING: libgomp.c++/doacross-1.C execution test program timed out.
FAIL: libgomp.c++/doacross-1.C execution test
FAIL: libgomp.c/../libgomp.c-c++-common/lastprivate-conditional-3.c execution
test
WARNING: libgomp.c/doacross-1.c execution test program timed out.
FAIL: libgomp.c/doacross-1.c execution test
WARNING: libgomp.c/doacross-2.c execution test program timed out.
FAIL: libgomp.c/doacross-2.c execution test
WARNING: libgomp.c/doacross-4.c execution test program timed out.
FAIL: libgomp.c/doacross-4.c execution test
WARNING: libgomp.c/doacross-5.c execution test program timed out.
FAIL: libgomp.c/doacross-5.c execution test
WARNING: libgomp.c/doacross-6.c execution test program timed out.
FAIL: libgomp.c/doacross-6.c execution test
FAIL: libgomp.c/loop-1.c execution test
FAIL: libgomp.c/loop-2.c execution test
FAIL: libgomp.c/ordered-1.c execution test
FAIL: libgomp.c/pr29947-2.c execution test
None of these fail with legacy reload.
The lastprivate-conditional-3.c fail is a problem in libgomp. The assembly
code generated for doacross-1.C has the same problem as arith-rand-ll.c:
.L51:
ldw -232(%r30),%r26
ldw -224(%r30),%r25
stw %r26,-196(%r30)
.IMPORT $$remI,MILLICODE
bl $$remI,%r31
stw %r28,-204(%r30)
copy %r25,%r28
ldw -216(%r30),%r19
addl %r29,%r19,%r19
stw %r26,-248(%r30)
.IMPORT $$divI,MILLICODE
bl $$divI,%r31
stw %r19,-192(%r30)
The call to $$remI clobbers the argument registers %r25 and %r26. We
lose the initialization of these registers for the subsequent call to
$$divI.