https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107281
Bug ID: 107281
Summary: comparisations with u/int64_t constants not generate
vector-result
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
If no 64-bit vector comparisons are available no vectorized results are
produced for the cases <=, >=, <, and >.
The cases == and != works. The comparisons themselves are then carried out
individually, but the result is combined with unpcklqdq.
It would be better if this works with all comparisons so that can better
(auto)vectorized.
It might be possible to further optimize this so that no scalar comparisons are
necessary - especially for the frequent case constant=0.
https://godbolt.org/z/cj8n9TenK
thx
Gero