blob: 9937ca08aafa7156b39a1497e46cdd4129e07bc8 [file] [log] [blame]
# RUN: llc -mtriple=x86_64-- -run-pass x86-evex-to-vex-compress -verify-machineinstrs -mcpu=skx -o - %s | FileCheck %s
# This test verifies VEX encdoing for AVX-512 instructions that use registers of low inedexes and
# do not use zmm or mask registers and have a corresponding AVX/AVX2 opcode
--- |
define void @evex_z256_to_vex_test() { ret void }
define void @evex_z128_to_vex_test() { ret void }
define void @evex_scalar_to_vex_test() { ret void }
define void @evex_z256_to_evex_test() { ret void }
define void @evex_z128_to_evex_test() { ret void }
define void @evex_scalar_to_evex_test() { ret void }
...
---
# CHECK-LABEL: name: evex_z256_to_vex_test
# CHECK: bb.0:
name: evex_z256_to_vex_test
body: |
bb.0:
; CHECK: VMOVAPDYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVAPDZ256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVAPDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVAPDZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVAPDYrr $ymm0
$ymm0 = VMOVAPDZ256rr $ymm0
; CHECK: $ymm0 = VMOVAPDYrr_REV $ymm0
$ymm0 = VMOVAPDZ256rr_REV $ymm0
; CHECK: VMOVAPSYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVAPSZ256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVAPSYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVAPSZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVAPSYrr $ymm0
$ymm0 = VMOVAPSZ256rr $ymm0
; CHECK: $ymm0 = VMOVAPSYrr_REV $ymm0
$ymm0 = VMOVAPSZ256rr_REV $ymm0
; CHECK: $ymm0 = VMOVDDUPYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVDDUPZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVDDUPYrr $ymm0
$ymm0 = VMOVDDUPZ256rr $ymm0
; CHECK: VMOVDQAYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVDQA32Z256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVDQAYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVDQA32Z256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVDQAYrr $ymm0
$ymm0 = VMOVDQA32Z256rr $ymm0
; CHECK: $ymm0 = VMOVDQAYrr_REV $ymm0
$ymm0 = VMOVDQA32Z256rr_REV $ymm0
; CHECK: VMOVDQAYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVDQA64Z256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVDQAYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVDQA64Z256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVDQAYrr $ymm0
$ymm0 = VMOVDQA64Z256rr $ymm0
; CHECK: $ymm0 = VMOVDQAYrr_REV $ymm0
$ymm0 = VMOVDQA64Z256rr_REV $ymm0
; CHECK: VMOVDQUYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVDQU16Z256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVDQUYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVDQU16Z256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVDQUYrr $ymm0
$ymm0 = VMOVDQU16Z256rr $ymm0
; CHECK: $ymm0 = VMOVDQUYrr_REV $ymm0
$ymm0 = VMOVDQU16Z256rr_REV $ymm0
; CHECK: VMOVDQUYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVDQU32Z256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVDQUYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVDQU32Z256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVDQUYrr $ymm0
$ymm0 = VMOVDQU32Z256rr $ymm0
; CHECK: $ymm0 = VMOVDQUYrr_REV $ymm0
$ymm0 = VMOVDQU32Z256rr_REV $ymm0
; CHECK: VMOVDQUYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVDQU64Z256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVDQUYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVDQU64Z256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVDQUYrr $ymm0
$ymm0 = VMOVDQU64Z256rr $ymm0
; CHECK: $ymm0 = VMOVDQUYrr_REV $ymm0
$ymm0 = VMOVDQU64Z256rr_REV $ymm0
; CHECK: VMOVDQUYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVDQU8Z256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVDQUYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVDQU8Z256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVDQUYrr $ymm0
$ymm0 = VMOVDQU8Z256rr $ymm0
; CHECK: $ymm0 = VMOVDQUYrr_REV $ymm0
$ymm0 = VMOVDQU8Z256rr_REV $ymm0
; CHECK: $ymm0 = VMOVNTDQAYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVNTDQAZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: VMOVNTDQYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVNTDQZ256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: VMOVNTPDYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVNTPDZ256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: VMOVNTPSYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVNTPSZ256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVSHDUPYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVSHDUPZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVSHDUPYrr $ymm0
$ymm0 = VMOVSHDUPZ256rr $ymm0
; CHECK: $ymm0 = VMOVSLDUPYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVSLDUPZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVSLDUPYrr $ymm0
$ymm0 = VMOVSLDUPZ256rr $ymm0
; CHECK: VMOVUPDYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVUPDZ256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VMOVUPDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMOVUPDZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMOVUPDYrr $ymm0
$ymm0 = VMOVUPDZ256rr $ymm0
; CHECK: $ymm0 = VMOVUPDYrr_REV $ymm0
$ymm0 = VMOVUPDZ256rr_REV $ymm0
; CHECK: VMOVUPSYmr $rdi, 1, $noreg, 0, $noreg, $ymm0
VMOVUPSZ256mr $rdi, 1, $noreg, 0, $noreg, $ymm0
; CHECK: $ymm0 = VPANDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPANDDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPANDYrr $ymm0, $ymm1
$ymm0 = VPANDDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPANDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPANDQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPANDYrr $ymm0, $ymm1
$ymm0 = VPANDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPANDNYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPANDNDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPANDNYrr $ymm0, $ymm1
$ymm0 = VPANDNDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPANDNYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPANDNQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPANDNYrr $ymm0, $ymm1
$ymm0 = VPANDNQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPAVGBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPAVGBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPAVGBYrr $ymm0, $ymm1
$ymm0 = VPAVGBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPAVGWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPAVGWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPAVGWYrr $ymm0, $ymm1
$ymm0 = VPAVGWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPADDBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPADDBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPADDBYrr $ymm0, $ymm1
$ymm0 = VPADDBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPADDDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPADDDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPADDDYrr $ymm0, $ymm1
$ymm0 = VPADDDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPADDQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPADDQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPADDQYrr $ymm0, $ymm1
$ymm0 = VPADDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPADDSBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPADDSBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPADDSBYrr $ymm0, $ymm1
$ymm0 = VPADDSBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPADDSWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPADDSWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPADDSWYrr $ymm0, $ymm1
$ymm0 = VPADDSWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPADDUSBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPADDUSBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPADDUSBYrr $ymm0, $ymm1
$ymm0 = VPADDUSBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPADDUSWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPADDUSWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPADDUSWYrr $ymm0, $ymm1
$ymm0 = VPADDUSWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPADDWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPADDWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPADDWYrr $ymm0, $ymm1
$ymm0 = VPADDWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMULPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMULPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMULPDYrr $ymm0, $ymm1
$ymm0 = VMULPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMULPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMULPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMULPSYrr $ymm0, $ymm1
$ymm0 = VMULPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VORPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VORPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VORPDYrr $ymm0, $ymm1
$ymm0 = VORPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VORPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VORPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VORPSYrr $ymm0, $ymm1
$ymm0 = VORPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMADDUBSWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMADDUBSWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMADDUBSWYrr $ymm0, $ymm1
$ymm0 = VPMADDUBSWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMADDWDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMADDWDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMADDWDYrr $ymm0, $ymm1
$ymm0 = VPMADDWDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMAXSBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMAXSBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMAXSBYrr $ymm0, $ymm1
$ymm0 = VPMAXSBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMAXSDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMAXSDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMAXSDYrr $ymm0, $ymm1
$ymm0 = VPMAXSDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMAXSWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMAXSWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMAXSWYrr $ymm0, $ymm1
$ymm0 = VPMAXSWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMAXUBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMAXUBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMAXUBYrr $ymm0, $ymm1
$ymm0 = VPMAXUBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMAXUDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMAXUDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMAXUDYrr $ymm0, $ymm1
$ymm0 = VPMAXUDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMAXUWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMAXUWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMAXUWYrr $ymm0, $ymm1
$ymm0 = VPMAXUWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMINSBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMINSBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMINSBYrr $ymm0, $ymm1
$ymm0 = VPMINSBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMINSDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMINSDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMINSDYrr $ymm0, $ymm1
$ymm0 = VPMINSDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMINSWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMINSWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMINSWYrr $ymm0, $ymm1
$ymm0 = VPMINSWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMINUBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMINUBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMINUBYrr $ymm0, $ymm1
$ymm0 = VPMINUBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMINUDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMINUDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMINUDYrr $ymm0, $ymm1
$ymm0 = VPMINUDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMINUWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMINUWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMINUWYrr $ymm0, $ymm1
$ymm0 = VPMINUWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMULDQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMULDQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMULDQYrr $ymm0, $ymm1
$ymm0 = VPMULDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMULHRSWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMULHRSWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMULHRSWYrr $ymm0, $ymm1
$ymm0 = VPMULHRSWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMULHUWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMULHUWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMULHUWYrr $ymm0, $ymm1
$ymm0 = VPMULHUWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMULHWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMULHWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMULHWYrr $ymm0, $ymm1
$ymm0 = VPMULHWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMULLDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMULLDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMULLDYrr $ymm0, $ymm1
$ymm0 = VPMULLDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMULLWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMULLWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMULLWYrr $ymm0, $ymm1
$ymm0 = VPMULLWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPMULUDQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMULUDQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMULUDQYrr $ymm0, $ymm1
$ymm0 = VPMULUDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPORYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPORDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPORYrr $ymm0, $ymm1
$ymm0 = VPORDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPORYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPORQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPORYrr $ymm0, $ymm1
$ymm0 = VPORQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSUBBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSUBBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSUBBYrr $ymm0, $ymm1
$ymm0 = VPSUBBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSUBDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSUBDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSUBDYrr $ymm0, $ymm1
$ymm0 = VPSUBDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSUBQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSUBQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSUBQYrr $ymm0, $ymm1
$ymm0 = VPSUBQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSUBSBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSUBSBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSUBSBYrr $ymm0, $ymm1
$ymm0 = VPSUBSBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSUBSWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSUBSWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSUBSWYrr $ymm0, $ymm1
$ymm0 = VPSUBSWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSUBUSBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSUBUSBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSUBUSBYrr $ymm0, $ymm1
$ymm0 = VPSUBUSBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSUBUSWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSUBUSWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSUBUSWYrr $ymm0, $ymm1
$ymm0 = VPSUBUSWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSUBWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSUBWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSUBWYrr $ymm0, $ymm1
$ymm0 = VPSUBWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPXORYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPXORDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPXORYrr $ymm0, $ymm1
$ymm0 = VPXORDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPXORYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPXORQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPXORYrr $ymm0, $ymm1
$ymm0 = VPXORQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VADDPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VADDPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VADDPDYrr $ymm0, $ymm1
$ymm0 = VADDPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VADDPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VADDPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VADDPSYrr $ymm0, $ymm1
$ymm0 = VADDPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VANDNPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VANDNPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VANDNPDYrr $ymm0, $ymm1
$ymm0 = VANDNPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VANDNPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VANDNPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VANDNPSYrr $ymm0, $ymm1
$ymm0 = VANDNPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VANDPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VANDPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VANDPDYrr $ymm0, $ymm1
$ymm0 = VANDPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VANDPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VANDPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VANDPSYrr $ymm0, $ymm1
$ymm0 = VANDPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VDIVPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VDIVPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VDIVPDYrr $ymm0, $ymm1
$ymm0 = VDIVPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VDIVPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VDIVPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VDIVPSYrr $ymm0, $ymm1
$ymm0 = VDIVPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMAXCPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMAXCPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMAXCPDYrr $ymm0, $ymm1
$ymm0 = VMAXCPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMAXCPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMAXCPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMAXCPSYrr $ymm0, $ymm1
$ymm0 = VMAXCPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMAXCPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMAXPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMAXCPDYrr $ymm0, $ymm1
$ymm0 = VMAXPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMAXCPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMAXPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMAXCPSYrr $ymm0, $ymm1
$ymm0 = VMAXPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMINCPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMINCPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMINCPDYrr $ymm0, $ymm1
$ymm0 = VMINCPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMINCPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMINCPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMINCPSYrr $ymm0, $ymm1
$ymm0 = VMINCPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMINCPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMINPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMINCPDYrr $ymm0, $ymm1
$ymm0 = VMINPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VMINCPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VMINPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VMINCPSYrr $ymm0, $ymm1
$ymm0 = VMINPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VXORPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VXORPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VXORPDYrr $ymm0, $ymm1
$ymm0 = VXORPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VXORPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VXORPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VXORPSYrr $ymm0, $ymm1
$ymm0 = VXORPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPACKSSDWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPACKSSDWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPACKSSDWYrr $ymm0, $ymm1
$ymm0 = VPACKSSDWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPACKSSWBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPACKSSWBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPACKSSWBYrr $ymm0, $ymm1
$ymm0 = VPACKSSWBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPACKUSDWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPACKUSDWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPACKUSDWYrr $ymm0, $ymm1
$ymm0 = VPACKUSDWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPACKUSWBYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPACKUSWBZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPACKUSWBYrr $ymm0, $ymm1
$ymm0 = VPACKUSWBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VUNPCKHPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VUNPCKHPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VUNPCKHPDYrr $ymm0, $ymm1
$ymm0 = VUNPCKHPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VUNPCKHPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VUNPCKHPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VUNPCKHPSYrr $ymm0, $ymm1
$ymm0 = VUNPCKHPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VUNPCKLPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VUNPCKLPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VUNPCKLPDYrr $ymm0, $ymm1
$ymm0 = VUNPCKLPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VUNPCKLPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VUNPCKLPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VUNPCKLPSYrr $ymm0, $ymm1
$ymm0 = VUNPCKLPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VSUBPDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VSUBPDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VSUBPDYrr $ymm0, $ymm1
$ymm0 = VSUBPDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VSUBPSYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VSUBPSZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VSUBPSYrr $ymm0, $ymm1
$ymm0 = VSUBPSZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPUNPCKHBWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPUNPCKHBWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPUNPCKHBWYrr $ymm0, $ymm1
$ymm0 = VPUNPCKHBWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPUNPCKHDQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPUNPCKHDQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPUNPCKHDQYrr $ymm0, $ymm1
$ymm0 = VPUNPCKHDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPUNPCKHQDQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPUNPCKHQDQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPUNPCKHQDQYrr $ymm0, $ymm1
$ymm0 = VPUNPCKHQDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPUNPCKHWDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPUNPCKHWDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPUNPCKHWDYrr $ymm0, $ymm1
$ymm0 = VPUNPCKHWDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPUNPCKLBWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPUNPCKLBWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPUNPCKLBWYrr $ymm0, $ymm1
$ymm0 = VPUNPCKLBWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPUNPCKLDQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPUNPCKLDQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPUNPCKLDQYrr $ymm0, $ymm1
$ymm0 = VPUNPCKLDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPUNPCKLQDQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPUNPCKLQDQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPUNPCKLQDQYrr $ymm0, $ymm1
$ymm0 = VPUNPCKLQDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPUNPCKLWDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPUNPCKLWDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPUNPCKLWDYrr $ymm0, $ymm1
$ymm0 = VPUNPCKLWDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VFMADD132PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADD132PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADD132PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADD132PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADD132PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADD132PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADD132PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADD132PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADD213PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADD213PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADD213PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADD213PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADD213PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADD213PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADD213PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADD213PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADD231PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADD231PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADD231PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADD231PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADD231PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADD231PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADD231PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADD231PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADDSUB132PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADDSUB132PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADDSUB132PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADDSUB132PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADDSUB132PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADDSUB132PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADDSUB132PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADDSUB132PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADDSUB213PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADDSUB213PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADDSUB213PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADDSUB213PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADDSUB213PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADDSUB213PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADDSUB213PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADDSUB213PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADDSUB231PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADDSUB231PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADDSUB231PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADDSUB231PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMADDSUB231PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMADDSUB231PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMADDSUB231PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMADDSUB231PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUB132PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUB132PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUB132PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUB132PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUB132PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUB132PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUB132PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUB132PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUB213PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUB213PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUB213PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUB213PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUB213PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUB213PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUB213PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUB213PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUB231PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUB231PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUB231PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUB231PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUB231PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUB231PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUB231PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUB231PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUBADD132PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUBADD132PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUBADD132PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUBADD132PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUBADD132PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUBADD132PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUBADD132PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUBADD132PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUBADD213PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUBADD213PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUBADD213PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUBADD213PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUBADD213PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUBADD213PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUBADD213PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUBADD213PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUBADD231PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUBADD231PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUBADD231PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUBADD231PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFMSUBADD231PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFMSUBADD231PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFMSUBADD231PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFMSUBADD231PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMADD132PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMADD132PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMADD132PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMADD132PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMADD132PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMADD132PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMADD132PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMADD132PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMADD213PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMADD213PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMADD213PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMADD213PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMADD213PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMADD213PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMADD213PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMADD213PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMADD231PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMADD231PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMADD231PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMADD231PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMADD231PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMADD231PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMADD231PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMADD231PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMSUB132PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMSUB132PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMSUB132PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMSUB132PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMSUB132PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMSUB132PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMSUB132PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMSUB132PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMSUB213PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMSUB213PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMSUB213PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMSUB213PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMSUB213PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMSUB213PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMSUB213PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMSUB213PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMSUB231PDYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMSUB231PDZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMSUB231PDYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMSUB231PDZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VFNMSUB231PSYm $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
$ymm0 = VFNMSUB231PSZ256m $ymm0, $ymm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VFNMSUB231PSYr $ymm0, $ymm1, $ymm2
$ymm0 = VFNMSUB231PSZ256r $ymm0, $ymm1, $ymm2
; CHECK: $ymm0 = VPSRADYri $ymm0, 7
$ymm0 = VPSRADZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSRADYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSRADZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSRADYrr $ymm0, $xmm1
$ymm0 = VPSRADZ256rr $ymm0, $xmm1
; CHECK: $ymm0 = VPSRAVDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSRAVDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSRAVDYrr $ymm0, $ymm1
$ymm0 = VPSRAVDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSRAWYri $ymm0, 7
$ymm0 = VPSRAWZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSRAWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSRAWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSRAWYrr $ymm0, $xmm1
$ymm0 = VPSRAWZ256rr $ymm0, $xmm1
; CHECK: $ymm0 = VPSRLDQYri $ymm0, $ymm1
$ymm0 = VPSRLDQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSRLDYri $ymm0, 7
$ymm0 = VPSRLDZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSRLDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSRLDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSRLDYrr $ymm0, $xmm1
$ymm0 = VPSRLDZ256rr $ymm0, $xmm1
; CHECK: $ymm0 = VPSRLQYri $ymm0, 7
$ymm0 = VPSRLQZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSRLQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSRLQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSRLQYrr $ymm0, $xmm1
$ymm0 = VPSRLQZ256rr $ymm0, $xmm1
; CHECK: $ymm0 = VPSRLVDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSRLVDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSRLVDYrr $ymm0, $ymm1
$ymm0 = VPSRLVDZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSRLVQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSRLVQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSRLVQYrr $ymm0, $ymm1
$ymm0 = VPSRLVQZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSRLWYri $ymm0, 7
$ymm0 = VPSRLWZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSRLWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSRLWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSRLWYrr $ymm0, $xmm1
$ymm0 = VPSRLWZ256rr $ymm0, $xmm1
; CHECK: $ymm0 = VPMOVSXBDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVSXBDZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVSXBDYrr $xmm0
$ymm0 = VPMOVSXBDZ256rr $xmm0
; CHECK: $ymm0 = VPMOVSXBQYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVSXBQZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVSXBQYrr $xmm0
$ymm0 = VPMOVSXBQZ256rr $xmm0
; CHECK: $ymm0 = VPMOVSXBWYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVSXBWZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVSXBWYrr $xmm0
$ymm0 = VPMOVSXBWZ256rr $xmm0
; CHECK: $ymm0 = VPMOVSXDQYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVSXDQZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVSXDQYrr $xmm0
$ymm0 = VPMOVSXDQZ256rr $xmm0
; CHECK: $ymm0 = VPMOVSXWDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVSXWDZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVSXWDYrr $xmm0
$ymm0 = VPMOVSXWDZ256rr $xmm0
; CHECK: $ymm0 = VPMOVSXWQYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVSXWQZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVSXWQYrr $xmm0
$ymm0 = VPMOVSXWQZ256rr $xmm0
; CHECK: $ymm0 = VPMOVZXBDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVZXBDZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVZXBDYrr $xmm0
$ymm0 = VPMOVZXBDZ256rr $xmm0
; CHECK: $ymm0 = VPMOVZXBQYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVZXBQZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVZXBQYrr $xmm0
$ymm0 = VPMOVZXBQZ256rr $xmm0
; CHECK: $ymm0 = VPMOVZXBWYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVZXBWZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVZXBWYrr $xmm0
$ymm0 = VPMOVZXBWZ256rr $xmm0
; CHECK: $ymm0 = VPMOVZXDQYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVZXDQZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVZXDQYrr $xmm0
$ymm0 = VPMOVZXDQZ256rr $xmm0
; CHECK: $ymm0 = VPMOVZXWDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVZXWDZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVZXWDYrr $xmm0
$ymm0 = VPMOVZXWDZ256rr $xmm0
; CHECK: $ymm0 = VPMOVZXWQYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPMOVZXWQZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPMOVZXWQYrr $xmm0
$ymm0 = VPMOVZXWQZ256rr $xmm0
; CHECK: $ymm0 = VBROADCASTF128 $rip, 1, $noreg, $rax, $noreg
$ymm0 = VBROADCASTF32X4Z256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VBROADCASTSDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VBROADCASTF32X2Z256m $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VBROADCASTSDYrr $xmm0
$ymm0 = VBROADCASTF32X2Z256r $xmm0
; CHECK: $ymm0 = VBROADCASTSDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VBROADCASTSDZ256m $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VBROADCASTSDYrr $xmm0
$ymm0 = VBROADCASTSDZ256r $xmm0
; CHECK: $ymm0 = VBROADCASTSSYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VBROADCASTSSZ256m $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VBROADCASTSSYrr $xmm0
$ymm0 = VBROADCASTSSZ256r $xmm0
; CHECK: $ymm0 = VPBROADCASTBYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPBROADCASTBZ256m $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPBROADCASTBYrr $xmm0
$ymm0 = VPBROADCASTBZ256r $xmm0
; CHECK: $ymm0 = VPBROADCASTDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPBROADCASTDZ256m $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPBROADCASTDYrr $xmm0
$ymm0 = VPBROADCASTDZ256r $xmm0
; CHECK: $ymm0 = VPBROADCASTWYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPBROADCASTWZ256m $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPBROADCASTWYrr $xmm0
$ymm0 = VPBROADCASTWZ256r $xmm0
; CHECK: $ymm0 = VBROADCASTI128 $rip, 1, $noreg, $rax, $noreg
$ymm0 = VBROADCASTI32X4Z256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPBROADCASTQYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VBROADCASTI32X2Z256m $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPBROADCASTQYrr $xmm0
$ymm0 = VBROADCASTI32X2Z256r $xmm0
; CHECK: $ymm0 = VPBROADCASTQYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPBROADCASTQZ256m $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPBROADCASTQYrr $xmm0
$ymm0 = VPBROADCASTQZ256r $xmm0
; CHECK: $ymm0 = VPABSBYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPABSBZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPABSBYrr $ymm0
$ymm0 = VPABSBZ256rr $ymm0
; CHECK: $ymm0 = VPABSDYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPABSDZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPABSDYrr $ymm0
$ymm0 = VPABSDZ256rr $ymm0
; CHECK: $ymm0 = VPABSWYrm $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPABSWZ256rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPABSWYrr $ymm0
$ymm0 = VPABSWZ256rr $ymm0
; CHECK: $ymm0 = VPSADBWYrm $ymm0, 1, $noreg, $rax, $noreg, $noreg
$ymm0 = VPSADBWZ256rm $ymm0, 1, $noreg, $rax, $noreg, $noreg
; CHECK: $ymm0 = VPSADBWYrr $ymm0, $ymm1
$ymm0 = VPSADBWZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPERMDYrm $ymm0, $rdi, 1, $noreg, 0, $noreg
$ymm0 = VPERMDZ256rm $ymm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VPERMDYrr $ymm1, $ymm0
$ymm0 = VPERMDZ256rr $ymm1, $ymm0
; CHECK: $ymm0 = VPERMILPDYmi $rdi, 1, $noreg, 0, $noreg, $noreg
$ymm0 = VPERMILPDZ256mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $ymm0 = VPERMILPDYri $ymm0, 7
$ymm0 = VPERMILPDZ256ri $ymm0, 7
; CHECK: $ymm0 = VPERMILPDYrm $ymm0, $rdi, 1, $noreg, 0, $noreg
$ymm0 = VPERMILPDZ256rm $ymm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VPERMILPDYrr $ymm1, $ymm0
$ymm0 = VPERMILPDZ256rr $ymm1, $ymm0
; CHECK: $ymm0 = VPERMILPSYmi $rdi, 1, $noreg, 0, $noreg, $noreg
$ymm0 = VPERMILPSZ256mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $ymm0 = VPERMILPSYri $ymm0, 7
$ymm0 = VPERMILPSZ256ri $ymm0, 7
; CHECK: $ymm0 = VPERMILPSYrm $ymm0, $rdi, 1, $noreg, 0, $noreg
$ymm0 = VPERMILPSZ256rm $ymm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VPERMILPSYrr $ymm1, $ymm0
$ymm0 = VPERMILPSZ256rr $ymm1, $ymm0
; CHECK: $ymm0 = VPERMPDYmi $rdi, 1, $noreg, 0, $noreg, $noreg
$ymm0 = VPERMPDZ256mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $ymm0 = VPERMPDYri $ymm0, 7
$ymm0 = VPERMPDZ256ri $ymm0, 7
; CHECK: $ymm0 = VPERMPSYrm $ymm0, $rdi, 1, $noreg, 0, $noreg
$ymm0 = VPERMPSZ256rm $ymm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VPERMPSYrr $ymm1, $ymm0
$ymm0 = VPERMPSZ256rr $ymm1, $ymm0
; CHECK: $ymm0 = VPERMQYmi $rdi, 1, $noreg, 0, $noreg, $noreg
$ymm0 = VPERMQZ256mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $ymm0 = VPERMQYri $ymm0, 7
$ymm0 = VPERMQZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSLLDQYri $ymm0, 14
$ymm0 = VPSLLDQZ256rr $ymm0, 14
; CHECK: $ymm0 = VPSLLDYri $ymm0, 7
$ymm0 = VPSLLDZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSLLDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSLLDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSLLDYrr $ymm0, 14
$ymm0 = VPSLLDZ256rr $ymm0, 14
; CHECK: $ymm0 = VPSLLQYri $ymm0, 7
$ymm0 = VPSLLQZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSLLQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSLLQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSLLQYrr $ymm0, 14
$ymm0 = VPSLLQZ256rr $ymm0, 14
; CHECK: $ymm0 = VPSLLVDYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSLLVDZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSLLVDYrr $ymm0, 14
$ymm0 = VPSLLVDZ256rr $ymm0, 14
; CHECK: $ymm0 = VPSLLVQYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSLLVQZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSLLVQYrr $ymm0, 14
$ymm0 = VPSLLVQZ256rr $ymm0, 14
; CHECK: $ymm0 = VPSLLWYri $ymm0, 7
$ymm0 = VPSLLWZ256ri $ymm0, 7
; CHECK: $ymm0 = VPSLLWYrm $ymm0, $rip, 1, $noreg, $rax, $noreg
$ymm0 = VPSLLWZ256rm $ymm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $ymm0 = VPSLLWYrr $ymm0, 14
$ymm0 = VPSLLWZ256rr $ymm0, 14
; CHECK: $ymm0 = VCVTDQ2PDYrm $rdi, $ymm0, 1, $noreg, 0
$ymm0 = VCVTDQ2PDZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $ymm0 = VCVTDQ2PDYrr $xmm0
$ymm0 = VCVTDQ2PDZ256rr $xmm0
; CHECK: $ymm0 = VCVTDQ2PSYrm $rdi, $ymm0, 1, $noreg, 0
$ymm0 = VCVTDQ2PSZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $ymm0 = VCVTDQ2PSYrr $ymm0
$ymm0 = VCVTDQ2PSZ256rr $ymm0
; CHECK: $xmm0 = VCVTPD2DQYrm $rdi, $ymm0, 1, $noreg, 0
$xmm0 = VCVTPD2DQZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTPD2DQYrr $ymm0
$xmm0 = VCVTPD2DQZ256rr $ymm0
; CHECK: $xmm0 = VCVTPD2PSYrm $rdi, $ymm0, 1, $noreg, 0
$xmm0 = VCVTPD2PSZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTPD2PSYrr $ymm0
$xmm0 = VCVTPD2PSZ256rr $ymm0
; CHECK: $ymm0 = VCVTPS2DQYrm $rdi, $ymm0, 1, $noreg, 0
$ymm0 = VCVTPS2DQZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $ymm0 = VCVTPS2DQYrr $ymm0
$ymm0 = VCVTPS2DQZ256rr $ymm0
; CHECK: $ymm0 = VCVTPS2PDYrm $rdi, $ymm0, 1, $noreg, 0
$ymm0 = VCVTPS2PDZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $ymm0 = VCVTPS2PDYrr $xmm0
$ymm0 = VCVTPS2PDZ256rr $xmm0
; CHECK: VCVTPS2PHYmr $rdi, $ymm0, 1, $noreg, 0, $noreg, $noreg
VCVTPS2PHZ256mr $rdi, $ymm0, 1, $noreg, 0, $noreg, $noreg
; CHECK: $xmm0 = VCVTPS2PHYrr $ymm0, $noreg
$xmm0 = VCVTPS2PHZ256rr $ymm0, $noreg
; CHECK: $ymm0 = VCVTPH2PSYrm $rdi, $ymm0, 1, $noreg, 0
$ymm0 = VCVTPH2PSZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $ymm0 = VCVTPH2PSYrr $xmm0
$ymm0 = VCVTPH2PSZ256rr $xmm0
; CHECK: $xmm0 = VCVTTPD2DQYrm $rdi, $ymm0, 1, $noreg, 0
$xmm0 = VCVTTPD2DQZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTTPD2DQYrr $ymm0
$xmm0 = VCVTTPD2DQZ256rr $ymm0
; CHECK: $ymm0 = VCVTTPS2DQYrm $rdi, $ymm0, 1, $noreg, 0
$ymm0 = VCVTTPS2DQZ256rm $rdi, $ymm0, 1, $noreg, 0
; CHECK: $ymm0 = VCVTTPS2DQYrr $ymm0
$ymm0 = VCVTTPS2DQZ256rr $ymm0
; CHECK: $ymm0 = VSQRTPDYm $rdi, $noreg, $noreg, $noreg, $noreg
$ymm0 = VSQRTPDZ256m $rdi, $noreg, $noreg, $noreg, $noreg
; CHECK: $ymm0 = VSQRTPDYr $ymm0
$ymm0 = VSQRTPDZ256r $ymm0
; CHECK: $ymm0 = VSQRTPSYm $rdi, $noreg, $noreg, $noreg, $noreg
$ymm0 = VSQRTPSZ256m $rdi, $noreg, $noreg, $noreg, $noreg
; CHECK: $ymm0 = VSQRTPSYr $ymm0
$ymm0 = VSQRTPSZ256r $ymm0
; CHECK: $ymm0 = VPALIGNRYrmi $ymm0, $rdi, $noreg, $noreg, $noreg, $noreg, $noreg
$ymm0 = VPALIGNRZ256rmi $ymm0, $rdi, $noreg, $noreg, $noreg, $noreg, $noreg
; CHECK: $ymm0 = VPALIGNRYrri $ymm0, $ymm1, $noreg
$ymm0 = VPALIGNRZ256rri $ymm0, $ymm1, $noreg
; CHECK: $ymm0 = VMOVUPSYrm $rdi, 1, $noreg, 0, $noreg
$ymm0 = VMOVUPSZ256rm $rdi, 1, $noreg, 0, $noreg
; CHECK: $ymm0 = VMOVUPSYrr $ymm0
$ymm0 = VMOVUPSZ256rr $ymm0
; CHECK: $ymm0 = VMOVUPSYrr_REV $ymm0
$ymm0 = VMOVUPSZ256rr_REV $ymm0
; CHECK: $ymm0 = VPSHUFBYrm $ymm0, $noreg, $noreg, $noreg, $noreg, $noreg
$ymm0 = VPSHUFBZ256rm $ymm0, $noreg, $noreg, $noreg, $noreg, $noreg
; CHECK: $ymm0 = VPSHUFBYrr $ymm0, $ymm1
$ymm0 = VPSHUFBZ256rr $ymm0, $ymm1
; CHECK: $ymm0 = VPSHUFDYmi $rdi, 1, $noreg, 0, $noreg, $noreg
$ymm0 = VPSHUFDZ256mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $ymm0 = VPSHUFDYri $ymm0, -24
$ymm0 = VPSHUFDZ256ri $ymm0, -24
; CHECK: $ymm0 = VPSHUFHWYmi $rdi, 1, $noreg, 0, $noreg, $noreg
$ymm0 = VPSHUFHWZ256mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $ymm0 = VPSHUFHWYri $ymm0, -24
$ymm0 = VPSHUFHWZ256ri $ymm0, -24
; CHECK: $ymm0 = VPSHUFLWYmi $rdi, 1, $noreg, 0, $noreg, $noreg
$ymm0 = VPSHUFLWZ256mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $ymm0 = VPSHUFLWYri $ymm0, -24
$ymm0 = VPSHUFLWZ256ri $ymm0, -24
; CHECK: $ymm0 = VSHUFPDYrmi $ymm0, $noreg, $noreg, $noreg, $noreg, $noreg, $noreg
$ymm0 = VSHUFPDZ256rmi $ymm0, $noreg, $noreg, $noreg, $noreg, $noreg, $noreg
; CHECK: $ymm0 = VSHUFPDYrri $ymm0, $noreg, $noreg
$ymm0 = VSHUFPDZ256rri $ymm0, $noreg, $noreg
; CHECK: $ymm0 = VSHUFPSYrmi $ymm0, $noreg, $noreg, $noreg, $noreg, $noreg, $noreg
$ymm0 = VSHUFPSZ256rmi $ymm0, $noreg, $noreg, $noreg, $noreg, $noreg, $noreg
; CHECK: $ymm0 = VSHUFPSYrri $ymm0, $noreg, $noreg
$ymm0 = VSHUFPSZ256rri $ymm0, $noreg, $noreg
RET 0, $zmm0, $zmm1
...
---
# CHECK-LABEL: name: evex_z128_to_vex_test
# CHECK: bb.0:
name: evex_z128_to_vex_test
body: |
bb.0:
; CHECK: VMOVAPDmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVAPDZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVAPDrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVAPDZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVAPDrr $xmm0
$xmm0 = VMOVAPDZ128rr $xmm0
; CHECK: VMOVAPSmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVAPSZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVAPSrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVAPSZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVAPSrr $xmm0
$xmm0 = VMOVAPSZ128rr $xmm0
; CHECK: VMOVDQAmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVDQA32Z128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVDQArm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVDQA32Z128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVDQArr $xmm0
$xmm0 = VMOVDQA32Z128rr $xmm0
; CHECK: VMOVDQAmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVDQA64Z128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVDQArm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVDQA64Z128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVDQArr $xmm0
$xmm0 = VMOVDQA64Z128rr $xmm0
; CHECK: VMOVDQUmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVDQU16Z128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVDQUrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVDQU16Z128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVDQUrr $xmm0
$xmm0 = VMOVDQU16Z128rr $xmm0
; CHECK: VMOVDQUmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVDQU32Z128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVDQUrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVDQU32Z128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVDQUrr $xmm0
$xmm0 = VMOVDQU32Z128rr $xmm0
; CHECK: VMOVDQUmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVDQU64Z128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVDQUrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVDQU64Z128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVDQUrr $xmm0
$xmm0 = VMOVDQU64Z128rr $xmm0
; CHECK: VMOVDQUmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVDQU8Z128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVDQUrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVDQU8Z128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVDQUrr $xmm0
$xmm0 = VMOVDQU8Z128rr $xmm0
; CHECK: $xmm0 = VMOVDQUrr_REV $xmm0
$xmm0 = VMOVDQU8Z128rr_REV $xmm0
; CHECK: $xmm0 = VMOVNTDQArm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVNTDQAZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: VMOVUPDmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVUPDZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVUPDrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVUPDZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVUPDrr $xmm0
$xmm0 = VMOVUPDZ128rr $xmm0
; CHECK: $xmm0 = VMOVUPDrr_REV $xmm0
$xmm0 = VMOVUPDZ128rr_REV $xmm0
; CHECK: VMOVUPSmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVUPSZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVUPSrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMOVUPSZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMOVUPSrr $xmm0
$xmm0 = VMOVUPSZ128rr $xmm0
; CHECK: $xmm0 = VMOVUPSrr_REV $xmm0
$xmm0 = VMOVUPSZ128rr_REV $xmm0
; CHECK: VMOVNTDQmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVNTDQZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: VMOVNTPDmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVNTPDZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: VMOVNTPSmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVNTPSZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVAPDrr_REV $xmm0
$xmm0 = VMOVAPDZ128rr_REV $xmm0
; CHECK: $xmm0 = VMOVAPSrr_REV $xmm0
$xmm0 = VMOVAPSZ128rr_REV $xmm0
; CHECK: $xmm0 = VMOVDQArr_REV $xmm0
$xmm0 = VMOVDQA32Z128rr_REV $xmm0
; CHECK: $xmm0 = VMOVDQArr_REV $xmm0
$xmm0 = VMOVDQA64Z128rr_REV $xmm0
; CHECK: $xmm0 = VMOVDQUrr_REV $xmm0
$xmm0 = VMOVDQU16Z128rr_REV $xmm0
; CHECK: $xmm0 = VMOVDQUrr_REV $xmm0
$xmm0 = VMOVDQU32Z128rr_REV $xmm0
; CHECK: $xmm0 = VMOVDQUrr_REV $xmm0
$xmm0 = VMOVDQU64Z128rr_REV $xmm0
; CHECK: $xmm0 = VPMOVSXBDrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVSXBDZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVSXBDrr $xmm0
$xmm0 = VPMOVSXBDZ128rr $xmm0
; CHECK: $xmm0 = VPMOVSXBQrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVSXBQZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVSXBQrr $xmm0
$xmm0 = VPMOVSXBQZ128rr $xmm0
; CHECK: $xmm0 = VPMOVSXBWrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVSXBWZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVSXBWrr $xmm0
$xmm0 = VPMOVSXBWZ128rr $xmm0
; CHECK: $xmm0 = VPMOVSXDQrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVSXDQZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVSXDQrr $xmm0
$xmm0 = VPMOVSXDQZ128rr $xmm0
; CHECK: $xmm0 = VPMOVSXWDrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVSXWDZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVSXWDrr $xmm0
$xmm0 = VPMOVSXWDZ128rr $xmm0
; CHECK: $xmm0 = VPMOVSXWQrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVSXWQZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVSXWQrr $xmm0
$xmm0 = VPMOVSXWQZ128rr $xmm0
; CHECK: $xmm0 = VPMOVZXBDrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVZXBDZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVZXBDrr $xmm0
$xmm0 = VPMOVZXBDZ128rr $xmm0
; CHECK: $xmm0 = VPMOVZXBQrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVZXBQZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVZXBQrr $xmm0
$xmm0 = VPMOVZXBQZ128rr $xmm0
; CHECK: $xmm0 = VPMOVZXBWrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVZXBWZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVZXBWrr $xmm0
$xmm0 = VPMOVZXBWZ128rr $xmm0
; CHECK: $xmm0 = VPMOVZXDQrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVZXDQZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVZXDQrr $xmm0
$xmm0 = VPMOVZXDQZ128rr $xmm0
; CHECK: $xmm0 = VPMOVZXWDrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVZXWDZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVZXWDrr $xmm0
$xmm0 = VPMOVZXWDZ128rr $xmm0
; CHECK: $xmm0 = VPMOVZXWQrm $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMOVZXWQZ128rm $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMOVZXWQrr $xmm0
$xmm0 = VPMOVZXWQZ128rr $xmm0
; CHECK: VMOVHPDmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVHPDZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVHPDrm $xmm0, $rdi, 1, $noreg, 0, $noreg
$xmm0 = VMOVHPDZ128rm $xmm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: VMOVHPSmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVHPSZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVHPSrm $xmm0, $rdi, 1, $noreg, 0, $noreg
$xmm0 = VMOVHPSZ128rm $xmm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: VMOVLPDmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVLPDZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVLPDrm $xmm0, $rdi, 1, $noreg, 0, $noreg
$xmm0 = VMOVLPDZ128rm $xmm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: VMOVLPSmr $rdi, 1, $noreg, 0, $noreg, $xmm0
VMOVLPSZ128mr $rdi, 1, $noreg, 0, $noreg, $xmm0
; CHECK: $xmm0 = VMOVLPSrm $xmm0, $rdi, 1, $noreg, 0, $noreg
$xmm0 = VMOVLPSZ128rm $xmm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VMAXCPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMAXCPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMAXCPDrr $xmm0, $xmm1
$xmm0 = VMAXCPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMAXCPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMAXCPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMAXCPSrr $xmm0, $xmm1
$xmm0 = VMAXCPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMAXCPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMAXPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMAXCPDrr $xmm0, $xmm1
$xmm0 = VMAXPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMAXCPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMAXPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMAXCPSrr $xmm0, $xmm1
$xmm0 = VMAXPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMINCPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMINCPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMINCPDrr $xmm0, $xmm1
$xmm0 = VMINCPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMINCPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMINCPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMINCPSrr $xmm0, $xmm1
$xmm0 = VMINCPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMINCPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMINPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMINCPDrr $xmm0, $xmm1
$xmm0 = VMINPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMINCPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMINPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMINCPSrr $xmm0, $xmm1
$xmm0 = VMINPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMULPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMULPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMULPDrr $xmm0, $xmm1
$xmm0 = VMULPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VMULPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VMULPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VMULPSrr $xmm0, $xmm1
$xmm0 = VMULPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VORPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VORPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VORPDrr $xmm0, $xmm1
$xmm0 = VORPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VORPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VORPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VORPSrr $xmm0, $xmm1
$xmm0 = VORPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPADDBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPADDBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPADDBrr $xmm0, $xmm1
$xmm0 = VPADDBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPADDDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPADDDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPADDDrr $xmm0, $xmm1
$xmm0 = VPADDDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPADDQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPADDQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPADDQrr $xmm0, $xmm1
$xmm0 = VPADDQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPADDSBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPADDSBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPADDSBrr $xmm0, $xmm1
$xmm0 = VPADDSBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPADDSWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPADDSWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPADDSWrr $xmm0, $xmm1
$xmm0 = VPADDSWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPADDUSBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPADDUSBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPADDUSBrr $xmm0, $xmm1
$xmm0 = VPADDUSBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPADDUSWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPADDUSWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPADDUSWrr $xmm0, $xmm1
$xmm0 = VPADDUSWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPADDWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPADDWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPADDWrr $xmm0, $xmm1
$xmm0 = VPADDWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPANDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPANDDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPANDrr $xmm0, $xmm1
$xmm0 = VPANDDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPANDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPANDQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPANDrr $xmm0, $xmm1
$xmm0 = VPANDQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPANDNrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPANDNDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPANDNrr $xmm0, $xmm1
$xmm0 = VPANDNDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPANDNrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPANDNQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPANDNrr $xmm0, $xmm1
$xmm0 = VPANDNQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPAVGBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPAVGBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPAVGBrr $xmm0, $xmm1
$xmm0 = VPAVGBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPAVGWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPAVGWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPAVGWrr $xmm0, $xmm1
$xmm0 = VPAVGWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMAXSBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMAXSBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMAXSBrr $xmm0, $xmm1
$xmm0 = VPMAXSBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMAXSDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMAXSDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMAXSDrr $xmm0, $xmm1
$xmm0 = VPMAXSDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMAXSWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMAXSWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMAXSWrr $xmm0, $xmm1
$xmm0 = VPMAXSWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMAXUBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMAXUBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMAXUBrr $xmm0, $xmm1
$xmm0 = VPMAXUBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMAXUDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMAXUDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMAXUDrr $xmm0, $xmm1
$xmm0 = VPMAXUDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMAXUWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMAXUWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMAXUWrr $xmm0, $xmm1
$xmm0 = VPMAXUWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMINSBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMINSBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMINSBrr $xmm0, $xmm1
$xmm0 = VPMINSBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMINSDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMINSDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMINSDrr $xmm0, $xmm1
$xmm0 = VPMINSDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMINSWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMINSWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMINSWrr $xmm0, $xmm1
$xmm0 = VPMINSWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMINUBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMINUBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMINUBrr $xmm0, $xmm1
$xmm0 = VPMINUBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMINUDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMINUDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMINUDrr $xmm0, $xmm1
$xmm0 = VPMINUDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMINUWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMINUWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMINUWrr $xmm0, $xmm1
$xmm0 = VPMINUWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMULDQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMULDQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMULDQrr $xmm0, $xmm1
$xmm0 = VPMULDQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMULHRSWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMULHRSWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMULHRSWrr $xmm0, $xmm1
$xmm0 = VPMULHRSWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMULHUWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMULHUWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMULHUWrr $xmm0, $xmm1
$xmm0 = VPMULHUWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMULHWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMULHWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMULHWrr $xmm0, $xmm1
$xmm0 = VPMULHWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMULLDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMULLDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMULLDrr $xmm0, $xmm1
$xmm0 = VPMULLDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMULLWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMULLWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMULLWrr $xmm0, $xmm1
$xmm0 = VPMULLWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMULUDQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMULUDQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMULUDQrr $xmm0, $xmm1
$xmm0 = VPMULUDQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPORrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPORDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPORrr $xmm0, $xmm1
$xmm0 = VPORDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPORrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPORQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPORrr $xmm0, $xmm1
$xmm0 = VPORQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSUBBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSUBBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSUBBrr $xmm0, $xmm1
$xmm0 = VPSUBBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSUBDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSUBDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSUBDrr $xmm0, $xmm1
$xmm0 = VPSUBDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSUBQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSUBQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSUBQrr $xmm0, $xmm1
$xmm0 = VPSUBQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSUBSBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSUBSBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSUBSBrr $xmm0, $xmm1
$xmm0 = VPSUBSBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSUBSWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSUBSWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSUBSWrr $xmm0, $xmm1
$xmm0 = VPSUBSWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSUBUSBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSUBUSBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSUBUSBrr $xmm0, $xmm1
$xmm0 = VPSUBUSBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSUBUSWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSUBUSWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSUBUSWrr $xmm0, $xmm1
$xmm0 = VPSUBUSWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSUBWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSUBWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSUBWrr $xmm0, $xmm1
$xmm0 = VPSUBWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VADDPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VADDPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VADDPDrr $xmm0, $xmm1
$xmm0 = VADDPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VADDPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VADDPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VADDPSrr $xmm0, $xmm1
$xmm0 = VADDPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VANDNPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VANDNPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VANDNPDrr $xmm0, $xmm1
$xmm0 = VANDNPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VANDNPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VANDNPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VANDNPSrr $xmm0, $xmm1
$xmm0 = VANDNPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VANDPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VANDPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VANDPDrr $xmm0, $xmm1
$xmm0 = VANDPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VANDPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VANDPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VANDPSrr $xmm0, $xmm1
$xmm0 = VANDPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VDIVPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VDIVPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VDIVPDrr $xmm0, $xmm1
$xmm0 = VDIVPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VDIVPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VDIVPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VDIVPSrr $xmm0, $xmm1
$xmm0 = VDIVPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPXORrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPXORDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPXORrr $xmm0, $xmm1
$xmm0 = VPXORDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPXORrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPXORQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPXORrr $xmm0, $xmm1
$xmm0 = VPXORQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VSUBPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VSUBPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VSUBPDrr $xmm0, $xmm1
$xmm0 = VSUBPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VSUBPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VSUBPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VSUBPSrr $xmm0, $xmm1
$xmm0 = VSUBPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VXORPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VXORPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VXORPDrr $xmm0, $xmm1
$xmm0 = VXORPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VXORPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VXORPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VXORPSrr $xmm0, $xmm1
$xmm0 = VXORPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMADDUBSWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMADDUBSWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMADDUBSWrr $xmm0, $xmm1
$xmm0 = VPMADDUBSWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPMADDWDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPMADDWDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPMADDWDrr $xmm0, $xmm1
$xmm0 = VPMADDWDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPACKSSDWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPACKSSDWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPACKSSDWrr $xmm0, $xmm1
$xmm0 = VPACKSSDWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPACKSSWBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPACKSSWBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPACKSSWBrr $xmm0, $xmm1
$xmm0 = VPACKSSWBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPACKUSDWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPACKUSDWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPACKUSDWrr $xmm0, $xmm1
$xmm0 = VPACKUSDWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPACKUSWBrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPACKUSWBZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPACKUSWBrr $xmm0, $xmm1
$xmm0 = VPACKUSWBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPUNPCKHBWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPUNPCKHBWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPUNPCKHBWrr $xmm0, $xmm1
$xmm0 = VPUNPCKHBWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPUNPCKHDQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPUNPCKHDQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPUNPCKHDQrr $xmm0, $xmm1
$xmm0 = VPUNPCKHDQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPUNPCKHQDQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPUNPCKHQDQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPUNPCKHQDQrr $xmm0, $xmm1
$xmm0 = VPUNPCKHQDQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPUNPCKHWDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPUNPCKHWDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPUNPCKHWDrr $xmm0, $xmm1
$xmm0 = VPUNPCKHWDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPUNPCKLBWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPUNPCKLBWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPUNPCKLBWrr $xmm0, $xmm1
$xmm0 = VPUNPCKLBWZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPUNPCKLDQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPUNPCKLDQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPUNPCKLDQrr $xmm0, $xmm1
$xmm0 = VPUNPCKLDQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPUNPCKLQDQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPUNPCKLQDQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPUNPCKLQDQrr $xmm0, $xmm1
$xmm0 = VPUNPCKLQDQZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPUNPCKLWDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPUNPCKLWDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPUNPCKLWDrr $xmm0, $xmm1
$xmm0 = VPUNPCKLWDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VUNPCKHPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VUNPCKHPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VUNPCKHPDrr $xmm0, $xmm1
$xmm0 = VUNPCKHPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VUNPCKHPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VUNPCKHPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VUNPCKHPSrr $xmm0, $xmm1
$xmm0 = VUNPCKHPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VUNPCKLPDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VUNPCKLPDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VUNPCKLPDrr $xmm0, $xmm1
$xmm0 = VUNPCKLPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VUNPCKLPSrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VUNPCKLPSZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VUNPCKLPSrr $xmm0, $xmm1
$xmm0 = VUNPCKLPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VFMADD132PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADD132PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADD132PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADD132PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADD132PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADD132PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADD132PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADD132PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADD213PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADD213PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADD213PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADD213PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADD213PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADD213PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADD213PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADD213PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADD231PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADD231PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADD231PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADD231PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADD231PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADD231PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADD231PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADD231PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADDSUB132PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADDSUB132PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADDSUB132PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADDSUB132PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADDSUB132PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADDSUB132PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADDSUB132PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADDSUB132PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADDSUB213PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADDSUB213PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADDSUB213PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADDSUB213PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADDSUB213PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADDSUB213PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADDSUB213PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADDSUB213PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADDSUB231PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADDSUB231PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADDSUB231PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADDSUB231PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMADDSUB231PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMADDSUB231PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMADDSUB231PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMADDSUB231PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUB132PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUB132PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUB132PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUB132PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUB132PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUB132PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUB132PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUB132PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUB213PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUB213PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUB213PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUB213PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUB213PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUB213PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUB213PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUB213PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUB231PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUB231PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUB231PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUB231PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUB231PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUB231PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUB231PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUB231PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUBADD132PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUBADD132PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUBADD132PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUBADD132PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUBADD132PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUBADD132PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUBADD132PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUBADD132PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUBADD213PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUBADD213PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUBADD213PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUBADD213PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUBADD213PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUBADD213PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUBADD213PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUBADD213PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUBADD231PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUBADD231PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUBADD231PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUBADD231PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFMSUBADD231PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFMSUBADD231PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFMSUBADD231PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFMSUBADD231PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMADD132PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMADD132PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMADD132PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMADD132PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMADD132PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMADD132PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMADD132PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMADD132PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMADD213PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMADD213PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMADD213PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMADD213PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMADD213PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMADD213PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMADD213PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMADD213PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMADD231PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMADD231PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMADD231PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMADD231PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMADD231PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMADD231PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMADD231PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMADD231PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMSUB132PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMSUB132PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMSUB132PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMSUB132PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMSUB132PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMSUB132PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMSUB132PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMSUB132PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMSUB213PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMSUB213PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMSUB213PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMSUB213PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMSUB213PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMSUB213PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMSUB213PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMSUB213PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMSUB231PDm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMSUB231PDZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMSUB231PDr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMSUB231PDZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VFNMSUB231PSm $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
$xmm0 = VFNMSUB231PSZ128m $xmm0, $xmm0, $rsi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VFNMSUB231PSr $xmm0, $xmm1, $xmm2
$xmm0 = VFNMSUB231PSZ128r $xmm0, $xmm1, $xmm2
; CHECK: $xmm0 = VPSLLDri $xmm0, 7
$xmm0 = VPSLLDZ128ri $xmm0, 7
; CHECK: $xmm0 = VPSLLDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSLLDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSLLDrr $xmm0, 14
$xmm0 = VPSLLDZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSLLQri $xmm0, 7
$xmm0 = VPSLLQZ128ri $xmm0, 7
; CHECK: $xmm0 = VPSLLQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSLLQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSLLQrr $xmm0, 14
$xmm0 = VPSLLQZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSLLVDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSLLVDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSLLVDrr $xmm0, 14
$xmm0 = VPSLLVDZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSLLVQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSLLVQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSLLVQrr $xmm0, 14
$xmm0 = VPSLLVQZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSLLWri $xmm0, 7
$xmm0 = VPSLLWZ128ri $xmm0, 7
; CHECK: $xmm0 = VPSLLWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSLLWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSLLWrr $xmm0, 14
$xmm0 = VPSLLWZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRADri $xmm0, 7
$xmm0 = VPSRADZ128ri $xmm0, 7
; CHECK: $xmm0 = VPSRADrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSRADZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSRADrr $xmm0, 14
$xmm0 = VPSRADZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRAVDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSRAVDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSRAVDrr $xmm0, 14
$xmm0 = VPSRAVDZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRAWri $xmm0, 7
$xmm0 = VPSRAWZ128ri $xmm0, 7
; CHECK: $xmm0 = VPSRAWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSRAWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSRAWrr $xmm0, 14
$xmm0 = VPSRAWZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRLDQri $xmm0, 14
$xmm0 = VPSRLDQZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRLDri $xmm0, 7
$xmm0 = VPSRLDZ128ri $xmm0, 7
; CHECK: $xmm0 = VPSRLDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSRLDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSRLDrr $xmm0, 14
$xmm0 = VPSRLDZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRLQri $xmm0, 7
$xmm0 = VPSRLQZ128ri $xmm0, 7
; CHECK: $xmm0 = VPSRLQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSRLQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSRLQrr $xmm0, 14
$xmm0 = VPSRLQZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRLVDrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSRLVDZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSRLVDrr $xmm0, 14
$xmm0 = VPSRLVDZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRLVQrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSRLVQZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSRLVQrr $xmm0, 14
$xmm0 = VPSRLVQZ128rr $xmm0, 14
; CHECK: $xmm0 = VPSRLWri $xmm0, 7
$xmm0 = VPSRLWZ128ri $xmm0, 7
; CHECK: $xmm0 = VPSRLWrm $xmm0, $rip, 1, $noreg, $rax, $noreg
$xmm0 = VPSRLWZ128rm $xmm0, $rip, 1, $noreg, $rax, $noreg
; CHECK: $xmm0 = VPSRLWrr $xmm0, 14
$xmm0 = VPSRLWZ128rr $xmm0, 14
; CHECK: $xmm0 = VPERMILPDmi $rdi, 1, $noreg, 0, $noreg, $noreg
$xmm0 = VPERMILPDZ128mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $xmm0 = VPERMILPDri $xmm0, 9
$xmm0 = VPERMILPDZ128ri $xmm0, 9
; CHECK: $xmm0 = VPERMILPDrm $xmm0, $rdi, 1, $noreg, 0, $noreg
$xmm0 = VPERMILPDZ128rm $xmm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VPERMILPDrr $xmm0, $xmm1
$xmm0 = VPERMILPDZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPERMILPSmi $rdi, 1, $noreg, 0, $noreg, $noreg
$xmm0 = VPERMILPSZ128mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $xmm0 = VPERMILPSri $xmm0, 9
$xmm0 = VPERMILPSZ128ri $xmm0, 9
; CHECK: $xmm0 = VPERMILPSrm $xmm0, $rdi, 1, $noreg, 0, $noreg
$xmm0 = VPERMILPSZ128rm $xmm0, $rdi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VPERMILPSrr $xmm0, $xmm1
$xmm0 = VPERMILPSZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VCVTPH2PSrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTPH2PSZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTPH2PSrr $xmm0
$xmm0 = VCVTPH2PSZ128rr $xmm0
; CHECK: $xmm0 = VCVTDQ2PDrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTDQ2PDZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTDQ2PDrr $xmm0
$xmm0 = VCVTDQ2PDZ128rr $xmm0
; CHECK: $xmm0 = VCVTDQ2PSrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTDQ2PSZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTDQ2PSrr $xmm0
$xmm0 = VCVTDQ2PSZ128rr $xmm0
; CHECK: $xmm0 = VCVTPD2DQrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTPD2DQZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTPD2DQrr $xmm0
$xmm0 = VCVTPD2DQZ128rr $xmm0
; CHECK: $xmm0 = VCVTPD2PSrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTPD2PSZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTPD2PSrr $xmm0
$xmm0 = VCVTPD2PSZ128rr $xmm0
; CHECK: $xmm0 = VCVTPS2DQrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTPS2DQZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTPS2DQrr $xmm0
$xmm0 = VCVTPS2DQZ128rr $xmm0
; CHECK: $xmm0 = VCVTPS2PDrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTPS2PDZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTPS2PDrr $xmm0
$xmm0 = VCVTPS2PDZ128rr $xmm0
; CHECK: $xmm0 = VCVTTPD2DQrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTTPD2DQZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTTPD2DQrr $xmm0
$xmm0 = VCVTTPD2DQZ128rr $xmm0
; CHECK: $xmm0 = VCVTTPS2DQrm $rdi, $xmm0, 1, $noreg, 0
$xmm0 = VCVTTPS2DQZ128rm $rdi, $xmm0, 1, $noreg, 0
; CHECK: $xmm0 = VCVTTPS2DQrr $xmm0
$xmm0 = VCVTTPS2DQZ128rr $xmm0
; CHECK: $xmm0 = VSQRTPDm $rdi, $noreg, $noreg, $noreg, $noreg
$xmm0 = VSQRTPDZ128m $rdi, $noreg, $noreg, $noreg, $noreg
; CHECK: $xmm0 = VSQRTPDr $xmm0
$xmm0 = VSQRTPDZ128r $xmm0
; CHECK: $xmm0 = VSQRTPSm $rdi, $noreg, $noreg, $noreg, $noreg
$xmm0 = VSQRTPSZ128m $rdi, $noreg, $noreg, $noreg, $noreg
; CHECK: $xmm0 = VSQRTPSr $xmm0
$xmm0 = VSQRTPSZ128r $xmm0
; CHECK: $xmm0 = VMOVDDUPrm $rdi, 1, $noreg, 0, $noreg
$xmm0 = VMOVDDUPZ128rm $rdi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VMOVDDUPrr $xmm0
$xmm0 = VMOVDDUPZ128rr $xmm0
; CHECK: $xmm0 = VMOVSHDUPrm $rdi, 1, $noreg, 0, $noreg
$xmm0 = VMOVSHDUPZ128rm $rdi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VMOVSHDUPrr $xmm0
$xmm0 = VMOVSHDUPZ128rr $xmm0
; CHECK: $xmm0 = VMOVSLDUPrm $rdi, 1, $noreg, 0, $noreg
$xmm0 = VMOVSLDUPZ128rm $rdi, 1, $noreg, 0, $noreg
; CHECK: $xmm0 = VMOVSLDUPrr $xmm0
$xmm0 = VMOVSLDUPZ128rr $xmm0
; CHECK: $xmm0 = VPSHUFBrm $xmm0, $noreg, $noreg, $noreg, $noreg, $noreg
$xmm0 = VPSHUFBZ128rm $xmm0, $noreg, $noreg, $noreg, $noreg, $noreg
; CHECK: $xmm0 = VPSHUFBrr $xmm0, $xmm1
$xmm0 = VPSHUFBZ128rr $xmm0, $xmm1
; CHECK: $xmm0 = VPSHUFDmi $rdi, 1, $noreg, 0, $noreg, $noreg
$xmm0 = VPSHUFDZ128mi $rdi, 1, $noreg, 0, $noreg, $noreg
; CHECK: $xmm0 = VPSHUFDri $xmm0, -24
$xmm0 = VPSHUFDZ128ri $xmm