https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93768
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jan Beulich <jbeul...@gcc.gnu.org>: https://gcc.gnu.org/g:2d11c99dfca3cc603dbbfafb3afc41689a68e40f commit r14-2310-g2d11c99dfca3cc603dbbfafb3afc41689a68e40f Author: Jan Beulich <jbeul...@suse.com> Date: Wed Jul 5 09:41:09 2023 +0200 x86: use VPTERNLOG also for certain andnot forms When it's the memory operand which is to be inverted, using VPANDN* requires a further load instruction. The same can be achieved by a single VPTERNLOG*. Add two new alternatives (for plain memory and embedded broadcast), adjusting the predicate for the first operand accordingly. Two pre-existing testcases actually end up being affected (improved) by the change, which is reflected in updated expectations there. gcc/ PR target/93768 * config/i386/sse.md (*andnot<mode>3): Add new alternatives for memory form operand 1. gcc/testsuite/ PR target/93768 * gcc.target/i386/avx512f-andn-di-zmm-2.c: New test. * gcc.target/i386/avx512f-andn-si-zmm-2.c: Adjust expecations towards generated code. * gcc.target/i386/pr100711-3.c: Adjust expectations for 32-bit code.