[Bug target/91753] Bad register allocation of multi-register types
tnfchris at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Aug 12 08:09:49 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91753
Tamar Christina <tnfchris at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |tnfchris at gcc dot gnu.org
Resolution|--- |FIXED
Target Milestone|--- |12.0
--- Comment #9 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Fixed in GCC 12 where we generate at -O1/2/3
neon_transform_nada(uint8x16x4_t, unsigned char*, int):
ldp q7, q6, [x0]
ldp q5, q4, [x0, 32]
cmp w1, 0
ble .L2
mov w2, 0
.L3:
add w2, w2, 1
tbx v7.16b, {v0.16b - v3.16b}, v7.16b
tbx v6.16b, {v0.16b - v3.16b}, v6.16b
tbx v5.16b, {v0.16b - v3.16b}, v5.16b
tbx v4.16b, {v0.16b - v3.16b}, v4.16b
cmp w1, w2
bne .L3
.L2:
stp q7, q6, [x0]
stp q5, q4, [x0, 32]
ret
More information about the Gcc-bugs
mailing list