public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/84547] Suboptimal code for int128 masked shifts (ARM64)
       [not found] <bug-84547-4@http.gcc.gnu.org/bugzilla/>
@ 2021-04-17  5:44 ` pinskia at gcc dot gnu.org
  2021-04-19 11:15 ` rearnsha at gcc dot gnu.org
  1 sibling, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-04-17  5:44 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Suboptimal code for masked  |Suboptimal code for int128
                   |shifts (ARM64)              |masked shifts (ARM64)
   Last reconfirmed|                            |2021-04-17
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Yes int128 (or rather double wide register) shifts are not optimized that well.
 They are not used by many people even.  I wonder if there is a way to use
vector instructions to do them.

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

* [Bug target/84547] Suboptimal code for int128 masked shifts (ARM64)
       [not found] <bug-84547-4@http.gcc.gnu.org/bugzilla/>
  2021-04-17  5:44 ` [Bug target/84547] Suboptimal code for int128 masked shifts (ARM64) pinskia at gcc dot gnu.org
@ 2021-04-19 11:15 ` rearnsha at gcc dot gnu.org
  1 sibling, 0 replies; 2+ messages in thread
From: rearnsha at gcc dot gnu.org @ 2021-04-19 11:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> Yes int128 (or rather double wide register) shifts are not optimized that
> well.  They are not used by many people even.  I wonder if there is a way to
> use vector instructions to do them.

Even if there were (and I'm not aware of any), moving values into and out of
the vector unit can be expensive so this would likely be a very poor solution.

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

end of thread, other threads:[~2021-04-19 11:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-84547-4@http.gcc.gnu.org/bugzilla/>
2021-04-17  5:44 ` [Bug target/84547] Suboptimal code for int128 masked shifts (ARM64) pinskia at gcc dot gnu.org
2021-04-19 11:15 ` rearnsha 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).