https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117238
--- Comment #1 from John David Anglin <danglin at gcc dot gnu.org> --- This is caused by infinite loop in LRA. We have a problem handling OImode: (insn 385 384 386 2 (set (subreg:SI (reg/v:OI 132 [ e ]) 20) (subreg:SI (reg/v:OI 452 [orig:132 e ] [132]) 20)) "/home/dave/gnu/gcc/g cc/gcc/testsuite/gcc.c-torture/compile/pr92618.c":18:15 42 {*pa.md:2195} (nil)) (insn 386 385 387 2 (set (subreg:SI (reg/v:OI 132 [ e ]) 24) (subreg:SI (reg/v:OI 452 [orig:132 e ] [132]) 24)) "/home/dave/gnu/gcc/g cc/gcc/testsuite/gcc.c-torture/compile/pr92618.c":18:15 42 {*pa.md:2195} (nil)) (insn 387 386 35 2 (set (subreg:SI (reg/v:OI 132 [ e ]) 28) (subreg:SI (reg/v:OI 452 [orig:132 e ] [132]) 28)) "/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/pr92618.c":18:15 42 {*pa.md:2195} (nil)) (insn 35 387 36 2 (set (subreg:SI (reg/v:OI 132 [ e ]) 4) (mem:SI (plus:SI (reg/f:SI 173) (const_int 4 [0x4])) [1 S4 A32])) "/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/pr92618.c":18:15 42 {*pa.md:2195} (nil)) The insns generated by LRA aren't valid. OImode can't fit in a set of registers on this target, so the subreg:SI operations shown above can never be simplified to a general registers. e has to be in memory. The pa architecture does not support moving data directly between two memory locations.