[Bug testsuite/108190] g++.target/i386/*pr54700*.C testcases fail on x86_64-mingw

2022-12-21 Thread glisse at gcc dot gnu.org via Gcc-bugs
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 rejected because
it expects a register, not memory. So either we are too eager in merging loads
with instructions, or we reject instructions too early when we could still fix
the operands with an extra load.

[Bug testsuite/108190] g++.target/i386/*pr54700*.C testcases fail on x86_64-mingw

2022-12-20 Thread nightstrike at gmail dot com via Gcc-bugs
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&action=edit
avx512vl-pr54700-1b.s

[Bug testsuite/108190] g++.target/i386/*pr54700*.C testcases fail on x86_64-mingw

2022-12-20 Thread nightstrike at gmail dot com via Gcc-bugs
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&action=edit
avx512vl-pr54700-1a.s

[Bug testsuite/108190] g++.target/i386/*pr54700*.C testcases fail on x86_64-mingw

2022-12-20 Thread nightstrike at gmail dot com via Gcc-bugs
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&action=edit
avx2-pr54700-1.s

[Bug testsuite/108190] g++.target/i386/*pr54700*.C testcases fail on x86_64-mingw

2022-12-20 Thread pinskia at gcc dot gnu.org via Gcc-bugs
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 ...