## Test out of range immediates which are used by lsx instructions.
# RUN: not llvm-mc --triple=loongarch64 %s 2>&1 | FileCheck %s
## uimm1
vstelm.d $vr0, $a0, 8, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 1]
vstelm.d $vr0, $a0, 8, 2
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 1]
vreplvei.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 1]
vreplvei.d $vr0, $vr1, 2
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 1]
vpickve2gr.du $a0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 1]
vpickve2gr.du $a0, $vr1, 2
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 1]
vpickve2gr.d $a0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 1]
vpickve2gr.d $a0, $vr1, 2
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 1]
vinsgr2vr.d $vr0, $a0, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 1]
vinsgr2vr.d $vr0, $a0, 2
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 1]
## uimm2
vstelm.w $vr0, $a0, 4, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
vstelm.w $vr0, $a0, 4, 4
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
vreplvei.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
vreplvei.w $vr0, $vr1, 4
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
vpickve2gr.wu $a0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 3]
vpickve2gr.wu $a0, $vr1, 4
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 3]
vpickve2gr.w $a0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]
vpickve2gr.w $a0, $vr1, 4
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]
vinsgr2vr.w $vr0, $a0, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
vinsgr2vr.w $vr0, $a0, 4
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
## uimm3
vstelm.h $vr0, $a0, 2, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vstelm.h $vr0, $a0, 2, 8
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vreplvei.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vreplvei.h $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vpickve2gr.hu $a0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]
vpickve2gr.hu $a0, $vr1, 8
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]
vpickve2gr.h $a0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
vpickve2gr.h $a0, $vr1, 8
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
vinsgr2vr.h $vr0, $a0, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vinsgr2vr.h $vr0, $a0, 8
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vbitrevi.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vbitrevi.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vbitseti.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vbitseti.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vbitclri.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vbitclri.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
vsrari.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
vsrari.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
vsrlri.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
vsrlri.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
vsllwil.hu.bu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 7]
vsllwil.hu.bu $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 7]
vsllwil.h.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
vsllwil.h.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
vrotri.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
vrotri.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
vsrai.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
vsrai.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
vsrli.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
vsrli.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
vslli.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
vslli.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
vsat.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 7]
vsat.b $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 7]
vsat.bu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
vsat.bu $vr0, $vr1, 8
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
## uimm4
vstelm.b $vr0, $a0, 1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vstelm.b $vr0, $a0, 1, 16
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vreplvei.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vreplvei.b $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vpickve2gr.bu $a0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vpickve2gr.bu $a0, $vr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vpickve2gr.b $a0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vpickve2gr.b $a0, $vr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vinsgr2vr.b $vr0, $a0, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vinsgr2vr.b $vr0, $a0, 16
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vbitrevi.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vbitrevi.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vbitseti.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vbitseti.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vbitclri.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vbitclri.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vssrarni.bu.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
vssrarni.bu.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
vssrlrni.bu.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
vssrlrni.bu.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
vssrarni.b.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vssrarni.b.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vssrlrni.b.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vssrlrni.b.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vssrani.bu.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vssrani.bu.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vssrlni.bu.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vssrlni.bu.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
vssrani.b.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vssrani.b.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vssrlni.b.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vssrlni.b.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vsrarni.b.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vsrarni.b.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vsrlrni.b.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vsrlrni.b.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vsrani.b.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vsrani.b.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vsrlni.b.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vsrlni.b.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 15]
vsrari.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
vsrari.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
vsrlri.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
vsrlri.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
vsllwil.wu.hu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
vsllwil.wu.hu $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
vsllwil.w.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vsllwil.w.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
vrotri.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
vrotri.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
vsrai.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
vsrai.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
vsrli.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
vsrli.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
vslli.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
vslli.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
vsat.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 15]
vsat.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 15]
vsat.hu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
vsat.hu $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
## uimm5
vbsrl.v $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vbsrl.v $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vbsll.v $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vbsll.v $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vslti.du $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslti.du $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslti.wu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslti.wu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslti.hu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslti.hu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslti.bu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslti.bu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslei.du $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslei.du $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslei.wu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslei.wu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslei.hu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslei.hu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslei.bu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vslei.bu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vfrstpi.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
vfrstpi.h $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
vfrstpi.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
vfrstpi.b $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
vbitrevi.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vbitrevi.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vbitseti.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vbitseti.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vbitclri.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vbitclri.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vssrarni.hu.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
vssrarni.hu.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
vssrlrni.hu.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
vssrlrni.hu.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
vssrarni.h.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
vssrarni.h.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
vssrlrni.h.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
vssrlrni.h.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
vssrani.hu.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
vssrani.hu.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
vssrlni.hu.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
vssrlni.hu.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
vssrani.h.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vssrani.h.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vssrlni.h.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vssrlni.h.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vsrarni.h.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vsrarni.h.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vsrlrni.h.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vsrlrni.h.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vsrani.h.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vsrani.h.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vsrlni.h.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vsrlni.h.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
vsrari.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsrari.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsrlri.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsrlri.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsllwil.du.wu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
vsllwil.du.wu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
vsllwil.d.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vsllwil.d.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
vrotri.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vrotri.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsrai.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vsrai.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vsrli.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vsrli.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vslli.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vslli.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vaddi.bu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vaddi.bu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vaddi.hu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vaddi.hu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vaddi.wu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vaddi.wu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vaddi.du $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vaddi.du $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsubi.bu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsubi.bu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsubi.hu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsubi.hu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsubi.wu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsubi.wu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsubi.du $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsubi.du $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmaxi.bu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmaxi.bu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmaxi.hu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmaxi.hu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmaxi.wu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmaxi.wu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmaxi.du $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmaxi.du $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmini.bu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmini.bu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmini.hu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmini.hu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmini.wu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmini.wu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmini.du $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vmini.du $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
vsat.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 31]
vsat.w $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 31]
vsat.wu $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
vsat.wu $vr0, $vr1, 32
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
## simm5
vslti.d $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslti.d $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslti.w $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslti.w $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslti.h $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslti.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslti.b $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslti.b $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslei.d $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslei.d $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslei.w $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslei.w $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslei.h $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslei.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslei.b $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vslei.b $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vseqi.d $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vseqi.d $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vseqi.w $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vseqi.w $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vseqi.h $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vseqi.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vseqi.b $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vseqi.b $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmaxi.b $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmaxi.b $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmaxi.h $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmaxi.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmaxi.w $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmaxi.w $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmaxi.d $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmaxi.d $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmini.b $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmini.b $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmini.h $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmini.h $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmini.w $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmini.w $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmini.d $vr0, $vr1, -17
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
vmini.d $vr0, $vr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-16, 15]
## uimm6
vbitrevi.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vbitrevi.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vbitseti.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vbitseti.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vbitclri.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vbitclri.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vssrarni.wu.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
vssrarni.wu.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
vssrlrni.wu.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
vssrlrni.wu.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
vssrarni.w.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
vssrarni.w.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
vssrlrni.w.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
vssrlrni.w.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
vssrani.wu.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
vssrani.wu.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
vssrlni.wu.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
vssrlni.wu.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
vssrani.w.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
vssrani.w.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
vssrlni.w.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
vssrlni.w.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
vsrarni.w.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
vsrarni.w.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
vsrlrni.w.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
vsrlrni.w.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
vsrani.w.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vsrani.w.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vsrlni.w.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vsrlni.w.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 63]
vsrari.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
vsrari.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
vsrlri.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
vsrlri.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
vrotri.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
vrotri.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
vsrai.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
vsrai.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
vsrli.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
vsrli.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
vslli.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
vslli.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
vsat.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 63]
vsat.d $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 63]
vsat.du $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
vsat.du $vr0, $vr1, 64
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
## uimm7
vssrarni.du.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
vssrarni.du.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
vssrlrni.du.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
vssrlrni.du.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
vssrarni.d.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
vssrarni.d.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
vssrlrni.d.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
vssrlrni.d.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
vssrani.du.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
vssrani.du.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
vssrlni.du.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
vssrlni.du.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
vssrani.d.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
vssrani.d.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
vssrlni.d.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
vssrlni.d.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
vsrarni.d.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
vsrarni.d.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
vsrlrni.d.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
vsrlrni.d.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
vsrani.d.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 127]
vsrani.d.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 127]
vsrlni.d.q $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 127]
vsrlni.d.q $vr0, $vr1, 128
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 127]
## uimm8
vextrins.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vextrins.d $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vextrins.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vextrins.w $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vextrins.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vextrins.h $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vextrins.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vextrins.b $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vpermi.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]
vpermi.w $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]
vshuf4i.d $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
vshuf4i.d $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
vshuf4i.w $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
vshuf4i.w $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
vshuf4i.h $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
vshuf4i.h $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
vshuf4i.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
vshuf4i.b $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
vbitseli.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vbitseli.b $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
vandi.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]
vandi.b $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]
vori.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 255]
vori.b $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:20: error: immediate must be an integer in the range [0, 255]
vxori.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]
vxori.b $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]
vnori.b $vr0, $vr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]
vnori.b $vr0, $vr1, 256
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]
## simm8
vstelm.b $vr0, $a0, -129, 1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-128, 127]
vstelm.b $vr0, $a0, 128, 1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [-128, 127]
## simm8_lsl1
vstelm.h $vr0, $a0, -258, 1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be a multiple of 2 in the range [-256, 254]
vstelm.h $vr0, $a0, 256, 1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be a multiple of 2 in the range [-256, 254]
## simm8_lsl2
vstelm.w $vr0, $a0, -516, 1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be a multiple of 4 in the range [-512, 508]
vstelm.w $vr0, $a0, 512, 1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be a multiple of 4 in the range [-512, 508]
## simm8_lsl3
vstelm.d $vr0, $a0, -1032, 1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be a multiple of 8 in the range [-1024, 1016]
vstelm.d $vr0, $a0, 1024, 1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be a multiple of 8 in the range [-1024, 1016]
## simm9_lsl3
vldrepl.d $vr0, $a0, -2056
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 8 in the range [-2048, 2040]
vldrepl.d $vr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 8 in the range [-2048, 2040]
## simm10_lsl2
vldrepl.w $vr0, $a0, -2052
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 4 in the range [-2048, 2044]
vldrepl.w $vr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 4 in the range [-2048, 2044]
## simm10
vrepli.b $vr0, -513
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-512, 511]
vrepli.b $vr0, 512
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-512, 511]
vrepli.h $vr0, -513
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-512, 511]
vrepli.h $vr0, 512
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-512, 511]
vrepli.w $vr0, -513
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-512, 511]
vrepli.w $vr0, 512
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-512, 511]
vrepli.d $vr0, -513
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-512, 511]
vrepli.d $vr0, 512
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-512, 511]
## simm11_lsl1
vldrepl.h $vr0, $a0, -2050
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 2 in the range [-2048, 2046]
vldrepl.h $vr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 2 in the range [-2048, 2046]
## simm12
vldrepl.b $vr0, $a0, -2049
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-2048, 2047]
vldrepl.b $vr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-2048, 2047]
vst $vr0, $a0, -2049
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047]
vst $vr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047]
vld $vr0, $a0, -2049
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047]
vld $vr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047]
## simm13
vldi $vr0, -4097
# CHECK: :[[#@LINE-1]]:12: error: immediate must be an integer in the range [-4096, 4095]
vldi $vr0, 4096
# CHECK: :[[#@LINE-1]]:12: error: immediate must be an integer in the range [-4096, 4095]