xref: /llvm-project/llvm/test/MC/LoongArch/Basic/Integer/bound-check.s (revision 7898587e948cc24af6e22f86c921949169f4f87b)
1## Test valid boundary check memory access instructions.
2
3# RUN: llvm-mc %s --triple=loongarch64 --show-encoding \
4# RUN:     | FileCheck --check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s
5# RUN: llvm-mc %s --triple=loongarch64 --filetype=obj | llvm-objdump -d - \
6# RUN:     | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s
7
8# CHECK-ASM-AND-OBJ: ldgt.b $a2, $a2, $s6
9# CHECK-ASM: encoding: [0xc6,0x74,0x78,0x38]
10ldgt.b $a2, $a2, $s6
11
12# CHECK-ASM-AND-OBJ: ldgt.h $a1, $s8, $ra
13# CHECK-ASM: encoding: [0xe5,0x87,0x78,0x38]
14ldgt.h $a1, $s8, $ra
15
16# CHECK-ASM-AND-OBJ: ldgt.w $t3, $s3, $a4
17# CHECK-ASM: encoding: [0x4f,0x23,0x79,0x38]
18ldgt.w $t3, $s3, $a4
19
20# CHECK-ASM-AND-OBJ: ldgt.d $s0, $s2, $s8
21# CHECK-ASM: encoding: [0x37,0xff,0x79,0x38]
22ldgt.d $s0, $s2, $s8
23
24# CHECK-ASM-AND-OBJ: ldle.b $a5, $t0, $t3
25# CHECK-ASM: encoding: [0x89,0x3d,0x7a,0x38]
26ldle.b $a5, $t0, $t3
27
28# CHECK-ASM-AND-OBJ: ldle.h $a7, $a7, $s0
29# CHECK-ASM: encoding: [0x6b,0xdd,0x7a,0x38]
30ldle.h $a7, $a7, $s0
31
32# CHECK-ASM-AND-OBJ: ldle.w $s1, $tp, $tp
33# CHECK-ASM: encoding: [0x58,0x08,0x7b,0x38]
34ldle.w $s1, $tp, $tp
35
36# CHECK-ASM-AND-OBJ: ldle.d $t8, $t3, $t4
37# CHECK-ASM: encoding: [0xf4,0xc1,0x7b,0x38]
38ldle.d $t8, $t3, $t4
39
40# CHECK-ASM-AND-OBJ: stgt.b $s4, $t7, $t8
41# CHECK-ASM: encoding: [0x7b,0x52,0x7c,0x38]
42stgt.b $s4, $t7, $t8
43
44# CHECK-ASM-AND-OBJ: stgt.h $t4, $a0, $a2
45# CHECK-ASM: encoding: [0x90,0x98,0x7c,0x38]
46stgt.h $t4, $a0, $a2
47
48# CHECK-ASM-AND-OBJ: stgt.w $s8, $s5, $t2
49# CHECK-ASM: encoding: [0x9f,0x3b,0x7d,0x38]
50stgt.w $s8, $s5, $t2
51
52# CHECK-ASM-AND-OBJ: stgt.d $s7, $r21, $s1
53# CHECK-ASM: encoding: [0xbe,0xe2,0x7d,0x38]
54stgt.d $s7, $r21, $s1
55
56# CHECK-ASM-AND-OBJ: stle.b $a6, $a0, $t4
57# CHECK-ASM: encoding: [0x8a,0x40,0x7e,0x38]
58stle.b $a6, $a0, $t4
59
60# CHECK-ASM-AND-OBJ: stle.h $t5, $t5, $r21
61# CHECK-ASM: encoding: [0x31,0xd6,0x7e,0x38]
62stle.h $t5, $t5, $r21
63
64# CHECK-ASM-AND-OBJ: stle.w $s0, $s5, $s6
65# CHECK-ASM: encoding: [0x97,0x77,0x7f,0x38]
66stle.w $s0, $s5, $s6
67
68# CHECK-ASM-AND-OBJ: stle.d $s2, $s1, $s6
69# CHECK-ASM: encoding: [0x19,0xf7,0x7f,0x38]
70stle.d $s2, $s1, $s6
71
72