Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/MC/LoongArch/Basic/Integer/invalid.s
Show All 38 Lines | |||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [0, 4095] | # CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [0, 4095] | ||||
ori $a0, $a0, 4096 | ori $a0, $a0, 4096 | ||||
# CHECK: :[[#@LINE-1]]:15: error: immediate must be an integer in the range [0, 4095] | # CHECK: :[[#@LINE-1]]:15: error: immediate must be an integer in the range [0, 4095] | ||||
xori $a0, $a0, 4096 | xori $a0, $a0, 4096 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [0, 4095] | # CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [0, 4095] | ||||
## simm12 | ## simm12 | ||||
addi.w $a0, $a0, -2049 | addi.w $a0, $a0, -2049 | ||||
# CHECK: :[[#@LINE-1]]:18: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:18: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
slti $a0, $a0, -2049 | slti $a0, $a0, -2049 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:16: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
sltui $a0, $a0, 2048 | sltui $a0, $a0, 2048 | ||||
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:17: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
preld 0, $a0, 2048 | preld 0, $a0, 2048 | ||||
# CHECK: :[[#@LINE-1]]:15: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:15: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
ld.b $a0, $a0, 2048 | ld.b $a0, $a0, 2048 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:16: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
ld.h $a0, $a0, 2048 | ld.h $a0, $a0, 2048 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:16: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
ld.w $a0, $a0, 2048 | ld.w $a0, $a0, 2048 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:16: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
ld.bu $a0, $a0, -2049 | ld.bu $a0, $a0, -2049 | ||||
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:17: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
ld.hu $a0, $a0, -2049 | ld.hu $a0, $a0, -2049 | ||||
# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:17: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
st.b $a0, $a0, 2048 | st.b $a0, $a0, 2048 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:16: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
st.h $a0, $a0, 2048 | st.h $a0, $a0, 2048 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:16: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
st.w $a0, $a0, -2049 | st.w $a0, $a0, -2049 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047] | # CHECK: :[[#@LINE-1]]:16: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047] | ||||
## simm14_lsl2 | ## simm14_lsl2 | ||||
ll.w $a0, $a0, -32772 | ll.w $a0, $a0, -32772 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be a multiple of 4 in the range [-32768, 32764] | # CHECK: :[[#@LINE-1]]:16: error: immediate must be a multiple of 4 in the range [-32768, 32764] | ||||
ll.w $a0, $a0, -32769 | ll.w $a0, $a0, -32769 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be a multiple of 4 in the range [-32768, 32764] | # CHECK: :[[#@LINE-1]]:16: error: immediate must be a multiple of 4 in the range [-32768, 32764] | ||||
sc.w $a0, $a0, 32767 | sc.w $a0, $a0, 32767 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be a multiple of 4 in the range [-32768, 32764] | # CHECK: :[[#@LINE-1]]:16: error: immediate must be a multiple of 4 in the range [-32768, 32764] | ||||
Show All 18 Lines | |||||
## simm20 | ## simm20 | ||||
lu12i.w $a0, -0x80001 | lu12i.w $a0, -0x80001 | ||||
# CHECK: :[[#@LINE-1]]:14: error: immediate must be an integer in the range [-524288, 524287] | # CHECK: :[[#@LINE-1]]:14: error: immediate must be an integer in the range [-524288, 524287] | ||||
pcaddi $a0, -0x80001 | pcaddi $a0, -0x80001 | ||||
# CHECK: :[[#@LINE-1]]:13: error: immediate must be an integer in the range [-524288, 524287] | # CHECK: :[[#@LINE-1]]:13: error: immediate must be an integer in the range [-524288, 524287] | ||||
pcaddu12i $a0, 0x80000 | pcaddu12i $a0, 0x80000 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-524288, 524287] | # CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-524288, 524287] | ||||
## simm20_pcalau12i | |||||
pcalau12i $a0, 0x80000 | pcalau12i $a0, 0x80000 | ||||
# CHECK: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-524288, 524287] | # CHECK: :[[#@LINE-1]]:16: error: operand must be a symbol with modifier (e.g. %pc_hi20) or an integer in the range [-524288, 524287] | ||||
## simm21_lsl2 | ## simm21_lsl2 | ||||
beqz $a0, -0x400001 | beqz $a0, -0x400001 | ||||
# CHECK: :[[#@LINE-1]]:11: error: immediate must be a multiple of 4 in the range [-4194304, 4194300] | # CHECK: :[[#@LINE-1]]:11: error: immediate must be a multiple of 4 in the range [-4194304, 4194300] | ||||
bnez $a0, -0x3FFFFF | bnez $a0, -0x3FFFFF | ||||
# CHECK: :[[#@LINE-1]]:11: error: immediate must be a multiple of 4 in the range [-4194304, 4194300] | # CHECK: :[[#@LINE-1]]:11: error: immediate must be a multiple of 4 in the range [-4194304, 4194300] | ||||
beqz $a0, 0x3FFFFF | beqz $a0, 0x3FFFFF | ||||
# CHECK: :[[#@LINE-1]]:11: error: immediate must be a multiple of 4 in the range [-4194304, 4194300] | # CHECK: :[[#@LINE-1]]:11: error: immediate must be a multiple of 4 in the range [-4194304, 4194300] | ||||
bnez $a0, 0x400000 | bnez $a0, 0x400000 | ||||
# CHECK: :[[#@LINE-1]]:11: error: immediate must be a multiple of 4 in the range [-4194304, 4194300] | # CHECK: :[[#@LINE-1]]:11: error: immediate must be a multiple of 4 in the range [-4194304, 4194300] | ||||
## simm26_lsl2 | ## simm26_lsl2 | ||||
b -0x8000001 | b -0x8000001 | ||||
# CHECK: :[[#@LINE-1]]:3: error: immediate must be a multiple of 4 in the range [-134217728, 134217724] | # CHECK: :[[#@LINE-1]]:3: error: operand must be a bare symbol name or an immediate must be a multiple of 4 in the range [-134217728, 134217724] | ||||
b 0x1 | b 0x1 | ||||
# CHECK: :[[#@LINE-1]]:3: error: immediate must be a multiple of 4 in the range [-134217728, 134217724] | # CHECK: :[[#@LINE-1]]:3: error: operand must be a bare symbol name or an immediate must be a multiple of 4 in the range [-134217728, 134217724] | ||||
bl 0x7FFFFFF | bl 0x7FFFFFF | ||||
# CHECK: :[[#@LINE-1]]:4: error: immediate must be a multiple of 4 in the range [-134217728, 134217724] | # CHECK: :[[#@LINE-1]]:4: error: operand must be a bare symbol name or an immediate must be a multiple of 4 in the range [-134217728, 134217724] | ||||
bl 0x8000000 | bl 0x8000000 | ||||
# CHECK: :[[#@LINE-1]]:4: error: immediate must be a multiple of 4 in the range [-134217728, 134217724] | # CHECK: :[[#@LINE-1]]:4: error: operand must be a bare symbol name or an immediate must be a multiple of 4 in the range [-134217728, 134217724] | ||||
## Invalid mnemonics | ## Invalid mnemonics | ||||
nori $a0, $a0, 0 | nori $a0, $a0, 0 | ||||
# CHECK: :[[#@LINE-1]]:1: error: unrecognized instruction mnemonic | # CHECK: :[[#@LINE-1]]:1: error: unrecognized instruction mnemonic | ||||
andni $a0, $a0, 0 | andni $a0, $a0, 0 | ||||
# CHECK: :[[#@LINE-1]]:1: error: unrecognized instruction mnemonic | # CHECK: :[[#@LINE-1]]:1: error: unrecognized instruction mnemonic | ||||
orni $a0, $a0, 0 | orni $a0, $a0, 0 | ||||
# CHECK: :[[#@LINE-1]]:1: error: unrecognized instruction mnemonic | # CHECK: :[[#@LINE-1]]:1: error: unrecognized instruction mnemonic | ||||
▲ Show 20 Lines • Show All 58 Lines • Show Last 20 Lines |