## Test out of range immediates which are used by lasx instructions.
# RUN: not llvm-mc --triple=loongarch64 %s 2>&1 | FileCheck %s
## uimm1
xvrepl128vei.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 1]
xvrepl128vei.d $xr0, $xr1, 2
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 1]
## uimm2
xvpickve.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
xvpickve.d $xr0, $xr1, 4
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
xvinsve0.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
xvinsve0.d $xr0, $xr1, 4
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]
xvinsgr2vr.d $xr0, $a0, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]
xvinsgr2vr.d $xr0, $a0, 4
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]
xvpickve2gr.d $a0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 3]
xvpickve2gr.d $a0, $xr1, 4
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 3]
xvpickve2gr.du $a0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 3]
xvpickve2gr.du $a0, $xr1, 4
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 3]
xvstelm.d $xr0, $a0, 8, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]
xvstelm.d $xr0, $a0, 8, 4
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]
xvrepl128vei.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 3]
xvrepl128vei.w $xr0, $xr1, 4
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 3]
## uimm3
xvpickve.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
xvpickve.w $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
xvinsve0.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
xvinsve0.w $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]
xvinsgr2vr.w $xr0, $a0, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvinsgr2vr.w $xr0, $a0, 8
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvpickve2gr.wu $a0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 7]
xvpickve2gr.wu $a0, $xr1, 8
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 7]
xvpickve2gr.w $a0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]
xvpickve2gr.w $a0, $xr1, 8
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]
xvstelm.w $xr0, $a0, 4, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvstelm.w $xr0, $a0, 4, 8
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvrepl128vei.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 7]
xvrepl128vei.h $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 7]
xvbitrevi.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvbitrevi.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvbitseti.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvbitseti.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvbitclri.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvbitclri.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]
xvsrari.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]
xvsrari.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]
xvsrlri.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]
xvsrlri.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]
xvsllwil.hu.bu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 7]
xvsllwil.hu.bu $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 7]
xvsllwil.h.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]
xvsllwil.h.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]
xvrotri.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]
xvrotri.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]
xvsrai.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
xvsrai.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
xvsrli.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
xvsrli.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
xvslli.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
xvslli.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
xvsat.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
xvsat.b $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]
xvsat.bu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
xvsat.bu $xr0, $xr1, 8
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]
## uimm4
xvstelm.h $xr0, $a0, 2, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvstelm.h $xr0, $a0, 2, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvrepl128vei.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]
xvrepl128vei.b $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]
xvbitrevi.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvbitrevi.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvbitseti.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvbitseti.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvbitclri.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvbitclri.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvssrarni.bu.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]
xvssrarni.bu.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]
xvssrlrni.bu.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]
xvssrlrni.bu.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]
xvssrarni.b.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
xvssrarni.b.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
xvssrlrni.b.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
xvssrlrni.b.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
xvssrani.bu.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
xvssrani.bu.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
xvssrlni.bu.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
xvssrlni.bu.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]
xvssrani.b.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvssrani.b.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvssrlni.b.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvssrlni.b.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvsrarni.b.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvsrarni.b.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvsrlrni.b.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvsrlrni.b.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvsrani.b.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvsrani.b.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvsrlni.b.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvsrlni.b.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]
xvsrari.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]
xvsrari.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]
xvsrlri.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]
xvsrlri.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]
xvsllwil.wu.hu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]
xvsllwil.wu.hu $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]
xvsllwil.w.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvsllwil.w.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]
xvrotri.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]
xvrotri.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]
xvsrai.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
xvsrai.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
xvsrli.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
xvsrli.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
xvslli.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
xvslli.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
xvsat.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
xvsat.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]
xvsat.hu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
xvsat.hu $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]
## uimm5
xvstelm.b $xr0, $a0, 1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvstelm.b $xr0, $a0, 1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvbsrl.v $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvbsrl.v $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvbsll.v $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvbsll.v $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvslti.du $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslti.du $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslti.wu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslti.wu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslti.hu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslti.hu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslti.bu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslti.bu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslei.du $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslei.du $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslei.wu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslei.wu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslei.hu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslei.hu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslei.bu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvslei.bu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvfrstpi.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
xvfrstpi.h $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
xvfrstpi.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
xvfrstpi.b $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]
xvbitrevi.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvbitrevi.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvbitseti.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvbitseti.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvbitclri.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvbitclri.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvssrarni.hu.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]
xvssrarni.hu.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]
xvssrlrni.hu.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]
xvssrlrni.hu.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]
xvssrarni.h.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
xvssrarni.h.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
xvssrlrni.h.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
xvssrlrni.h.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
xvssrani.hu.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
xvssrani.hu.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
xvssrlni.hu.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
xvssrlni.hu.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]
xvssrani.h.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvssrani.h.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvssrlni.h.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvssrlni.h.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvsrarni.h.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvsrarni.h.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvsrlrni.h.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvsrlrni.h.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvsrani.h.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvsrani.h.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvsrlni.h.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvsrlni.h.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]
xvsrari.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsrari.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsrlri.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsrlri.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsllwil.du.wu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]
xvsllwil.du.wu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]
xvsllwil.d.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvsllwil.d.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]
xvrotri.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvrotri.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsrai.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvsrai.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvsrli.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvsrli.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvslli.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvslli.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvaddi.bu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvaddi.bu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvaddi.hu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvaddi.hu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvaddi.wu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvaddi.wu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvaddi.du $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvaddi.du $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsubi.bu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsubi.bu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsubi.hu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsubi.hu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsubi.wu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsubi.wu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsubi.du $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsubi.du $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmaxi.bu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmaxi.bu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmaxi.hu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmaxi.hu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmaxi.wu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmaxi.wu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmaxi.du $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmaxi.du $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmini.bu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmini.bu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmini.hu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmini.hu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmini.wu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmini.wu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmini.du $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvmini.du $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]
xvsat.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
xvsat.w $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]
xvsat.wu $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
xvsat.wu $xr0, $xr1, 32
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]
## simm5
xvslti.d $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslti.d $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslti.w $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslti.w $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslti.h $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslti.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslti.b $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslti.b $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslei.d $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslei.d $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslei.w $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslei.w $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslei.h $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslei.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslei.b $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvslei.b $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvseqi.d $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvseqi.d $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvseqi.w $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvseqi.w $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvseqi.h $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvseqi.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvseqi.b $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvseqi.b $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmaxi.b $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmaxi.b $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmaxi.h $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmaxi.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmaxi.w $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmaxi.w $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmaxi.d $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmaxi.d $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmini.b $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmini.b $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmini.h $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmini.h $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmini.w $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmini.w $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmini.d $xr0, $xr1, -17
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
xvmini.d $xr0, $xr1, 16
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]
## uimm6
xvbitrevi.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvbitrevi.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvbitseti.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvbitseti.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvbitclri.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvbitclri.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvssrarni.wu.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 63]
xvssrarni.wu.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 63]
xvssrlrni.wu.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 63]
xvssrlrni.wu.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 63]
xvssrarni.w.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
xvssrarni.w.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
xvssrlrni.w.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
xvssrlrni.w.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
xvssrani.wu.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
xvssrani.wu.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
xvssrlni.wu.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
xvssrlni.wu.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]
xvssrani.w.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
xvssrani.w.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
xvssrlni.w.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
xvssrlni.w.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
xvsrarni.w.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
xvsrarni.w.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
xvsrlrni.w.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
xvsrlrni.w.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]
xvsrani.w.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvsrani.w.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvsrlni.w.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvsrlni.w.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]
xvsrari.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]
xvsrari.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]
xvsrlri.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]
xvsrlri.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]
xvrotri.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]
xvrotri.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]
xvsrai.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
xvsrai.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
xvsrli.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
xvsrli.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
xvslli.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
xvslli.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
xvsat.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
xvsat.d $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]
xvsat.du $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
xvsat.du $xr0, $xr1, 64
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]
## uimm7
xvssrarni.du.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 127]
xvssrarni.du.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 127]
xvssrlrni.du.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 127]
xvssrlrni.du.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 127]
xvssrarni.d.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
xvssrarni.d.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
xvssrlrni.d.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
xvssrlrni.d.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
xvssrani.du.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
xvssrani.du.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
xvssrlni.du.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
xvssrlni.du.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]
xvssrani.d.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
xvssrani.d.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
xvssrlni.d.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
xvssrlni.d.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
xvsrarni.d.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
xvsrarni.d.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
xvsrlrni.d.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
xvsrlrni.d.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]
xvsrani.d.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
xvsrani.d.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
xvsrlni.d.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
xvsrlni.d.q $xr0, $xr1, 128
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]
## uimm8
xvextrins.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvextrins.d $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvextrins.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvextrins.w $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvextrins.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvextrins.h $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvextrins.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvextrins.b $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvpermi.q $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
xvpermi.q $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
xvpermi.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
xvpermi.d $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
xvpermi.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
xvpermi.w $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]
xvshuf4i.d $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
xvshuf4i.d $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
xvshuf4i.w $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
xvshuf4i.w $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
xvshuf4i.h $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
xvshuf4i.h $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
xvshuf4i.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
xvshuf4i.b $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]
xvbitseli.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvbitseli.b $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]
xvandi.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]
xvandi.b $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]
xvori.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]
xvori.b $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]
xvxori.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]
xvxori.b $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]
xvnori.b $xr0, $xr1, -1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]
xvnori.b $xr0, $xr1, 256
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]
## simm8
xvstelm.b $xr0, $a0, -129, 1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-128, 127]
xvstelm.b $xr0, $a0, 128, 1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-128, 127]
## simm8_lsl1
xvstelm.h $xr0, $a0, -258, 1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 2 in the range [-256, 254]
xvstelm.h $xr0, $a0, 256, 1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 2 in the range [-256, 254]
## simm8_lsl2
xvstelm.w $xr0, $a0, -516, 1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 4 in the range [-512, 508]
xvstelm.w $xr0, $a0, 512, 1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 4 in the range [-512, 508]
## simm8_lsl3
xvstelm.d $xr0, $a0, -1032, 1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 8 in the range [-1024, 1016]
xvstelm.d $xr0, $a0, 1024, 1
# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 8 in the range [-1024, 1016]
## simm9_lsl3
xvldrepl.d $xr0, $a0, -2056
# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 8 in the range [-2048, 2040]
xvldrepl.d $xr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 8 in the range [-2048, 2040]
## simm10_lsl2
xvldrepl.w $xr0, $a0, -2052
# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 4 in the range [-2048, 2044]
xvldrepl.w $xr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 4 in the range [-2048, 2044]
## simm10
xvrepli.b $xr0, -513
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]
xvrepli.b $xr0, 512
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]
xvrepli.h $xr0, -513
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]
xvrepli.h $xr0, 512
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]
xvrepli.w $xr0, -513
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]
xvrepli.w $xr0, 512
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]
xvrepli.d $xr0, -513
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]
xvrepli.d $xr0, 512
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]
## simm11_lsl1
xvldrepl.h $xr0, $a0, -2050
# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 2 in the range [-2048, 2046]
xvldrepl.h $xr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 2 in the range [-2048, 2046]
## simm12
xvldrepl.b $xr0, $a0, -2049
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [-2048, 2047]
xvldrepl.b $xr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [-2048, 2047]
xvst $xr0, $a0, -2049
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047]
xvst $xr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047]
xvld $xr0, $a0, -2049
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047]
xvld $xr0, $a0, 2048
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047]
## simm13
xvldi $xr0, -4097
# CHECK: :[[#@LINE-1]]:13: error: immediate must be an integer in the range [-4096, 4095]
xvldi $xr0, 4096
# CHECK: :[[#@LINE-1]]:13: error: immediate must be an integer in the range [-4096, 4095]