While there are some quite sophisticated 4-operand expanders, 2-operand binary logic which can't be expressed by just VPAND, VPANDN, VPOR, or VPXOR doesn't utilize this insn to carry out such operations in a single insn. Therefore the first two patches address one of the sub-aspects of PR target/93768 (which imo was closed prematurely), while the latter three ones extend what was done for PR target/100711.
1: use VPTERNLOG for further bitwise two-vector operations 2: use VPTERNLOG also for certain andnot forms 3: allow memory operand for AVX2 splitter for PR target/100711 4: further PR target/100711-like splitting 5: yet more PR target/100711-like splitting Jan