https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78142
Bug ID: 78142
Summary: Commit r241590 is causing weird spills on
gcc.target/aarch64/vector_initialization_nostack.c
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: tamar.christina at arm dot com
Target Milestone: ---
The code is causing some really weird spills
ldr x19, [sp, 16]
mul w0, w3, w17
madd w0, w1, w15, w0
ins v2.b[11], w30
madd w2, w2, w16, w4
ins v1.b[11], w14
mla v0.16b, v3.16b, v7.16b
add w1, w0, w2
ldp x29, x30, [sp], 32
ins v2.b[12], w13
ins v1.b[12], w11
ins v2.b[13], w10
ins v1.b[13], w9
ins v2.b[14], w8
ins v1.b[14], w7
ins v2.b[15], w6
ins v1.b[15], w5
mla v0.16b, v2.16b, v6.16b
mla v0.16b, v1.16b, v5.16b
addv b0, v0.16b
umov w0, v0.b[0]
add w0, w1, w0
ret
The values are then never used.
The code is compiled with
gcc gcc/testsuite/gcc.target/aarch64/vector_initialization_nostack.c -O3
-ftree-vectorize -fno-vect-cost-model -S