https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117248
--- Comment #20 from John David Anglin <danglin at gcc dot gnu.org> ---
It appears I again forgot to add -mlra to the compile command.
The problem is clear in the generated assembly code:
extrs %r5,31,16,%r26
extrs %r24,31,16,%r7
copy %r7,%r25
.IMPORT $$divI,MILLICODE
bl $$divI,%r31
nop
stws %r29,-16(%sp)
fldws -16(%sp),%fr10R
copy %r7,%r25
bl $$remI,%r31
nop
The first millicode call to $$divI clobbers r1, r25, r26 and r31. r25
and r26 are the input arguments. The same is true for the call to $$remI.
But the instruction to set r26 is dropped during reload:
deleting insn with uid = 341.