llvm-project/llvm/test/MC/SystemZ/insn-bad-z14.s

753 lines
18 KiB
ArmAsm

# For z14 only.
# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z14 < %s 2> %t
# RUN: FileCheck < %t %s
# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=arch12 < %s 2> %t
# RUN: FileCheck < %t %s
#CHECK: error: invalid operand
#CHECK: bi -524289
#CHECK: error: invalid operand
#CHECK: bi 524288
bi -524289
bi 524288
#CHECK: error: invalid operand
#CHECK: bic -1, 0(%r1)
#CHECK: error: invalid operand
#CHECK: bic 16, 0(%r1)
#CHECK: error: invalid operand
#CHECK: bic 0, -524289
#CHECK: error: invalid operand
#CHECK: bic 0, 524288
bic -1, 0(%r1)
bic 16, 0(%r1)
bic 0, -524289
bic 0, 524288
#CHECK: error: invalid operand
#CHECK: agh %r0, -524289
#CHECK: error: invalid operand
#CHECK: agh %r0, 524288
agh %r0, -524289
agh %r0, 524288
#CHECK: error: invalid register pair
#CHECK: kma %r1, %r2, %r4
#CHECK: error: invalid register pair
#CHECK: kma %r2, %r1, %r4
#CHECK: error: invalid register pair
#CHECK: kma %r2, %r4, %r1
kma %r1, %r2, %r4
kma %r2, %r1, %r4
kma %r2, %r4, %r1
#CHECK: error: invalid operand
#CHECK: lgg %r0, -524289
#CHECK: error: invalid operand
#CHECK: lgg %r0, 524288
lgg %r0, -524289
lgg %r0, 524288
#CHECK: error: invalid operand
#CHECK: lgsc %r0, -524289
#CHECK: error: invalid operand
#CHECK: lgsc %r0, 524288
lgsc %r0, -524289
lgsc %r0, 524288
#CHECK: error: invalid operand
#CHECK: llgfsg %r0, -524289
#CHECK: error: invalid operand
#CHECK: llgfsg %r0, 524288
llgfsg %r0, -524289
llgfsg %r0, 524288
#CHECK: error: invalid operand
#CHECK: mg %r0, -524289
#CHECK: error: invalid operand
#CHECK: mg %r0, 524288
#CHECK: error: invalid register pair
#CHECK: mg %r1, 0
mg %r0, -524289
mg %r0, 524288
mg %r1, 0
#CHECK: error: invalid operand
#CHECK: mgh %r0, -524289
#CHECK: error: invalid operand
#CHECK: mgh %r0, 524288
mgh %r0, -524289
mgh %r0, 524288
#CHECK: error: invalid register pair
#CHECK: mgrk %r1, %r0, %r0
mgrk %r1, %r0, %r0
#CHECK: error: invalid operand
#CHECK: msc %r0, -524289
#CHECK: error: invalid operand
#CHECK: msc %r0, 524288
msc %r0, -524289
msc %r0, 524288
#CHECK: error: invalid operand
#CHECK: msgc %r0, -524289
#CHECK: error: invalid operand
#CHECK: msgc %r0, 524288
msgc %r0, -524289
msgc %r0, 524288
#CHECK: error: invalid register pair
#CHECK: prno %r1, %r2
#CHECK: error: invalid register pair
#CHECK: prno %r2, %r1
prno %r1, %r2
prno %r2, %r1
#CHECK: error: invalid operand
#CHECK: sgh %r0, -524289
#CHECK: error: invalid operand
#CHECK: sgh %r0, 524288
sgh %r0, -524289
sgh %r0, 524288
#CHECK: error: invalid operand
#CHECK: stgsc %r0, -524289
#CHECK: error: invalid operand
#CHECK: stgsc %r0, 524288
stgsc %r0, -524289
stgsc %r0, 524288
#CHECK: error: invalid operand
#CHECK: vap %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vap %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vap %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vap %v0, %v0, %v0, 256, 0
vap %v0, %v0, %v0, 0, -1
vap %v0, %v0, %v0, 0, 16
vap %v0, %v0, %v0, -1, 0
vap %v0, %v0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vcp %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vcp %v0, %v0, 16
vcp %v0, %v0, -1
vcp %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: vcvb %r0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vcvb %r0, %v0, 16
vcvb %r0, %v0, -1
vcvb %r0, %v0, 16
#CHECK: error: invalid operand
#CHECK: vcvbg %r0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vcvbg %r0, %v0, 16
vcvbg %r0, %v0, -1
vcvbg %r0, %v0, 16
#CHECK: error: invalid operand
#CHECK: vcvd %r0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vcvd %r0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vcvd %r0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vcvd %r0, %v0, 256, 0
vcvd %r0, %v0, 0, -1
vcvd %r0, %v0, 0, 16
vcvd %r0, %v0, -1, 0
vcvd %r0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vcvdg %r0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vcvdg %r0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vcvdg %r0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vcvdg %r0, %v0, 256, 0
vcvdg %r0, %v0, 0, -1
vcvdg %r0, %v0, 0, 16
vcvdg %r0, %v0, -1, 0
vcvdg %r0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vdp %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vdp %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vdp %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vdp %v0, %v0, %v0, 256, 0
vdp %v0, %v0, %v0, 0, -1
vdp %v0, %v0, %v0, 0, 16
vdp %v0, %v0, %v0, -1, 0
vdp %v0, %v0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vfisb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vfisb %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vfisb %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vfisb %v0, %v0, 16, 0
vfisb %v0, %v0, 0, -1
vfisb %v0, %v0, 0, 16
vfisb %v0, %v0, -1, 0
vfisb %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: vfll %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vfll %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vfll %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vfll %v0, %v0, 16, 0
vfll %v0, %v0, 0, -1
vfll %v0, %v0, 0, 16
vfll %v0, %v0, -1, 0
vfll %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: vflr %v0, %v0, 0, 0, -1
#CHECK: error: invalid operand
#CHECK: vflr %v0, %v0, 0, 0, 16
#CHECK: error: invalid operand
#CHECK: vflr %v0, %v0, 0, -1, 0
#CHECK: error: invalid operand
#CHECK: vflr %v0, %v0, 0, 16, 0
#CHECK: error: invalid operand
#CHECK: vflr %v0, %v0, -1, 0, 0
#CHECK: error: invalid operand
#CHECK: vflr %v0, %v0, 16, 0, 0
vflr %v0, %v0, 0, 0, -1
vflr %v0, %v0, 0, 0, 16
vflr %v0, %v0, 0, -1, 0
vflr %v0, %v0, 0, 16, 0
vflr %v0, %v0, -1, 0, 0
vflr %v0, %v0, 16, 0, 0
#CHECK: error: invalid operand
#CHECK: vflrd %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vflrd %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vflrd %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vflrd %v0, %v0, 16, 0
vflrd %v0, %v0, 0, -1
vflrd %v0, %v0, 0, 16
vflrd %v0, %v0, -1, 0
vflrd %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: vfmax %v0, %v0, %v0, 0, 0, -1
#CHECK: error: invalid operand
#CHECK: vfmax %v0, %v0, %v0, 0, 0, 16
#CHECK: error: invalid operand
#CHECK: vfmax %v0, %v0, %v0, 0, -1, 0
#CHECK: error: invalid operand
#CHECK: vfmax %v0, %v0, %v0, 0, 16, 0
#CHECK: error: invalid operand
#CHECK: vfmax %v0, %v0, %v0, -1, 0, 0
#CHECK: error: invalid operand
#CHECK: vfmax %v0, %v0, %v0, 16, 0, 0
vfmax %v0, %v0, %v0, 0, 0, -1
vfmax %v0, %v0, %v0, 0, 0, 16
vfmax %v0, %v0, %v0, 0, -1, 0
vfmax %v0, %v0, %v0, 0, 16, 0
vfmax %v0, %v0, %v0, -1, 0, 0
vfmax %v0, %v0, %v0, 16, 0, 0
#CHECK: error: invalid operand
#CHECK: vfmaxdb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vfmaxdb %v0, %v0, %v0, 16
vfmaxdb %v0, %v0, %v0, -1
vfmaxdb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: vfmaxsb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vfmaxsb %v0, %v0, %v0, 16
vfmaxsb %v0, %v0, %v0, -1
vfmaxsb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: vfmin %v0, %v0, %v0, 0, 0, -1
#CHECK: error: invalid operand
#CHECK: vfmin %v0, %v0, %v0, 0, 0, 16
#CHECK: error: invalid operand
#CHECK: vfmin %v0, %v0, %v0, 0, -1, 0
#CHECK: error: invalid operand
#CHECK: vfmin %v0, %v0, %v0, 0, 16, 0
#CHECK: error: invalid operand
#CHECK: vfmin %v0, %v0, %v0, -1, 0, 0
#CHECK: error: invalid operand
#CHECK: vfmin %v0, %v0, %v0, 16, 0, 0
vfmin %v0, %v0, %v0, 0, 0, -1
vfmin %v0, %v0, %v0, 0, 0, 16
vfmin %v0, %v0, %v0, 0, -1, 0
vfmin %v0, %v0, %v0, 0, 16, 0
vfmin %v0, %v0, %v0, -1, 0, 0
vfmin %v0, %v0, %v0, 16, 0, 0
#CHECK: error: invalid operand
#CHECK: vfmindb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vfmindb %v0, %v0, %v0, 16
vfmindb %v0, %v0, %v0, -1
vfmindb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: vfminsb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vfminsb %v0, %v0, %v0, 16
vfminsb %v0, %v0, %v0, -1
vfminsb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: vfnma %v0, %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vfnma %v0, %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vfnma %v0, %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vfnma %v0, %v0, %v0, %v0, 16, 0
vfnma %v0, %v0, %v0, %v0, 0, -1
vfnma %v0, %v0, %v0, %v0, 0, 16
vfnma %v0, %v0, %v0, %v0, -1, 0
vfnma %v0, %v0, %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: vfnms %v0, %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vfnms %v0, %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vfnms %v0, %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vfnms %v0, %v0, %v0, %v0, 16, 0
vfnms %v0, %v0, %v0, %v0, 0, -1
vfnms %v0, %v0, %v0, %v0, 0, 16
vfnms %v0, %v0, %v0, %v0, -1, 0
vfnms %v0, %v0, %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: vftcisb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vftcisb %v0, %v0, 4096
vftcisb %v0, %v0, -1
vftcisb %v0, %v0, 4096
#CHECK: error: invalid operand
#CHECK: vlip %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vlip %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vlip %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vlip %v0, 65536, 0
vlip %v0, 0, -1
vlip %v0, 0, 16
vlip %v0, -1, 0
vlip %v0, 65536, 0
#CHECK: error: invalid operand
#CHECK: vllezlf %v0, -1
#CHECK: error: invalid operand
#CHECK: vllezlf %v0, 4096
#CHECK: error: invalid use of vector addressing
#CHECK: vllezlf %v0, 0(%v1,%r2)
vllezlf %v0, -1
vllezlf %v0, 4096
vllezlf %v0, 0(%v1,%r2)
#CHECK: error: invalid operand
#CHECK: vlrl %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vlrl %v0, 0, 256
#CHECK: error: invalid operand
#CHECK: vlrl %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vlrl %v0, 4096, 0
#CHECK: error: %r0 used in an address
#CHECK: vlrl %v0, 0(%r0), 0
vlrl %v0, 0, -1
vlrl %v0, 0, 256
vlrl %v0, -1, 0
vlrl %v0, 4096, 0
vlrl %v0, 0(%r0), 0
#CHECK: error: invalid operand
#CHECK: vlrlr %v0, %r0, -1
#CHECK: error: invalid operand
#CHECK: vlrlr %v0, %r0, 4096
#CHECK: error: %r0 used in an address
#CHECK: vlrlr %v0, %r0, 0(%r0)
vlrlr %v0, %r0, -1
vlrlr %v0, %r0, 4096
vlrlr %v0, %r0, 0(%r0)
#CHECK: error: invalid operand
#CHECK: vmp %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vmp %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vmp %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vmp %v0, %v0, %v0, 256, 0
vmp %v0, %v0, %v0, 0, -1
vmp %v0, %v0, %v0, 0, 16
vmp %v0, %v0, %v0, -1, 0
vmp %v0, %v0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vmsp %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vmsp %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vmsp %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vmsp %v0, %v0, %v0, 256, 0
vmsp %v0, %v0, %v0, 0, -1
vmsp %v0, %v0, %v0, 0, 16
vmsp %v0, %v0, %v0, -1, 0
vmsp %v0, %v0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vmsl %v0, %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vmsl %v0, %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vmsl %v0, %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vmsl %v0, %v0, %v0, %v0, 16, 0
vmsl %v0, %v0, %v0, %v0, 0, -1
vmsl %v0, %v0, %v0, %v0, 0, 16
vmsl %v0, %v0, %v0, %v0, -1, 0
vmsl %v0, %v0, %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: vmslg %v0, %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: vmslg %v0, %v0, %v0, %v0, 16
vmslg %v0, %v0, %v0, %v0, -1
vmslg %v0, %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: vpkz %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vpkz %v0, 0, 256
#CHECK: error: invalid operand
#CHECK: vpkz %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vpkz %v0, 4096, 0
#CHECK: error: %r0 used in an address
#CHECK: vpkz %v0, 0(%r0), 0
vpkz %v0, 0, -1
vpkz %v0, 0, 256
vpkz %v0, -1, 0
vpkz %v0, 4096, 0
vpkz %v0, 0(%r0), 0
#CHECK: error: invalid operand
#CHECK: vpsop %v0, %v0, 0, 0, -1
#CHECK: error: invalid operand
#CHECK: vpsop %v0, %v0, 0, 0, 16
#CHECK: error: invalid operand
#CHECK: vpsop %v0, %v0, 0, -1, 0
#CHECK: error: invalid operand
#CHECK: vpsop %v0, %v0, 0, 256, 0
#CHECK: error: invalid operand
#CHECK: vpsop %v0, %v0, -1, 0, 0
#CHECK: error: invalid operand
#CHECK: vpsop %v0, %v0, 256, 0, 0
vpsop %v0, %v0, 0, 0, -1
vpsop %v0, %v0, 0, 0, 16
vpsop %v0, %v0, 0, -1, 0
vpsop %v0, %v0, 0, 256, 0
vpsop %v0, %v0, -1, 0, 0
vpsop %v0, %v0, 256, 0, 0
#CHECK: error: invalid operand
#CHECK: vrp %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vrp %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vrp %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vrp %v0, %v0, %v0, 256, 0
vrp %v0, %v0, %v0, 0, -1
vrp %v0, %v0, %v0, 0, 16
vrp %v0, %v0, %v0, -1, 0
vrp %v0, %v0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vsdp %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vsdp %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vsdp %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vsdp %v0, %v0, %v0, 256, 0
vsdp %v0, %v0, %v0, 0, -1
vsdp %v0, %v0, %v0, 0, 16
vsdp %v0, %v0, %v0, -1, 0
vsdp %v0, %v0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vsp %v0, %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vsp %v0, %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: vsp %v0, %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vsp %v0, %v0, %v0, 256, 0
vsp %v0, %v0, %v0, 0, -1
vsp %v0, %v0, %v0, 0, 16
vsp %v0, %v0, %v0, -1, 0
vsp %v0, %v0, %v0, 256, 0
#CHECK: error: invalid operand
#CHECK: vsrp %v0, %v0, 0, 0, -1
#CHECK: error: invalid operand
#CHECK: vsrp %v0, %v0, 0, 0, 16
#CHECK: error: invalid operand
#CHECK: vsrp %v0, %v0, 0, -1, 0
#CHECK: error: invalid operand
#CHECK: vsrp %v0, %v0, 0, 256, 0
#CHECK: error: invalid operand
#CHECK: vsrp %v0, %v0, -1, 0, 0
#CHECK: error: invalid operand
#CHECK: vsrp %v0, %v0, 256, 0, 0
vsrp %v0, %v0, 0, 0, -1
vsrp %v0, %v0, 0, 0, 16
vsrp %v0, %v0, 0, -1, 0
vsrp %v0, %v0, 0, 256, 0
vsrp %v0, %v0, -1, 0, 0
vsrp %v0, %v0, 256, 0, 0
#CHECK: error: invalid operand
#CHECK: vstrl %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vstrl %v0, 0, 256
#CHECK: error: invalid operand
#CHECK: vstrl %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vstrl %v0, 4096, 0
#CHECK: error: %r0 used in an address
#CHECK: vstrl %v0, 0(%r0), 0
vstrl %v0, 0, -1
vstrl %v0, 0, 256
vstrl %v0, -1, 0
vstrl %v0, 4096, 0
vstrl %v0, 0(%r0), 0
#CHECK: error: invalid operand
#CHECK: vstrlr %v0, %r0, -1
#CHECK: error: invalid operand
#CHECK: vstrlr %v0, %r0, 4096
#CHECK: error: %r0 used in an address
#CHECK: vstrlr %v0, %r0, 0(%r0)
vstrlr %v0, %r0, -1
vstrlr %v0, %r0, 4096
vstrlr %v0, %r0, 0(%r0)
#CHECK: error: invalid operand
#CHECK: vupkz %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: vupkz %v0, 0, 256
#CHECK: error: invalid operand
#CHECK: vupkz %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: vupkz %v0, 4096, 0
#CHECK: error: %r0 used in an address
#CHECK: vupkz %v0, 0(%r0), 0
vupkz %v0, 0, -1
vupkz %v0, 0, 256
vupkz %v0, -1, 0
vupkz %v0, 4096, 0
vupkz %v0, 0(%r0), 0
#CHECK: error: invalid operand
#CHECK: wfisb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: wfisb %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: wfisb %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: wfisb %v0, %v0, 16, 0
wfisb %v0, %v0, 0, -1
wfisb %v0, %v0, 0, 16
wfisb %v0, %v0, -1, 0
wfisb %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: wfixb %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: wfixb %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: wfixb %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: wfixb %v0, %v0, 16, 0
wfixb %v0, %v0, 0, -1
wfixb %v0, %v0, 0, 16
wfixb %v0, %v0, -1, 0
wfixb %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: wflrd %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: wflrd %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: wflrd %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: wflrd %v0, %v0, 16, 0
wflrd %v0, %v0, 0, -1
wflrd %v0, %v0, 0, 16
wflrd %v0, %v0, -1, 0
wflrd %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: wflrx %v0, %v0, 0, -1
#CHECK: error: invalid operand
#CHECK: wflrx %v0, %v0, 0, 16
#CHECK: error: invalid operand
#CHECK: wflrx %v0, %v0, -1, 0
#CHECK: error: invalid operand
#CHECK: wflrx %v0, %v0, 16, 0
wflrx %v0, %v0, 0, -1
wflrx %v0, %v0, 0, 16
wflrx %v0, %v0, -1, 0
wflrx %v0, %v0, 16, 0
#CHECK: error: invalid operand
#CHECK: wfmaxdb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: wfmaxdb %v0, %v0, %v0, 16
wfmaxdb %v0, %v0, %v0, -1
wfmaxdb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: wfmaxsb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: wfmaxsb %v0, %v0, %v0, 16
wfmaxsb %v0, %v0, %v0, -1
wfmaxsb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: wfmaxxb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: wfmaxxb %v0, %v0, %v0, 16
wfmaxxb %v0, %v0, %v0, -1
wfmaxxb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: wfmindb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: wfmindb %v0, %v0, %v0, 16
wfmindb %v0, %v0, %v0, -1
wfmindb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: wfminsb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: wfminsb %v0, %v0, %v0, 16
wfminsb %v0, %v0, %v0, -1
wfminsb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: wfminxb %v0, %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: wfminxb %v0, %v0, %v0, 16
wfminxb %v0, %v0, %v0, -1
wfminxb %v0, %v0, %v0, 16
#CHECK: error: invalid operand
#CHECK: wftcisb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: wftcisb %v0, %v0, 4096
wftcisb %v0, %v0, -1
wftcisb %v0, %v0, 4096
#CHECK: error: invalid operand
#CHECK: wftcixb %v0, %v0, -1
#CHECK: error: invalid operand
#CHECK: wftcixb %v0, %v0, 4096
wftcixb %v0, %v0, -1
wftcixb %v0, %v0, 4096