[Bug tree-optimization/126771] sub-optimal bool pattern for comparison converted to integer

"rguenth at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126771

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |crazylht at gmail dot com

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Oh, this is also a x86 target issue as we miss vcond_mask_v2siqi for
MMX-with-SSE.  We have vcond_mask_v2siv2si and vcond_mask_v2diqi but I'll note
the
vectorizer isn't able to switch between AVX512 and SSE style masking at will.
We also miss vec_cmpv2sfqi, in practice this degrades MMX-with-SSE
vectorization
once AVX512VL is enabled.


On the vectorizer side it's probably best to always elide the conversion
during pattern recognition and instead have vectorizable_condition consider
an intermediate conversion?  In general I'd move away from handling
everything with patterns towards more intelligence in vectorizable_* since
that is a point where we eventually want to commit to vector types used
while pattern recognition is too early for that.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.