xref: /llvm-project/llvm/test/MC/Disassembler/AArch64/armv8.3a-signed-pointer.txt (revision dbd5fa1e75d812ab31b1d71b23f506c2cbc7a93d)
1# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.3a --disassemble < %s 2>&1 | FileCheck %s
2# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8r --disassemble < %s 2>&1 | FileCheck %s
3# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+pauth --disassemble < %s 2>&1 | FileCheck %s
4
5# CHECK: warning: potentially undefined instruction encoding
6# CHECK-NEXT: [0x00,0x0c,0x20,0xf8]
7# CHECK: warning: potentially undefined instruction encoding
8# CHECK-NEXT: [0x00,0x0c,0xa0,0xf8]
9# CHECK: ldraa x0, [x0, #0]!
10# CHECK: ldrab x0, [x0, #0]!
11[0x00,0x0c,0x20,0xf8]
12[0x00,0x0c,0xa0,0xf8]
13
14# CHECK: paciasp
15# CHECK: autiasp
16# CHECK: paciaz
17# CHECK: autiaz
18# CHECK: pacia1716
19# CHECK: autia1716
20# CHECK: pacibsp
21# CHECK: autibsp
22# CHECK: pacibz
23# CHECK: autibz
24# CHECK: pacib1716
25# CHECK: autib1716
26# CHECK: xpaclri
27[0x3f,0x23,0x03,0xd5]
28[0xbf,0x23,0x03,0xd5]
29[0x1f,0x23,0x03,0xd5]
30[0x9f,0x23,0x03,0xd5]
31[0x1f,0x21,0x03,0xd5]
32[0x9f,0x21,0x03,0xd5]
33[0x7f,0x23,0x03,0xd5]
34[0xff,0x23,0x03,0xd5]
35[0x5f,0x23,0x03,0xd5]
36[0xdf,0x23,0x03,0xd5]
37[0x5f,0x21,0x03,0xd5]
38[0xdf,0x21,0x03,0xd5]
39[0xff,0x20,0x03,0xd5]
40
41# CHECK: pacia x0, x1
42# CHECK: autia x0, x1
43# CHECK: pacda x0, x1
44# CHECK: autda x0, x1
45# CHECK: pacib x0, x1
46# CHECK: autib x0, x1
47# CHECK: pacdb x0, x1
48# CHECK: autdb x0, x1
49# CHECK: pacga x0, x1, x2
50# CHECK: paciza x0
51# CHECK: autiza x0
52# CHECK: pacdza x0
53# CHECK: autdza x0
54# CHECK: pacizb x0
55# CHECK: autizb x0
56# CHECK: pacdzb x0
57# CHECK: autdzb x0
58# CHECK: xpaci x0
59# CHECK: xpacd x0
60[0x20,0x00,0xc1,0xda]
61[0x20,0x10,0xc1,0xda]
62[0x20,0x08,0xc1,0xda]
63[0x20,0x18,0xc1,0xda]
64[0x20,0x04,0xc1,0xda]
65[0x20,0x14,0xc1,0xda]
66[0x20,0x0c,0xc1,0xda]
67[0x20,0x1c,0xc1,0xda]
68[0x20,0x30,0xc2,0x9a]
69[0xe0,0x23,0xc1,0xda]
70[0xe0,0x33,0xc1,0xda]
71[0xe0,0x2b,0xc1,0xda]
72[0xe0,0x3b,0xc1,0xda]
73[0xe0,0x27,0xc1,0xda]
74[0xe0,0x37,0xc1,0xda]
75[0xe0,0x2f,0xc1,0xda]
76[0xe0,0x3f,0xc1,0xda]
77[0xe0,0x43,0xc1,0xda]
78[0xe0,0x47,0xc1,0xda]
79
80# CHECK: braa x0, x1
81# CHECK: brab x0, x1
82# CHECK: blraa x0, x1
83# CHECK: blrab x0, x1
84[0x01,0x08,0x1f,0xd7]
85[0x01,0x0c,0x1f,0xd7]
86[0x01,0x08,0x3f,0xd7]
87[0x01,0x0c,0x3f,0xd7]
88
89# CHECK: braaz x0
90# CHECK: brabz x0
91# CHECK: blraaz x0
92# CHECK: blrabz x0
93# CHECK: retaa
94# CHECK: retab
95# CHECK: eretaa
96# CHECK: eretab
97[0x1f,0x08,0x1f,0xd6]
98[0x1f,0x0c,0x1f,0xd6]
99[0x1f,0x08,0x3f,0xd6]
100[0x1f,0x0c,0x3f,0xd6]
101[0xff,0x0b,0x5f,0xd6]
102[0xff,0x0f,0x5f,0xd6]
103[0xff,0x0b,0x9f,0xd6]
104[0xff,0x0f,0x9f,0xd6]
105
106# CHECK: ldraa x0, [x1, #4088]
107# CHECK: ldraa x0, [x1, #-4096]
108# CHECK: ldrab x0, [x1, #4088]
109# CHECK: ldrab x0, [x1, #-4096]
110# CHECK: ldraa x0, [x1, #4088]!
111# CHECK: ldraa x0, [x1, #-4096]!
112# CHECK: ldrab x0, [x1, #4088]!
113# CHECK: ldrab x0, [x1, #-4096]!
114[0x20,0xf4,0x3f,0xf8]
115[0x20,0x04,0x60,0xf8]
116[0x20,0xf4,0xbf,0xf8]
117[0x20,0x04,0xe0,0xf8]
118[0x20,0xfc,0x3f,0xf8]
119[0x20,0x0c,0x60,0xf8]
120[0x20,0xfc,0xbf,0xf8]
121[0x20,0x0c,0xe0,0xf8]
122
123# CHECK: ldraa x0, [x1]
124# CHECK: ldrab x0, [x1]
125[0x20,0x04,0x20,0xf8]
126[0x20,0x04,0xa0,0xf8]
127
128# CHECK: ldraa x0, [x1, #0]!
129# CHECK: ldrab x0, [x1, #0]!
130[0x20,0x0c,0x20,0xf8]
131[0x20,0x0c,0xa0,0xf8]
132