https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108190
--- Comment #6 from Marc Glisse ---
Indeed, this looks like a common issue (at least with the x86 backend): the
memory load is combined with the comparison before we try combining the
comparison with the blend, and this last combination is then
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108190
--- Comment #5 from nightstrike ---
Created attachment 54138
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54138=edit
avx512vl-pr54700-1b.s
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108190
--- Comment #4 from nightstrike ---
Created attachment 54137
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54137=edit
avx512vl-pr54700-1a.s
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108190
--- Comment #3 from nightstrike ---
Created attachment 54136
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54136=edit
avx2-pr54700-1.s
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108190
--- Comment #2 from Andrew Pinski ---
This is most likely because of the ABI difference between windows and elf
targets. __v16qi is passed via memory location on windows but on elf targets it
is passed via regsiter ...