return []opData{
{name: "VADDPS512", argLength: 2, reg: fp21, asm: "VADDPS", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VANDPS512", argLength: 2, reg: fp21, asm: "VANDPS", commutative: true, typ: "Vec512", resultInArg0: false},
- {name: "VANDNPS512", argLength: 2, reg: fp21, asm: "VANDNPS", commutative: true, typ: "Vec512", resultInArg0: false},
+ {name: "VANDNPS512", argLength: 2, reg: fp21, asm: "VANDNPS", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VRCP14PS512", argLength: 1, reg: fp11, asm: "VRCP14PS", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VRSQRT14PS512", argLength: 1, reg: fp11, asm: "VRSQRT14PS", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VDIVPS512", argLength: 2, reg: fp21, asm: "VDIVPS", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VFNMSUB231PS512", argLength: 3, reg: fp31, asm: "VFNMSUB231PS", commutative: false, typ: "Vec512", resultInArg0: true},
{name: "VADDPSMasked512", argLength: 3, reg: fp2k1fp1, asm: "VADDPS", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VANDPSMasked512", argLength: 3, reg: fp2k1fp1, asm: "VANDPS", commutative: true, typ: "Vec512", resultInArg0: false},
- {name: "VANDNPSMasked512", argLength: 3, reg: fp2k1fp1, asm: "VANDNPS", commutative: true, typ: "Vec512", resultInArg0: false},
+ {name: "VANDNPSMasked512", argLength: 3, reg: fp2k1fp1, asm: "VANDNPS", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VRCP14PSMasked512", argLength: 2, reg: fp1k1fp1, asm: "VRCP14PS", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VRSQRT14PSMasked512", argLength: 2, reg: fp1k1fp1, asm: "VRSQRT14PS", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VDIVPSMasked512", argLength: 3, reg: fp2k1fp1, asm: "VDIVPS", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VADDPS128", argLength: 2, reg: fp21, asm: "VADDPS", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VADDSUBPS128", argLength: 2, reg: fp21, asm: "VADDSUBPS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VANDPS128", argLength: 2, reg: fp21, asm: "VANDPS", commutative: true, typ: "Vec128", resultInArg0: false},
- {name: "VANDNPS128", argLength: 2, reg: fp21, asm: "VANDNPS", commutative: true, typ: "Vec128", resultInArg0: false},
+ {name: "VANDNPS128", argLength: 2, reg: fp21, asm: "VANDNPS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VRCP14PS128", argLength: 1, reg: fp11, asm: "VRCP14PS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VRSQRTPS128", argLength: 1, reg: fp11, asm: "VRSQRTPS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VDIVPS128", argLength: 2, reg: fp21, asm: "VDIVPS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VFNMSUB231PS128", argLength: 3, reg: fp31, asm: "VFNMSUB231PS", commutative: false, typ: "Vec128", resultInArg0: true},
{name: "VADDPSMasked128", argLength: 3, reg: fp2k1fp1, asm: "VADDPS", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VANDPSMasked128", argLength: 3, reg: fp2k1fp1, asm: "VANDPS", commutative: true, typ: "Vec128", resultInArg0: false},
- {name: "VANDNPSMasked128", argLength: 3, reg: fp2k1fp1, asm: "VANDNPS", commutative: true, typ: "Vec128", resultInArg0: false},
+ {name: "VANDNPSMasked128", argLength: 3, reg: fp2k1fp1, asm: "VANDNPS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VRCP14PSMasked128", argLength: 2, reg: fp1k1fp1, asm: "VRCP14PS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VRSQRT14PSMasked128", argLength: 2, reg: fp1k1fp1, asm: "VRSQRT14PS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VDIVPSMasked128", argLength: 3, reg: fp2k1fp1, asm: "VDIVPS", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VADDPS256", argLength: 2, reg: fp21, asm: "VADDPS", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VADDSUBPS256", argLength: 2, reg: fp21, asm: "VADDSUBPS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VANDPS256", argLength: 2, reg: fp21, asm: "VANDPS", commutative: true, typ: "Vec256", resultInArg0: false},
- {name: "VANDNPS256", argLength: 2, reg: fp21, asm: "VANDNPS", commutative: true, typ: "Vec256", resultInArg0: false},
+ {name: "VANDNPS256", argLength: 2, reg: fp21, asm: "VANDNPS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VRCP14PS256", argLength: 1, reg: fp11, asm: "VRCP14PS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VRSQRTPS256", argLength: 1, reg: fp11, asm: "VRSQRTPS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VDIVPS256", argLength: 2, reg: fp21, asm: "VDIVPS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VFNMSUB231PS256", argLength: 3, reg: fp31, asm: "VFNMSUB231PS", commutative: false, typ: "Vec256", resultInArg0: true},
{name: "VADDPSMasked256", argLength: 3, reg: fp2k1fp1, asm: "VADDPS", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VANDPSMasked256", argLength: 3, reg: fp2k1fp1, asm: "VANDPS", commutative: true, typ: "Vec256", resultInArg0: false},
- {name: "VANDNPSMasked256", argLength: 3, reg: fp2k1fp1, asm: "VANDNPS", commutative: true, typ: "Vec256", resultInArg0: false},
+ {name: "VANDNPSMasked256", argLength: 3, reg: fp2k1fp1, asm: "VANDNPS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VRCP14PSMasked256", argLength: 2, reg: fp1k1fp1, asm: "VRCP14PS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VRSQRT14PSMasked256", argLength: 2, reg: fp1k1fp1, asm: "VRSQRT14PS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VDIVPSMasked256", argLength: 3, reg: fp2k1fp1, asm: "VDIVPS", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VADDPD128", argLength: 2, reg: fp21, asm: "VADDPD", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VADDSUBPD128", argLength: 2, reg: fp21, asm: "VADDSUBPD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VANDPD128", argLength: 2, reg: fp21, asm: "VANDPD", commutative: true, typ: "Vec128", resultInArg0: false},
- {name: "VANDNPD128", argLength: 2, reg: fp21, asm: "VANDNPD", commutative: true, typ: "Vec128", resultInArg0: false},
+ {name: "VANDNPD128", argLength: 2, reg: fp21, asm: "VANDNPD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VRCP14PD128", argLength: 1, reg: fp11, asm: "VRCP14PD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VRSQRT14PD128", argLength: 1, reg: fp11, asm: "VRSQRT14PD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VDIVPD128", argLength: 2, reg: fp21, asm: "VDIVPD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VFNMSUB231PD128", argLength: 3, reg: fp31, asm: "VFNMSUB231PD", commutative: false, typ: "Vec128", resultInArg0: true},
{name: "VADDPDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VADDPD", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VANDPDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VANDPD", commutative: true, typ: "Vec128", resultInArg0: false},
- {name: "VANDNPDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VANDNPD", commutative: true, typ: "Vec128", resultInArg0: false},
+ {name: "VANDNPDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VANDNPD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VRCP14PDMasked128", argLength: 2, reg: fp1k1fp1, asm: "VRCP14PD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VRSQRT14PDMasked128", argLength: 2, reg: fp1k1fp1, asm: "VRSQRT14PD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VDIVPDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VDIVPD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VADDPD256", argLength: 2, reg: fp21, asm: "VADDPD", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VADDSUBPD256", argLength: 2, reg: fp21, asm: "VADDSUBPD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VANDPD256", argLength: 2, reg: fp21, asm: "VANDPD", commutative: true, typ: "Vec256", resultInArg0: false},
- {name: "VANDNPD256", argLength: 2, reg: fp21, asm: "VANDNPD", commutative: true, typ: "Vec256", resultInArg0: false},
+ {name: "VANDNPD256", argLength: 2, reg: fp21, asm: "VANDNPD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VRCP14PD256", argLength: 1, reg: fp11, asm: "VRCP14PD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VRSQRT14PD256", argLength: 1, reg: fp11, asm: "VRSQRT14PD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VDIVPD256", argLength: 2, reg: fp21, asm: "VDIVPD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VFNMSUB231PD256", argLength: 3, reg: fp31, asm: "VFNMSUB231PD", commutative: false, typ: "Vec256", resultInArg0: true},
{name: "VADDPDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VADDPD", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VANDPDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VANDPD", commutative: true, typ: "Vec256", resultInArg0: false},
- {name: "VANDNPDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VANDNPD", commutative: true, typ: "Vec256", resultInArg0: false},
+ {name: "VANDNPDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VANDNPD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VRCP14PDMasked256", argLength: 2, reg: fp1k1fp1, asm: "VRCP14PD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VRSQRT14PDMasked256", argLength: 2, reg: fp1k1fp1, asm: "VRSQRT14PD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VDIVPDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VDIVPD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VXORPD256", argLength: 2, reg: fp21, asm: "VXORPD", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VADDPD512", argLength: 2, reg: fp21, asm: "VADDPD", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VANDPD512", argLength: 2, reg: fp21, asm: "VANDPD", commutative: true, typ: "Vec512", resultInArg0: false},
- {name: "VANDNPD512", argLength: 2, reg: fp21, asm: "VANDNPD", commutative: true, typ: "Vec512", resultInArg0: false},
+ {name: "VANDNPD512", argLength: 2, reg: fp21, asm: "VANDNPD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VRCP14PD512", argLength: 1, reg: fp11, asm: "VRCP14PD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VRSQRT14PD512", argLength: 1, reg: fp11, asm: "VRSQRT14PD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VDIVPD512", argLength: 2, reg: fp21, asm: "VDIVPD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VFNMSUB231PD512", argLength: 3, reg: fp31, asm: "VFNMSUB231PD", commutative: false, typ: "Vec512", resultInArg0: true},
{name: "VADDPDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VADDPD", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VANDPDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VANDPD", commutative: true, typ: "Vec512", resultInArg0: false},
- {name: "VANDNPDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VANDNPD", commutative: true, typ: "Vec512", resultInArg0: false},
+ {name: "VANDNPDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VANDNPD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VRCP14PDMasked512", argLength: 2, reg: fp1k1fp1, asm: "VRCP14PD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VRSQRT14PDMasked512", argLength: 2, reg: fp1k1fp1, asm: "VRSQRT14PD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VDIVPDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VDIVPD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPABSW256", argLength: 1, reg: fp11, asm: "VPABSW", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VPADDW256", argLength: 2, reg: fp21, asm: "VPADDW", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VPAND256", argLength: 2, reg: fp21, asm: "VPAND", commutative: true, typ: "Vec256", resultInArg0: false},
- {name: "VPANDN256", argLength: 2, reg: fp21, asm: "VPANDN", commutative: true, typ: "Vec256", resultInArg0: false},
+ {name: "VPANDN256", argLength: 2, reg: fp21, asm: "VPANDN", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VPCMPEQW256", argLength: 2, reg: fp21, asm: "VPCMPEQW", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VPCMPGTW256", argLength: 2, reg: fp21, asm: "VPCMPGTW", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VPABSWMasked256", argLength: 2, reg: fp1k1fp1, asm: "VPABSW", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VPABSW128", argLength: 1, reg: fp11, asm: "VPABSW", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VPADDW128", argLength: 2, reg: fp21, asm: "VPADDW", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VPAND128", argLength: 2, reg: fp21, asm: "VPAND", commutative: true, typ: "Vec128", resultInArg0: false},
- {name: "VPANDN128", argLength: 2, reg: fp21, asm: "VPANDN", commutative: true, typ: "Vec128", resultInArg0: false},
+ {name: "VPANDN128", argLength: 2, reg: fp21, asm: "VPANDN", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VPCMPEQW128", argLength: 2, reg: fp21, asm: "VPCMPEQW", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VPCMPGTW128", argLength: 2, reg: fp21, asm: "VPCMPGTW", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VPABSWMasked128", argLength: 2, reg: fp1k1fp1, asm: "VPABSW", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VPABSD512", argLength: 1, reg: fp11, asm: "VPABSD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPADDD512", argLength: 2, reg: fp21, asm: "VPADDD", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VPANDD512", argLength: 2, reg: fp21, asm: "VPANDD", commutative: true, typ: "Vec512", resultInArg0: false},
- {name: "VPANDND512", argLength: 2, reg: fp21, asm: "VPANDND", commutative: true, typ: "Vec512", resultInArg0: false},
+ {name: "VPANDND512", argLength: 2, reg: fp21, asm: "VPANDND", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPCMPEQD512", argLength: 2, reg: fp2k1, asm: "VPCMPEQD", commutative: true, typ: "Mask", resultInArg0: false},
{name: "VPCMPGTD512", argLength: 2, reg: fp2k1, asm: "VPCMPGTD", commutative: false, typ: "Mask", resultInArg0: false},
{name: "VPABSDMasked512", argLength: 2, reg: fp1k1fp1, asm: "VPABSD", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPADDDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPADDD", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VPANDDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPANDD", commutative: true, typ: "Vec512", resultInArg0: false},
- {name: "VPANDNDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPANDND", commutative: true, typ: "Vec512", resultInArg0: false},
+ {name: "VPANDNDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPANDND", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPCMPEQDMasked512", argLength: 3, reg: fp2k1k1, asm: "VPCMPEQD", commutative: true, typ: "Mask", resultInArg0: false},
{name: "VPCMPGTDMasked512", argLength: 3, reg: fp2k1k1, asm: "VPCMPGTD", commutative: false, typ: "Mask", resultInArg0: false},
{name: "VPMAXSDMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPMAXSD", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VPABSDMasked128", argLength: 2, reg: fp1k1fp1, asm: "VPABSD", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VPADDDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPADDD", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VPANDDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPANDD", commutative: true, typ: "Vec128", resultInArg0: false},
- {name: "VPANDNDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPANDND", commutative: true, typ: "Vec128", resultInArg0: false},
+ {name: "VPANDNDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPANDND", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VPCMPEQDMasked128", argLength: 3, reg: fp2k1k1, asm: "VPCMPEQD", commutative: true, typ: "Mask", resultInArg0: false},
{name: "VPCMPGTDMasked128", argLength: 3, reg: fp2k1k1, asm: "VPCMPGTD", commutative: false, typ: "Mask", resultInArg0: false},
{name: "VPMAXSDMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPMAXSD", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VPABSDMasked256", argLength: 2, reg: fp1k1fp1, asm: "VPABSD", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VPADDDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPADDD", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VPANDDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPANDD", commutative: true, typ: "Vec256", resultInArg0: false},
- {name: "VPANDNDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPANDND", commutative: true, typ: "Vec256", resultInArg0: false},
+ {name: "VPANDNDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPANDND", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VPCMPEQDMasked256", argLength: 3, reg: fp2k1k1, asm: "VPCMPEQD", commutative: true, typ: "Mask", resultInArg0: false},
{name: "VPCMPGTDMasked256", argLength: 3, reg: fp2k1k1, asm: "VPCMPGTD", commutative: false, typ: "Mask", resultInArg0: false},
{name: "VPMAXSDMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPMAXSD", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VPABSQMasked128", argLength: 2, reg: fp1k1fp1, asm: "VPABSQ", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VPADDQMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPADDQ", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VPANDQMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPANDQ", commutative: true, typ: "Vec128", resultInArg0: false},
- {name: "VPANDNQMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPANDNQ", commutative: true, typ: "Vec128", resultInArg0: false},
+ {name: "VPANDNQMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPANDNQ", commutative: false, typ: "Vec128", resultInArg0: false},
{name: "VPCMPEQQMasked128", argLength: 3, reg: fp2k1k1, asm: "VPCMPEQQ", commutative: true, typ: "Mask", resultInArg0: false},
{name: "VPCMPGTQMasked128", argLength: 3, reg: fp2k1k1, asm: "VPCMPGTQ", commutative: false, typ: "Mask", resultInArg0: false},
{name: "VPMAXSQMasked128", argLength: 3, reg: fp2k1fp1, asm: "VPMAXSQ", commutative: true, typ: "Vec128", resultInArg0: false},
{name: "VPABSQMasked256", argLength: 2, reg: fp1k1fp1, asm: "VPABSQ", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VPADDQMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPADDQ", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VPANDQMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPANDQ", commutative: true, typ: "Vec256", resultInArg0: false},
- {name: "VPANDNQMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPANDNQ", commutative: true, typ: "Vec256", resultInArg0: false},
+ {name: "VPANDNQMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPANDNQ", commutative: false, typ: "Vec256", resultInArg0: false},
{name: "VPCMPEQQMasked256", argLength: 3, reg: fp2k1k1, asm: "VPCMPEQQ", commutative: true, typ: "Mask", resultInArg0: false},
{name: "VPCMPGTQMasked256", argLength: 3, reg: fp2k1k1, asm: "VPCMPGTQ", commutative: false, typ: "Mask", resultInArg0: false},
{name: "VPMAXSQMasked256", argLength: 3, reg: fp2k1fp1, asm: "VPMAXSQ", commutative: true, typ: "Vec256", resultInArg0: false},
{name: "VPABSQ512", argLength: 1, reg: fp11, asm: "VPABSQ", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPADDQ512", argLength: 2, reg: fp21, asm: "VPADDQ", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VPANDQ512", argLength: 2, reg: fp21, asm: "VPANDQ", commutative: true, typ: "Vec512", resultInArg0: false},
- {name: "VPANDNQ512", argLength: 2, reg: fp21, asm: "VPANDNQ", commutative: true, typ: "Vec512", resultInArg0: false},
+ {name: "VPANDNQ512", argLength: 2, reg: fp21, asm: "VPANDNQ", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPCMPEQQ512", argLength: 2, reg: fp2k1, asm: "VPCMPEQQ", commutative: true, typ: "Mask", resultInArg0: false},
{name: "VPCMPGTQ512", argLength: 2, reg: fp2k1, asm: "VPCMPGTQ", commutative: false, typ: "Mask", resultInArg0: false},
{name: "VPABSQMasked512", argLength: 2, reg: fp1k1fp1, asm: "VPABSQ", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPADDQMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPADDQ", commutative: true, typ: "Vec512", resultInArg0: false},
{name: "VPANDQMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPANDQ", commutative: true, typ: "Vec512", resultInArg0: false},
- {name: "VPANDNQMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPANDNQ", commutative: true, typ: "Vec512", resultInArg0: false},
+ {name: "VPANDNQMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPANDNQ", commutative: false, typ: "Vec512", resultInArg0: false},
{name: "VPCMPEQQMasked512", argLength: 3, reg: fp2k1k1, asm: "VPCMPEQQ", commutative: true, typ: "Mask", resultInArg0: false},
{name: "VPCMPGTQMasked512", argLength: 3, reg: fp2k1k1, asm: "VPCMPGTQ", commutative: false, typ: "Mask", resultInArg0: false},
{name: "VPMAXSQMasked512", argLength: 3, reg: fp2k1fp1, asm: "VPMAXSQ", commutative: true, typ: "Vec512", resultInArg0: false},
return []opData{
{name: "AddFloat32x16", argLength: 2, commutative: true},
{name: "AndFloat32x16", argLength: 2, commutative: true},
- {name: "AndNotFloat32x16", argLength: 2, commutative: true},
+ {name: "AndNotFloat32x16", argLength: 2, commutative: false},
{name: "ApproximateReciprocalFloat32x16", argLength: 1, commutative: false},
{name: "ApproximateReciprocalOfSqrtFloat32x16", argLength: 1, commutative: false},
{name: "DivFloat32x16", argLength: 2, commutative: false},
{name: "LessEqualFloat32x16", argLength: 2, commutative: false},
{name: "MaskedAddFloat32x16", argLength: 3, commutative: true},
{name: "MaskedAndFloat32x16", argLength: 3, commutative: true},
- {name: "MaskedAndNotFloat32x16", argLength: 3, commutative: true},
+ {name: "MaskedAndNotFloat32x16", argLength: 3, commutative: false},
{name: "MaskedApproximateReciprocalFloat32x16", argLength: 2, commutative: false},
{name: "MaskedApproximateReciprocalOfSqrtFloat32x16", argLength: 2, commutative: false},
{name: "MaskedDivFloat32x16", argLength: 3, commutative: false},
{name: "AddFloat32x4", argLength: 2, commutative: true},
{name: "AddSubFloat32x4", argLength: 2, commutative: false},
{name: "AndFloat32x4", argLength: 2, commutative: true},
- {name: "AndNotFloat32x4", argLength: 2, commutative: true},
+ {name: "AndNotFloat32x4", argLength: 2, commutative: false},
{name: "ApproximateReciprocalFloat32x4", argLength: 1, commutative: false},
{name: "ApproximateReciprocalOfSqrtFloat32x4", argLength: 1, commutative: false},
{name: "CeilFloat32x4", argLength: 1, commutative: false},
{name: "LessEqualFloat32x4", argLength: 2, commutative: false},
{name: "MaskedAddFloat32x4", argLength: 3, commutative: true},
{name: "MaskedAndFloat32x4", argLength: 3, commutative: true},
- {name: "MaskedAndNotFloat32x4", argLength: 3, commutative: true},
+ {name: "MaskedAndNotFloat32x4", argLength: 3, commutative: false},
{name: "MaskedApproximateReciprocalFloat32x4", argLength: 2, commutative: false},
{name: "MaskedApproximateReciprocalOfSqrtFloat32x4", argLength: 2, commutative: false},
{name: "MaskedDivFloat32x4", argLength: 3, commutative: false},
{name: "AddFloat32x8", argLength: 2, commutative: true},
{name: "AddSubFloat32x8", argLength: 2, commutative: false},
{name: "AndFloat32x8", argLength: 2, commutative: true},
- {name: "AndNotFloat32x8", argLength: 2, commutative: true},
+ {name: "AndNotFloat32x8", argLength: 2, commutative: false},
{name: "ApproximateReciprocalFloat32x8", argLength: 1, commutative: false},
{name: "ApproximateReciprocalOfSqrtFloat32x8", argLength: 1, commutative: false},
{name: "CeilFloat32x8", argLength: 1, commutative: false},
{name: "LessEqualFloat32x8", argLength: 2, commutative: false},
{name: "MaskedAddFloat32x8", argLength: 3, commutative: true},
{name: "MaskedAndFloat32x8", argLength: 3, commutative: true},
- {name: "MaskedAndNotFloat32x8", argLength: 3, commutative: true},
+ {name: "MaskedAndNotFloat32x8", argLength: 3, commutative: false},
{name: "MaskedApproximateReciprocalFloat32x8", argLength: 2, commutative: false},
{name: "MaskedApproximateReciprocalOfSqrtFloat32x8", argLength: 2, commutative: false},
{name: "MaskedDivFloat32x8", argLength: 3, commutative: false},
{name: "AddFloat64x2", argLength: 2, commutative: true},
{name: "AddSubFloat64x2", argLength: 2, commutative: false},
{name: "AndFloat64x2", argLength: 2, commutative: true},
- {name: "AndNotFloat64x2", argLength: 2, commutative: true},
+ {name: "AndNotFloat64x2", argLength: 2, commutative: false},
{name: "ApproximateReciprocalFloat64x2", argLength: 1, commutative: false},
{name: "ApproximateReciprocalOfSqrtFloat64x2", argLength: 1, commutative: false},
{name: "CeilFloat64x2", argLength: 1, commutative: false},
{name: "LessEqualFloat64x2", argLength: 2, commutative: false},
{name: "MaskedAddFloat64x2", argLength: 3, commutative: true},
{name: "MaskedAndFloat64x2", argLength: 3, commutative: true},
- {name: "MaskedAndNotFloat64x2", argLength: 3, commutative: true},
+ {name: "MaskedAndNotFloat64x2", argLength: 3, commutative: false},
{name: "MaskedApproximateReciprocalFloat64x2", argLength: 2, commutative: false},
{name: "MaskedApproximateReciprocalOfSqrtFloat64x2", argLength: 2, commutative: false},
{name: "MaskedDivFloat64x2", argLength: 3, commutative: false},
{name: "AddFloat64x4", argLength: 2, commutative: true},
{name: "AddSubFloat64x4", argLength: 2, commutative: false},
{name: "AndFloat64x4", argLength: 2, commutative: true},
- {name: "AndNotFloat64x4", argLength: 2, commutative: true},
+ {name: "AndNotFloat64x4", argLength: 2, commutative: false},
{name: "ApproximateReciprocalFloat64x4", argLength: 1, commutative: false},
{name: "ApproximateReciprocalOfSqrtFloat64x4", argLength: 1, commutative: false},
{name: "CeilFloat64x4", argLength: 1, commutative: false},
{name: "LessEqualFloat64x4", argLength: 2, commutative: false},
{name: "MaskedAddFloat64x4", argLength: 3, commutative: true},
{name: "MaskedAndFloat64x4", argLength: 3, commutative: true},
- {name: "MaskedAndNotFloat64x4", argLength: 3, commutative: true},
+ {name: "MaskedAndNotFloat64x4", argLength: 3, commutative: false},
{name: "MaskedApproximateReciprocalFloat64x4", argLength: 2, commutative: false},
{name: "MaskedApproximateReciprocalOfSqrtFloat64x4", argLength: 2, commutative: false},
{name: "MaskedDivFloat64x4", argLength: 3, commutative: false},
{name: "XorFloat64x4", argLength: 2, commutative: true},
{name: "AddFloat64x8", argLength: 2, commutative: true},
{name: "AndFloat64x8", argLength: 2, commutative: true},
- {name: "AndNotFloat64x8", argLength: 2, commutative: true},
+ {name: "AndNotFloat64x8", argLength: 2, commutative: false},
{name: "ApproximateReciprocalFloat64x8", argLength: 1, commutative: false},
{name: "ApproximateReciprocalOfSqrtFloat64x8", argLength: 1, commutative: false},
{name: "DivFloat64x8", argLength: 2, commutative: false},
{name: "LessEqualFloat64x8", argLength: 2, commutative: false},
{name: "MaskedAddFloat64x8", argLength: 3, commutative: true},
{name: "MaskedAndFloat64x8", argLength: 3, commutative: true},
- {name: "MaskedAndNotFloat64x8", argLength: 3, commutative: true},
+ {name: "MaskedAndNotFloat64x8", argLength: 3, commutative: false},
{name: "MaskedApproximateReciprocalFloat64x8", argLength: 2, commutative: false},
{name: "MaskedApproximateReciprocalOfSqrtFloat64x8", argLength: 2, commutative: false},
{name: "MaskedDivFloat64x8", argLength: 3, commutative: false},
{name: "AbsoluteInt16x16", argLength: 1, commutative: false},
{name: "AddInt16x16", argLength: 2, commutative: true},
{name: "AndInt16x16", argLength: 2, commutative: true},
- {name: "AndNotInt16x16", argLength: 2, commutative: true},
+ {name: "AndNotInt16x16", argLength: 2, commutative: false},
{name: "EqualInt16x16", argLength: 2, commutative: true},
{name: "GreaterInt16x16", argLength: 2, commutative: false},
{name: "GreaterEqualInt16x16", argLength: 2, commutative: false},
{name: "AbsoluteInt16x8", argLength: 1, commutative: false},
{name: "AddInt16x8", argLength: 2, commutative: true},
{name: "AndInt16x8", argLength: 2, commutative: true},
- {name: "AndNotInt16x8", argLength: 2, commutative: true},
+ {name: "AndNotInt16x8", argLength: 2, commutative: false},
{name: "EqualInt16x8", argLength: 2, commutative: true},
{name: "GreaterInt16x8", argLength: 2, commutative: false},
{name: "GreaterEqualInt16x8", argLength: 2, commutative: false},
{name: "AbsoluteInt32x16", argLength: 1, commutative: false},
{name: "AddInt32x16", argLength: 2, commutative: true},
{name: "AndInt32x16", argLength: 2, commutative: true},
- {name: "AndNotInt32x16", argLength: 2, commutative: true},
+ {name: "AndNotInt32x16", argLength: 2, commutative: false},
{name: "EqualInt32x16", argLength: 2, commutative: true},
{name: "GreaterInt32x16", argLength: 2, commutative: false},
{name: "GreaterEqualInt32x16", argLength: 2, commutative: false},
{name: "MaskedAbsoluteInt32x16", argLength: 2, commutative: false},
{name: "MaskedAddInt32x16", argLength: 3, commutative: true},
{name: "MaskedAndInt32x16", argLength: 3, commutative: true},
- {name: "MaskedAndNotInt32x16", argLength: 3, commutative: true},
+ {name: "MaskedAndNotInt32x16", argLength: 3, commutative: false},
{name: "MaskedEqualInt32x16", argLength: 3, commutative: true},
{name: "MaskedGreaterInt32x16", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualInt32x16", argLength: 3, commutative: false},
{name: "AbsoluteInt32x4", argLength: 1, commutative: false},
{name: "AddInt32x4", argLength: 2, commutative: true},
{name: "AndInt32x4", argLength: 2, commutative: true},
- {name: "AndNotInt32x4", argLength: 2, commutative: true},
+ {name: "AndNotInt32x4", argLength: 2, commutative: false},
{name: "EqualInt32x4", argLength: 2, commutative: true},
{name: "GreaterInt32x4", argLength: 2, commutative: false},
{name: "GreaterEqualInt32x4", argLength: 2, commutative: false},
{name: "MaskedAbsoluteInt32x4", argLength: 2, commutative: false},
{name: "MaskedAddInt32x4", argLength: 3, commutative: true},
{name: "MaskedAndInt32x4", argLength: 3, commutative: true},
- {name: "MaskedAndNotInt32x4", argLength: 3, commutative: true},
+ {name: "MaskedAndNotInt32x4", argLength: 3, commutative: false},
{name: "MaskedEqualInt32x4", argLength: 3, commutative: true},
{name: "MaskedGreaterInt32x4", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualInt32x4", argLength: 3, commutative: false},
{name: "AbsoluteInt32x8", argLength: 1, commutative: false},
{name: "AddInt32x8", argLength: 2, commutative: true},
{name: "AndInt32x8", argLength: 2, commutative: true},
- {name: "AndNotInt32x8", argLength: 2, commutative: true},
+ {name: "AndNotInt32x8", argLength: 2, commutative: false},
{name: "EqualInt32x8", argLength: 2, commutative: true},
{name: "GreaterInt32x8", argLength: 2, commutative: false},
{name: "GreaterEqualInt32x8", argLength: 2, commutative: false},
{name: "MaskedAbsoluteInt32x8", argLength: 2, commutative: false},
{name: "MaskedAddInt32x8", argLength: 3, commutative: true},
{name: "MaskedAndInt32x8", argLength: 3, commutative: true},
- {name: "MaskedAndNotInt32x8", argLength: 3, commutative: true},
+ {name: "MaskedAndNotInt32x8", argLength: 3, commutative: false},
{name: "MaskedEqualInt32x8", argLength: 3, commutative: true},
{name: "MaskedGreaterInt32x8", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualInt32x8", argLength: 3, commutative: false},
{name: "AbsoluteInt64x2", argLength: 1, commutative: false},
{name: "AddInt64x2", argLength: 2, commutative: true},
{name: "AndInt64x2", argLength: 2, commutative: true},
- {name: "AndNotInt64x2", argLength: 2, commutative: true},
+ {name: "AndNotInt64x2", argLength: 2, commutative: false},
{name: "EqualInt64x2", argLength: 2, commutative: true},
{name: "GreaterInt64x2", argLength: 2, commutative: false},
{name: "GreaterEqualInt64x2", argLength: 2, commutative: false},
{name: "MaskedAbsoluteInt64x2", argLength: 2, commutative: false},
{name: "MaskedAddInt64x2", argLength: 3, commutative: true},
{name: "MaskedAndInt64x2", argLength: 3, commutative: true},
- {name: "MaskedAndNotInt64x2", argLength: 3, commutative: true},
+ {name: "MaskedAndNotInt64x2", argLength: 3, commutative: false},
{name: "MaskedEqualInt64x2", argLength: 3, commutative: true},
{name: "MaskedGreaterInt64x2", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualInt64x2", argLength: 3, commutative: false},
{name: "AbsoluteInt64x4", argLength: 1, commutative: false},
{name: "AddInt64x4", argLength: 2, commutative: true},
{name: "AndInt64x4", argLength: 2, commutative: true},
- {name: "AndNotInt64x4", argLength: 2, commutative: true},
+ {name: "AndNotInt64x4", argLength: 2, commutative: false},
{name: "EqualInt64x4", argLength: 2, commutative: true},
{name: "GreaterInt64x4", argLength: 2, commutative: false},
{name: "GreaterEqualInt64x4", argLength: 2, commutative: false},
{name: "MaskedAbsoluteInt64x4", argLength: 2, commutative: false},
{name: "MaskedAddInt64x4", argLength: 3, commutative: true},
{name: "MaskedAndInt64x4", argLength: 3, commutative: true},
- {name: "MaskedAndNotInt64x4", argLength: 3, commutative: true},
+ {name: "MaskedAndNotInt64x4", argLength: 3, commutative: false},
{name: "MaskedEqualInt64x4", argLength: 3, commutative: true},
{name: "MaskedGreaterInt64x4", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualInt64x4", argLength: 3, commutative: false},
{name: "AbsoluteInt64x8", argLength: 1, commutative: false},
{name: "AddInt64x8", argLength: 2, commutative: true},
{name: "AndInt64x8", argLength: 2, commutative: true},
- {name: "AndNotInt64x8", argLength: 2, commutative: true},
+ {name: "AndNotInt64x8", argLength: 2, commutative: false},
{name: "EqualInt64x8", argLength: 2, commutative: true},
{name: "GreaterInt64x8", argLength: 2, commutative: false},
{name: "GreaterEqualInt64x8", argLength: 2, commutative: false},
{name: "MaskedAbsoluteInt64x8", argLength: 2, commutative: false},
{name: "MaskedAddInt64x8", argLength: 3, commutative: true},
{name: "MaskedAndInt64x8", argLength: 3, commutative: true},
- {name: "MaskedAndNotInt64x8", argLength: 3, commutative: true},
+ {name: "MaskedAndNotInt64x8", argLength: 3, commutative: false},
{name: "MaskedEqualInt64x8", argLength: 3, commutative: true},
{name: "MaskedGreaterInt64x8", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualInt64x8", argLength: 3, commutative: false},
{name: "AbsoluteInt8x16", argLength: 1, commutative: false},
{name: "AddInt8x16", argLength: 2, commutative: true},
{name: "AndInt8x16", argLength: 2, commutative: true},
- {name: "AndNotInt8x16", argLength: 2, commutative: true},
+ {name: "AndNotInt8x16", argLength: 2, commutative: false},
{name: "EqualInt8x16", argLength: 2, commutative: true},
{name: "GreaterInt8x16", argLength: 2, commutative: false},
{name: "GreaterEqualInt8x16", argLength: 2, commutative: false},
{name: "AbsoluteInt8x32", argLength: 1, commutative: false},
{name: "AddInt8x32", argLength: 2, commutative: true},
{name: "AndInt8x32", argLength: 2, commutative: true},
- {name: "AndNotInt8x32", argLength: 2, commutative: true},
+ {name: "AndNotInt8x32", argLength: 2, commutative: false},
{name: "EqualInt8x32", argLength: 2, commutative: true},
{name: "GreaterInt8x32", argLength: 2, commutative: false},
{name: "GreaterEqualInt8x32", argLength: 2, commutative: false},
{name: "SubInt8x64", argLength: 2, commutative: false},
{name: "AddUint16x16", argLength: 2, commutative: true},
{name: "AndUint16x16", argLength: 2, commutative: true},
- {name: "AndNotUint16x16", argLength: 2, commutative: true},
+ {name: "AndNotUint16x16", argLength: 2, commutative: false},
{name: "AverageUint16x16", argLength: 2, commutative: true},
{name: "EqualUint16x16", argLength: 2, commutative: true},
{name: "GreaterUint16x16", argLength: 2, commutative: false},
{name: "SubUint16x32", argLength: 2, commutative: false},
{name: "AddUint16x8", argLength: 2, commutative: true},
{name: "AndUint16x8", argLength: 2, commutative: true},
- {name: "AndNotUint16x8", argLength: 2, commutative: true},
+ {name: "AndNotUint16x8", argLength: 2, commutative: false},
{name: "AverageUint16x8", argLength: 2, commutative: true},
{name: "EqualUint16x8", argLength: 2, commutative: true},
{name: "GreaterUint16x8", argLength: 2, commutative: false},
{name: "XorUint16x8", argLength: 2, commutative: true},
{name: "AddUint32x16", argLength: 2, commutative: true},
{name: "AndUint32x16", argLength: 2, commutative: true},
- {name: "AndNotUint32x16", argLength: 2, commutative: true},
+ {name: "AndNotUint32x16", argLength: 2, commutative: false},
{name: "EqualUint32x16", argLength: 2, commutative: true},
{name: "GreaterUint32x16", argLength: 2, commutative: false},
{name: "GreaterEqualUint32x16", argLength: 2, commutative: false},
{name: "LessEqualUint32x16", argLength: 2, commutative: false},
{name: "MaskedAddUint32x16", argLength: 3, commutative: true},
{name: "MaskedAndUint32x16", argLength: 3, commutative: true},
- {name: "MaskedAndNotUint32x16", argLength: 3, commutative: true},
+ {name: "MaskedAndNotUint32x16", argLength: 3, commutative: false},
{name: "MaskedEqualUint32x16", argLength: 3, commutative: true},
{name: "MaskedGreaterUint32x16", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualUint32x16", argLength: 3, commutative: false},
{name: "XorUint32x16", argLength: 2, commutative: true},
{name: "AddUint32x4", argLength: 2, commutative: true},
{name: "AndUint32x4", argLength: 2, commutative: true},
- {name: "AndNotUint32x4", argLength: 2, commutative: true},
+ {name: "AndNotUint32x4", argLength: 2, commutative: false},
{name: "EqualUint32x4", argLength: 2, commutative: true},
{name: "GreaterUint32x4", argLength: 2, commutative: false},
{name: "GreaterEqualUint32x4", argLength: 2, commutative: false},
{name: "LessEqualUint32x4", argLength: 2, commutative: false},
{name: "MaskedAddUint32x4", argLength: 3, commutative: true},
{name: "MaskedAndUint32x4", argLength: 3, commutative: true},
- {name: "MaskedAndNotUint32x4", argLength: 3, commutative: true},
+ {name: "MaskedAndNotUint32x4", argLength: 3, commutative: false},
{name: "MaskedEqualUint32x4", argLength: 3, commutative: true},
{name: "MaskedGreaterUint32x4", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualUint32x4", argLength: 3, commutative: false},
{name: "XorUint32x4", argLength: 2, commutative: true},
{name: "AddUint32x8", argLength: 2, commutative: true},
{name: "AndUint32x8", argLength: 2, commutative: true},
- {name: "AndNotUint32x8", argLength: 2, commutative: true},
+ {name: "AndNotUint32x8", argLength: 2, commutative: false},
{name: "EqualUint32x8", argLength: 2, commutative: true},
{name: "GreaterUint32x8", argLength: 2, commutative: false},
{name: "GreaterEqualUint32x8", argLength: 2, commutative: false},
{name: "LessEqualUint32x8", argLength: 2, commutative: false},
{name: "MaskedAddUint32x8", argLength: 3, commutative: true},
{name: "MaskedAndUint32x8", argLength: 3, commutative: true},
- {name: "MaskedAndNotUint32x8", argLength: 3, commutative: true},
+ {name: "MaskedAndNotUint32x8", argLength: 3, commutative: false},
{name: "MaskedEqualUint32x8", argLength: 3, commutative: true},
{name: "MaskedGreaterUint32x8", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualUint32x8", argLength: 3, commutative: false},
{name: "XorUint32x8", argLength: 2, commutative: true},
{name: "AddUint64x2", argLength: 2, commutative: true},
{name: "AndUint64x2", argLength: 2, commutative: true},
- {name: "AndNotUint64x2", argLength: 2, commutative: true},
+ {name: "AndNotUint64x2", argLength: 2, commutative: false},
{name: "EqualUint64x2", argLength: 2, commutative: true},
{name: "GreaterUint64x2", argLength: 2, commutative: false},
{name: "GreaterEqualUint64x2", argLength: 2, commutative: false},
{name: "LessEqualUint64x2", argLength: 2, commutative: false},
{name: "MaskedAddUint64x2", argLength: 3, commutative: true},
{name: "MaskedAndUint64x2", argLength: 3, commutative: true},
- {name: "MaskedAndNotUint64x2", argLength: 3, commutative: true},
+ {name: "MaskedAndNotUint64x2", argLength: 3, commutative: false},
{name: "MaskedEqualUint64x2", argLength: 3, commutative: true},
{name: "MaskedGreaterUint64x2", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualUint64x2", argLength: 3, commutative: false},
{name: "XorUint64x2", argLength: 2, commutative: true},
{name: "AddUint64x4", argLength: 2, commutative: true},
{name: "AndUint64x4", argLength: 2, commutative: true},
- {name: "AndNotUint64x4", argLength: 2, commutative: true},
+ {name: "AndNotUint64x4", argLength: 2, commutative: false},
{name: "EqualUint64x4", argLength: 2, commutative: true},
{name: "GreaterUint64x4", argLength: 2, commutative: false},
{name: "GreaterEqualUint64x4", argLength: 2, commutative: false},
{name: "LessEqualUint64x4", argLength: 2, commutative: false},
{name: "MaskedAddUint64x4", argLength: 3, commutative: true},
{name: "MaskedAndUint64x4", argLength: 3, commutative: true},
- {name: "MaskedAndNotUint64x4", argLength: 3, commutative: true},
+ {name: "MaskedAndNotUint64x4", argLength: 3, commutative: false},
{name: "MaskedEqualUint64x4", argLength: 3, commutative: true},
{name: "MaskedGreaterUint64x4", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualUint64x4", argLength: 3, commutative: false},
{name: "XorUint64x4", argLength: 2, commutative: true},
{name: "AddUint64x8", argLength: 2, commutative: true},
{name: "AndUint64x8", argLength: 2, commutative: true},
- {name: "AndNotUint64x8", argLength: 2, commutative: true},
+ {name: "AndNotUint64x8", argLength: 2, commutative: false},
{name: "EqualUint64x8", argLength: 2, commutative: true},
{name: "GreaterUint64x8", argLength: 2, commutative: false},
{name: "GreaterEqualUint64x8", argLength: 2, commutative: false},
{name: "LessEqualUint64x8", argLength: 2, commutative: false},
{name: "MaskedAddUint64x8", argLength: 3, commutative: true},
{name: "MaskedAndUint64x8", argLength: 3, commutative: true},
- {name: "MaskedAndNotUint64x8", argLength: 3, commutative: true},
+ {name: "MaskedAndNotUint64x8", argLength: 3, commutative: false},
{name: "MaskedEqualUint64x8", argLength: 3, commutative: true},
{name: "MaskedGreaterUint64x8", argLength: 3, commutative: false},
{name: "MaskedGreaterEqualUint64x8", argLength: 3, commutative: false},
{name: "XorUint64x8", argLength: 2, commutative: true},
{name: "AddUint8x16", argLength: 2, commutative: true},
{name: "AndUint8x16", argLength: 2, commutative: true},
- {name: "AndNotUint8x16", argLength: 2, commutative: true},
+ {name: "AndNotUint8x16", argLength: 2, commutative: false},
{name: "AverageUint8x16", argLength: 2, commutative: true},
{name: "EqualUint8x16", argLength: 2, commutative: true},
{name: "GreaterUint8x16", argLength: 2, commutative: false},
{name: "XorUint8x16", argLength: 2, commutative: true},
{name: "AddUint8x32", argLength: 2, commutative: true},
{name: "AndUint8x32", argLength: 2, commutative: true},
- {name: "AndNotUint8x32", argLength: 2, commutative: true},
+ {name: "AndNotUint8x32", argLength: 2, commutative: false},
{name: "AverageUint8x32", argLength: 2, commutative: true},
{name: "EqualUint8x32", argLength: 2, commutative: true},
{name: "GreaterUint8x32", argLength: 2, commutative: false},
},
},
{
- name: "VANDNPS512",
- argLen: 2,
- commutative: true,
- asm: x86.AVANDNPS,
+ name: "VANDNPS512",
+ argLen: 2,
+ asm: x86.AVANDNPS,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VANDNPSMasked512",
- argLen: 3,
- commutative: true,
- asm: x86.AVANDNPS,
+ name: "VANDNPSMasked512",
+ argLen: 3,
+ asm: x86.AVANDNPS,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VANDNPS128",
- argLen: 2,
- commutative: true,
- asm: x86.AVANDNPS,
+ name: "VANDNPS128",
+ argLen: 2,
+ asm: x86.AVANDNPS,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VANDNPSMasked128",
- argLen: 3,
- commutative: true,
- asm: x86.AVANDNPS,
+ name: "VANDNPSMasked128",
+ argLen: 3,
+ asm: x86.AVANDNPS,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VANDNPS256",
- argLen: 2,
- commutative: true,
- asm: x86.AVANDNPS,
+ name: "VANDNPS256",
+ argLen: 2,
+ asm: x86.AVANDNPS,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VANDNPSMasked256",
- argLen: 3,
- commutative: true,
- asm: x86.AVANDNPS,
+ name: "VANDNPSMasked256",
+ argLen: 3,
+ asm: x86.AVANDNPS,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VANDNPD128",
- argLen: 2,
- commutative: true,
- asm: x86.AVANDNPD,
+ name: "VANDNPD128",
+ argLen: 2,
+ asm: x86.AVANDNPD,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VANDNPDMasked128",
- argLen: 3,
- commutative: true,
- asm: x86.AVANDNPD,
+ name: "VANDNPDMasked128",
+ argLen: 3,
+ asm: x86.AVANDNPD,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VANDNPD256",
- argLen: 2,
- commutative: true,
- asm: x86.AVANDNPD,
+ name: "VANDNPD256",
+ argLen: 2,
+ asm: x86.AVANDNPD,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VANDNPDMasked256",
- argLen: 3,
- commutative: true,
- asm: x86.AVANDNPD,
+ name: "VANDNPDMasked256",
+ argLen: 3,
+ asm: x86.AVANDNPD,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VANDNPD512",
- argLen: 2,
- commutative: true,
- asm: x86.AVANDNPD,
+ name: "VANDNPD512",
+ argLen: 2,
+ asm: x86.AVANDNPD,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VANDNPDMasked512",
- argLen: 3,
- commutative: true,
- asm: x86.AVANDNPD,
+ name: "VANDNPDMasked512",
+ argLen: 3,
+ asm: x86.AVANDNPD,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VPANDN256",
- argLen: 2,
- commutative: true,
- asm: x86.AVPANDN,
+ name: "VPANDN256",
+ argLen: 2,
+ asm: x86.AVPANDN,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VPANDN128",
- argLen: 2,
- commutative: true,
- asm: x86.AVPANDN,
+ name: "VPANDN128",
+ argLen: 2,
+ asm: x86.AVPANDN,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VPANDND512",
- argLen: 2,
- commutative: true,
- asm: x86.AVPANDND,
+ name: "VPANDND512",
+ argLen: 2,
+ asm: x86.AVPANDND,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VPANDNDMasked512",
- argLen: 3,
- commutative: true,
- asm: x86.AVPANDND,
+ name: "VPANDNDMasked512",
+ argLen: 3,
+ asm: x86.AVPANDND,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VPANDNDMasked128",
- argLen: 3,
- commutative: true,
- asm: x86.AVPANDND,
+ name: "VPANDNDMasked128",
+ argLen: 3,
+ asm: x86.AVPANDND,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VPANDNDMasked256",
- argLen: 3,
- commutative: true,
- asm: x86.AVPANDND,
+ name: "VPANDNDMasked256",
+ argLen: 3,
+ asm: x86.AVPANDND,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VPANDNQMasked128",
- argLen: 3,
- commutative: true,
- asm: x86.AVPANDNQ,
+ name: "VPANDNQMasked128",
+ argLen: 3,
+ asm: x86.AVPANDNQ,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VPANDNQMasked256",
- argLen: 3,
- commutative: true,
- asm: x86.AVPANDNQ,
+ name: "VPANDNQMasked256",
+ argLen: 3,
+ asm: x86.AVPANDNQ,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
},
},
{
- name: "VPANDNQ512",
- argLen: 2,
- commutative: true,
- asm: x86.AVPANDNQ,
+ name: "VPANDNQ512",
+ argLen: 2,
+ asm: x86.AVPANDNQ,
reg: regInfo{
inputs: []inputInfo{
{0, 2147418112}, // X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
},
},
{
- name: "VPANDNQMasked512",
- argLen: 3,
- commutative: true,
- asm: x86.AVPANDNQ,
+ name: "VPANDNQMasked512",
+ argLen: 3,
+ asm: x86.AVPANDNQ,
reg: regInfo{
inputs: []inputInfo{
{2, 1090921693184}, // K1 K2 K3 K4 K5 K6 K7
generic: true,
},
{
- name: "AndNotFloat32x16",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotFloat32x16",
+ argLen: 2,
+ generic: true,
},
{
name: "ApproximateReciprocalFloat32x16",
generic: true,
},
{
- name: "MaskedAndNotFloat32x16",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotFloat32x16",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedApproximateReciprocalFloat32x16",
generic: true,
},
{
- name: "AndNotFloat32x4",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotFloat32x4",
+ argLen: 2,
+ generic: true,
},
{
name: "ApproximateReciprocalFloat32x4",
generic: true,
},
{
- name: "MaskedAndNotFloat32x4",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotFloat32x4",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedApproximateReciprocalFloat32x4",
generic: true,
},
{
- name: "AndNotFloat32x8",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotFloat32x8",
+ argLen: 2,
+ generic: true,
},
{
name: "ApproximateReciprocalFloat32x8",
generic: true,
},
{
- name: "MaskedAndNotFloat32x8",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotFloat32x8",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedApproximateReciprocalFloat32x8",
generic: true,
},
{
- name: "AndNotFloat64x2",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotFloat64x2",
+ argLen: 2,
+ generic: true,
},
{
name: "ApproximateReciprocalFloat64x2",
generic: true,
},
{
- name: "MaskedAndNotFloat64x2",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotFloat64x2",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedApproximateReciprocalFloat64x2",
generic: true,
},
{
- name: "AndNotFloat64x4",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotFloat64x4",
+ argLen: 2,
+ generic: true,
},
{
name: "ApproximateReciprocalFloat64x4",
generic: true,
},
{
- name: "MaskedAndNotFloat64x4",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotFloat64x4",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedApproximateReciprocalFloat64x4",
generic: true,
},
{
- name: "AndNotFloat64x8",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotFloat64x8",
+ argLen: 2,
+ generic: true,
},
{
name: "ApproximateReciprocalFloat64x8",
generic: true,
},
{
- name: "MaskedAndNotFloat64x8",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotFloat64x8",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedApproximateReciprocalFloat64x8",
generic: true,
},
{
- name: "AndNotInt16x16",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt16x16",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt16x16",
generic: true,
},
{
- name: "AndNotInt16x8",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt16x8",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt16x8",
generic: true,
},
{
- name: "AndNotInt32x16",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt32x16",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt32x16",
generic: true,
},
{
- name: "MaskedAndNotInt32x16",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotInt32x16",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualInt32x16",
generic: true,
},
{
- name: "AndNotInt32x4",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt32x4",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt32x4",
generic: true,
},
{
- name: "MaskedAndNotInt32x4",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotInt32x4",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualInt32x4",
generic: true,
},
{
- name: "AndNotInt32x8",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt32x8",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt32x8",
generic: true,
},
{
- name: "MaskedAndNotInt32x8",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotInt32x8",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualInt32x8",
generic: true,
},
{
- name: "AndNotInt64x2",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt64x2",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt64x2",
generic: true,
},
{
- name: "MaskedAndNotInt64x2",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotInt64x2",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualInt64x2",
generic: true,
},
{
- name: "AndNotInt64x4",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt64x4",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt64x4",
generic: true,
},
{
- name: "MaskedAndNotInt64x4",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotInt64x4",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualInt64x4",
generic: true,
},
{
- name: "AndNotInt64x8",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt64x8",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt64x8",
generic: true,
},
{
- name: "MaskedAndNotInt64x8",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotInt64x8",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualInt64x8",
generic: true,
},
{
- name: "AndNotInt8x16",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt8x16",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt8x16",
generic: true,
},
{
- name: "AndNotInt8x32",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotInt8x32",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualInt8x32",
generic: true,
},
{
- name: "AndNotUint16x16",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint16x16",
+ argLen: 2,
+ generic: true,
},
{
name: "AverageUint16x16",
generic: true,
},
{
- name: "AndNotUint16x8",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint16x8",
+ argLen: 2,
+ generic: true,
},
{
name: "AverageUint16x8",
generic: true,
},
{
- name: "AndNotUint32x16",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint32x16",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualUint32x16",
generic: true,
},
{
- name: "MaskedAndNotUint32x16",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotUint32x16",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualUint32x16",
generic: true,
},
{
- name: "AndNotUint32x4",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint32x4",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualUint32x4",
generic: true,
},
{
- name: "MaskedAndNotUint32x4",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotUint32x4",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualUint32x4",
generic: true,
},
{
- name: "AndNotUint32x8",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint32x8",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualUint32x8",
generic: true,
},
{
- name: "MaskedAndNotUint32x8",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotUint32x8",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualUint32x8",
generic: true,
},
{
- name: "AndNotUint64x2",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint64x2",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualUint64x2",
generic: true,
},
{
- name: "MaskedAndNotUint64x2",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotUint64x2",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualUint64x2",
generic: true,
},
{
- name: "AndNotUint64x4",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint64x4",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualUint64x4",
generic: true,
},
{
- name: "MaskedAndNotUint64x4",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotUint64x4",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualUint64x4",
generic: true,
},
{
- name: "AndNotUint64x8",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint64x8",
+ argLen: 2,
+ generic: true,
},
{
name: "EqualUint64x8",
generic: true,
},
{
- name: "MaskedAndNotUint64x8",
- argLen: 3,
- commutative: true,
- generic: true,
+ name: "MaskedAndNotUint64x8",
+ argLen: 3,
+ generic: true,
},
{
name: "MaskedEqualUint64x8",
generic: true,
},
{
- name: "AndNotUint8x16",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint8x16",
+ argLen: 2,
+ generic: true,
},
{
name: "AverageUint8x16",
generic: true,
},
{
- name: "AndNotUint8x32",
- argLen: 2,
- commutative: true,
- generic: true,
+ name: "AndNotUint8x32",
+ argLen: 2,
+ generic: true,
},
{
name: "AverageUint8x32",