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

Reply via email to