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

            Bug ID: 102448
           Summary: [12 Regression] wrong codegen in gcc in spec2017 since
                    24f99147b9264f8f7d9cfb2fa6bd431edfa252d2
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tnfchris at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
  Target Milestone: ---

Since g:24f99147b9264f8f7d9cfb2fa6bd431edfa252d2 we've been getting a segfault
on gcc in spec2017.

It looks like ira_init has been miscompiled and an additional unconditional
store materialized:

Before:

add     x1, x19, #0x4
add     x2, x19, #0x14
ldr     q0, [x0,#4064]
str     q0, [x1],#16


After:

add     x19, x19, #0x4
ldr     q0, [x0,#4000]
str     q0, [x19],#16
str     q0, [x19],#16

so it's pushing 16 bytes more into x19 than it did before.

Trying to see if I can reduce a testcase

Reply via email to