public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/91753] Bad register allocation of multi-register types
       [not found] <bug-91753-4@http.gcc.gnu.org/bugzilla/>
@ 2021-01-29  9:12 ` ktkachov at gcc dot gnu.org
  2021-08-12  8:09 ` tnfchris at gcc dot gnu.org
  1 sibling, 0 replies; 2+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2021-01-29  9:12 UTC (permalink / raw)
  To: gcc-bugs

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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ktkachov at gcc dot gnu.org

--- Comment #8 from ktkachov at gcc dot gnu.org ---
The issue with the many moves is still there, however for GCC 11 at least
they're hoisted outside the loop

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug target/91753] Bad register allocation of multi-register types
       [not found] <bug-91753-4@http.gcc.gnu.org/bugzilla/>
  2021-01-29  9:12 ` [Bug target/91753] Bad register allocation of multi-register types ktkachov at gcc dot gnu.org
@ 2021-08-12  8:09 ` tnfchris at gcc dot gnu.org
  1 sibling, 0 replies; 2+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2021-08-12  8:09 UTC (permalink / raw)
  To: gcc-bugs

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-12  8:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-91753-4@http.gcc.gnu.org/bugzilla/>
2021-01-29  9:12 ` [Bug target/91753] Bad register allocation of multi-register types ktkachov at gcc dot gnu.org
2021-08-12  8:09 ` tnfchris at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).