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.