1048 lines
25 KiB
ArmAsm
1048 lines
25 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: instruction requires: deflate-conversion
|
|
#CHECK: dfltcc %r2, %r4, %r6
|
|
|
|
dfltcc %r2, %r4, %r6
|
|
|
|
#CHECK: error: instruction requires: message-security-assist-extension9
|
|
#CHECK: kdsa %r0, %r2
|
|
|
|
kdsa %r0, %r2
|
|
|
|
#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: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: mvcrl 0, 0
|
|
|
|
mvcrl 0, 0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: ncgrk %r0, %r0, %r0
|
|
|
|
ncgrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: ncrk %r0, %r0, %r0
|
|
|
|
ncrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: nngrk %r0, %r0, %r0
|
|
|
|
nngrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: nnrk %r0, %r0, %r0
|
|
|
|
nnrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: nogrk %r0, %r0, %r0
|
|
|
|
nogrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: nork %r0, %r0, %r0
|
|
|
|
nork %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: nxgrk %r0, %r0, %r0
|
|
|
|
nxgrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: nxrk %r0, %r0, %r0
|
|
|
|
nxrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: ocgrk %r0, %r0, %r0
|
|
|
|
ocgrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: ocrk %r0, %r0, %r0
|
|
|
|
ocrk %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: popcnt %r2, %r4, 1
|
|
|
|
popcnt %r2, %r4, 1
|
|
|
|
#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: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: selgr %r0, %r0, %r0, 0
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: selgre %r0, %r0, %r0
|
|
|
|
selgr %r0, %r0, %r0, 0
|
|
selgre %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: selfhr %r0, %r0, %r0, 0
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: selfhre %r0, %r0, %r0
|
|
|
|
selfhr %r0, %r0, %r0, 0
|
|
selfhre %r0, %r0, %r0
|
|
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: selr %r0, %r0, %r0, 0
|
|
#CHECK: error: instruction requires: miscellaneous-extensions-3
|
|
#CHECK: selre %r0, %r0, %r0
|
|
|
|
selr %r0, %r0, %r0, 0
|
|
selre %r0, %r0, %r0
|
|
|
|
#CHECK: error: invalid operand
|
|
#CHECK: sgh %r0, -524289
|
|
#CHECK: error: invalid operand
|
|
#CHECK: sgh %r0, 524288
|
|
|
|
sgh %r0, -524289
|
|
sgh %r0, 524288
|
|
|
|
#CHECK: error: instruction requires: enhanced-sort
|
|
#CHECK: sortl %r2, %r4
|
|
|
|
sortl %r2, %r4
|
|
|
|
#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: instruction requires: vector-enhancements-2
|
|
#CHECK: vcefb %v0, %v0, 0, 0
|
|
|
|
vcefb %v0, %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vcelfb %v0, %v0, 0, 0
|
|
|
|
vcelfb %v0, %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vcfeb %v0, %v0, 0, 0
|
|
|
|
vcfeb %v0, %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vcfpl %v0, %v0, 0, 0, 0
|
|
|
|
vcfpl %v0, %v0, 0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vcfps %v0, %v0, 0, 0, 0
|
|
|
|
vcfps %v0, %v0, 0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vclfeb %v0, %v0, 0, 0
|
|
|
|
vclfeb %v0, %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vclfp %v0, %v0, 0, 0, 0
|
|
|
|
vclfp %v0, %v0, 0, 0, 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: instruction requires: vector-enhancements-2
|
|
#CHECK: vcsfp %v0, %v0, 0, 0, 0
|
|
|
|
vcsfp %v0, %v0, 0, 0, 0
|
|
|
|
#CHECK: error: invalid operand
|
|
#CHECK: vcvb %r0, %v0, -1
|
|
#CHECK: error: invalid operand
|
|
#CHECK: vcvb %r0, %v0, 16
|
|
#CHECK: error: instruction requires: vector-packed-decimal-enhancement
|
|
#CHECK: vcvb %r0, %v0, 0, 1
|
|
|
|
vcvb %r0, %v0, -1
|
|
vcvb %r0, %v0, 16
|
|
vcvb %r0, %v0, 0, 1
|
|
|
|
#CHECK: error: invalid operand
|
|
#CHECK: vcvbg %r0, %v0, -1
|
|
#CHECK: error: invalid operand
|
|
#CHECK: vcvbg %r0, %v0, 16
|
|
#CHECK: error: instruction requires: vector-packed-decimal-enhancement
|
|
#CHECK: vcvbg %r0, %v0, 0, 1
|
|
|
|
vcvbg %r0, %v0, -1
|
|
vcvbg %r0, %v0, 16
|
|
vcvbg %r0, %v0, 0, 1
|
|
|
|
#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: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbr %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbrf %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbrg %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbrh %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbrq %v0, 0
|
|
|
|
vlbr %v0, 0, 0
|
|
vlbrf %v0, 0
|
|
vlbrg %v0, 0
|
|
vlbrh %v0, 0
|
|
vlbrq %v0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbrrep %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbrrepf %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbrrepg %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlbrreph %v0, 0
|
|
|
|
vlbrrep %v0, 0, 0
|
|
vlbrrepf %v0, 0
|
|
vlbrrepg %v0, 0
|
|
vlbrreph %v0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlebrf %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlebrg %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlebrh %v0, 0, 0
|
|
|
|
vlebrf %v0, 0, 0
|
|
vlebrg %v0, 0, 0
|
|
vlebrh %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vler %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlerf %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlerg %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vlerh %v0, 0
|
|
|
|
vler %v0, 0, 0
|
|
vlerf %v0, 0
|
|
vlerg %v0, 0
|
|
vlerh %v0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vllebrz %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vllebrze %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vllebrzf %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vllebrzg %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vllebrzh %v0, 0
|
|
|
|
vllebrz %v0, 0, 0
|
|
vllebrze %v0, 0
|
|
vllebrzf %v0, 0
|
|
vllebrzg %v0, 0
|
|
vllebrzh %v0, 0
|
|
|
|
#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
|
|
|
|
vlrl %v0, 0, -1
|
|
vlrl %v0, 0, 256
|
|
vlrl %v0, -1, 0
|
|
vlrl %v0, 4096, 0
|
|
|
|
#CHECK: error: invalid operand
|
|
#CHECK: vlrlr %v0, %r0, -1
|
|
#CHECK: error: invalid operand
|
|
#CHECK: vlrlr %v0, %r0, 4096
|
|
|
|
vlrlr %v0, %r0, -1
|
|
vlrlr %v0, %r0, 4096
|
|
|
|
#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
|
|
|
|
vpkz %v0, 0, -1
|
|
vpkz %v0, 0, 256
|
|
vpkz %v0, -1, 0
|
|
vpkz %v0, 4096, 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: instruction requires: vector-enhancements-2
|
|
#CHECK: vsld %v0, %v0, %v0, 0
|
|
|
|
vsld %v0, %v0, %v0, 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: instruction requires: vector-enhancements-2
|
|
#CHECK: vsrd %v0, %v0, %v0, 0
|
|
|
|
vsrd %v0, %v0, %v0, 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: instruction requires: vector-enhancements-2
|
|
#CHECK: vstbr %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstbrf %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstbrg %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstbrh %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstbrq %v0, 0
|
|
|
|
vstbr %v0, 0, 0
|
|
vstbrf %v0, 0
|
|
vstbrg %v0, 0
|
|
vstbrh %v0, 0
|
|
vstbrq %v0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstebrf %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstebrg %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstebrh %v0, 0, 0
|
|
|
|
vstebrf %v0, 0, 0
|
|
vstebrg %v0, 0, 0
|
|
vstebrh %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vster %v0, 0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vsterf %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vsterg %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vsterh %v0, 0
|
|
|
|
vster %v0, 0, 0
|
|
vsterf %v0, 0
|
|
vsterg %v0, 0
|
|
vsterh %v0, 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
|
|
|
|
vstrl %v0, 0, -1
|
|
vstrl %v0, 0, 256
|
|
vstrl %v0, -1, 0
|
|
vstrl %v0, 4096, 0
|
|
|
|
#CHECK: error: invalid operand
|
|
#CHECK: vstrlr %v0, %r0, -1
|
|
#CHECK: error: invalid operand
|
|
#CHECK: vstrlr %v0, %r0, 4096
|
|
|
|
vstrlr %v0, %r0, -1
|
|
vstrlr %v0, %r0, 4096
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstrs %v0, %v0, %v0, %v0, 0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstrsb %v0, %v0, %v0, %v0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstrsf %v0, %v0, %v0, %v0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstrsh %v0, %v0, %v0, %v0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstrszb %v0, %v0, %v0, %v0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstrszf %v0, %v0, %v0, %v0
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: vstrszh %v0, %v0, %v0, %v0
|
|
|
|
vstrs %v0, %v0, %v0, %v0, 0
|
|
vstrsb %v0, %v0, %v0, %v0
|
|
vstrsf %v0, %v0, %v0, %v0
|
|
vstrsh %v0, %v0, %v0, %v0
|
|
vstrszb %v0, %v0, %v0, %v0
|
|
vstrszf %v0, %v0, %v0, %v0
|
|
vstrszh %v0, %v0, %v0, %v0
|
|
|
|
#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
|
|
|
|
vupkz %v0, 0, -1
|
|
vupkz %v0, 0, 256
|
|
vupkz %v0, -1, 0
|
|
vupkz %v0, 4096, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: wcefb %v0, %v0, 0, 0
|
|
|
|
wcefb %v0, %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: wcelfb %v0, %v0, 0, 0
|
|
|
|
wcelfb %v0, %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: wcfeb %v0, %v0, 0, 0
|
|
|
|
wcfeb %v0, %v0, 0, 0
|
|
|
|
#CHECK: error: instruction requires: vector-enhancements-2
|
|
#CHECK: wclfeb %v0, %v0, 0, 0
|
|
|
|
wclfeb %v0, %v0, 0, 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
|
|
|