[Bug target/91103] AVX512 vector element extract uses more than 1 shuffle instruction; VALIGND can grab any element

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jul 9 07:44:00 GMT 2019


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-07-09
     Ever confirmed|0                           |1

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Thanks for the detailed analysis - currently the vectorizer makes N explicit
element extracts and N explicit scalar stores.  That's not very friendly for
the targets to generate the kind of mixed code from.  I'm thinking of
somehow generalizing how we represent strided stores similar to scatters
but in a way making the index vector implicitely specified by an affine
combination (constant * reg).  It probably needs another set of expanders
for that though.


More information about the Gcc-bugs mailing list