https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108862

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
With -fno-unroll-loops added we get

foo:
.LFB0:
        .cfi_startproc
        cmpwi 0,3,0
        ble 0,.L4
        mtctr 3
        addi 10,4,-8
        addi 5,5,8
        li 3,0
        .p2align 4,,15
.L3:
        ldu 4,8(10)
        ldu 9,-8(5)
        maddld 3,4,9,3
        maddhdu 4,4,9,3
        bdnz .L3
        blr
        .p2align 4,,15
.L4:
        li 3,0
        li 4,0
        blr

(which still fails, just is easier to read).

The destinations of the four inner loop insns were 131, 132, 135, 136,
and IRA decided for those
Disposition:
   18:r131 l0     4
   17:r132 l0     9
    1:r135 l0     3
    0:r136 l0     4

and that cannot fly.

Reply via email to