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

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
In the original testcase, there are still extra movs.

For the testcase in comment #4, it is fixed on the trunk and we now get:
```
fun:
        stp     x29, x30, [sp, -48]!
        mov     x29, sp
        str     q2, [sp, 32]
        bl      g
        str     q0, [sp, 16]
        bl      g
        ldp     q30, q2, [sp, 16]
        mov     v31.16b, v0.16b
        ldp     x29, x30, [sp], 48
        tbl     v0.16b, {v30.16b - v31.16b}, v2.16b
        ret
```

Maybe the issue is only with arguments now.

Reply via email to