[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / SVE / prfb.s
blobce8776bd9a406cda325ace7a4ab33daaa97aac6f
1 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
2 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %s \
4 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
5 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
6 // RUN: | FileCheck %s --check-prefix=CHECK-ERROR
7 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
8 // RUN: | llvm-objdump --no-print-imm-hex -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
9 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
10 // RUN: | llvm-objdump --no-print-imm-hex -d --mattr=-sve - | FileCheck %s --check-prefix=CHECK-UNKNOWN
12 // --------------------------------------------------------------------------//
13 // Test all possible prefetch operation specifiers
15 prfb #0, p0, [x0]
16 // CHECK-INST: prfb pldl1keep, p0, [x0]
17 // CHECK-ENCODING: [0x00,0x00,0xc0,0x85]
18 // CHECK-ERROR: instruction requires: sve or sme
19 // CHECK-UNKNOWN: 85c00000 <unknown>
21 prfb pldl1keep, p0, [x0]
22 // CHECK-INST: prfb pldl1keep, p0, [x0]
23 // CHECK-ENCODING: [0x00,0x00,0xc0,0x85]
24 // CHECK-ERROR: instruction requires: sve or sme
25 // CHECK-UNKNOWN: 85c00000 <unknown>
27 prfb #1, p0, [x0]
28 // CHECK-INST: prfb pldl1strm, p0, [x0]
29 // CHECK-ENCODING: [0x01,0x00,0xc0,0x85]
30 // CHECK-ERROR: instruction requires: sve or sme
31 // CHECK-UNKNOWN: 85c00001 <unknown>
33 prfb pldl1strm, p0, [x0]
34 // CHECK-INST: prfb pldl1strm, p0, [x0]
35 // CHECK-ENCODING: [0x01,0x00,0xc0,0x85]
36 // CHECK-ERROR: instruction requires: sve or sme
37 // CHECK-UNKNOWN: 85c00001 <unknown>
39 prfb #2, p0, [x0]
40 // CHECK-INST: prfb pldl2keep, p0, [x0]
41 // CHECK-ENCODING: [0x02,0x00,0xc0,0x85]
42 // CHECK-ERROR: instruction requires: sve or sme
43 // CHECK-UNKNOWN: 85c00002 <unknown>
45 prfb pldl2keep, p0, [x0]
46 // CHECK-INST: prfb pldl2keep, p0, [x0]
47 // CHECK-ENCODING: [0x02,0x00,0xc0,0x85]
48 // CHECK-ERROR: instruction requires: sve or sme
49 // CHECK-UNKNOWN: 85c00002 <unknown>
51 prfb #3, p0, [x0]
52 // CHECK-INST: prfb pldl2strm, p0, [x0]
53 // CHECK-ENCODING: [0x03,0x00,0xc0,0x85]
54 // CHECK-ERROR: instruction requires: sve or sme
55 // CHECK-UNKNOWN: 85c00003 <unknown>
57 prfb pldl2strm, p0, [x0]
58 // CHECK-INST: prfb pldl2strm, p0, [x0]
59 // CHECK-ENCODING: [0x03,0x00,0xc0,0x85]
60 // CHECK-ERROR: instruction requires: sve or sme
61 // CHECK-UNKNOWN: 85c00003 <unknown>
63 prfb #4, p0, [x0]
64 // CHECK-INST: prfb pldl3keep, p0, [x0]
65 // CHECK-ENCODING: [0x04,0x00,0xc0,0x85]
66 // CHECK-ERROR: instruction requires: sve or sme
67 // CHECK-UNKNOWN: 85c00004 <unknown>
69 prfb pldl3keep, p0, [x0]
70 // CHECK-INST: prfb pldl3keep, p0, [x0]
71 // CHECK-ENCODING: [0x04,0x00,0xc0,0x85]
72 // CHECK-ERROR: instruction requires: sve or sme
73 // CHECK-UNKNOWN: 85c00004 <unknown>
75 prfb #5, p0, [x0]
76 // CHECK-INST: prfb pldl3strm, p0, [x0]
77 // CHECK-ENCODING: [0x05,0x00,0xc0,0x85]
78 // CHECK-ERROR: instruction requires: sve or sme
79 // CHECK-UNKNOWN: 85c00005 <unknown>
81 prfb pldl3strm, p0, [x0]
82 // CHECK-INST: prfb pldl3strm, p0, [x0]
83 // CHECK-ENCODING: [0x05,0x00,0xc0,0x85]
84 // CHECK-ERROR: instruction requires: sve or sme
85 // CHECK-UNKNOWN: 85c00005 <unknown>
87 prfb #6, p0, [x0]
88 // CHECK-INST: prfb #6, p0, [x0]
89 // CHECK-ENCODING: [0x06,0x00,0xc0,0x85]
90 // CHECK-ERROR: instruction requires: sve or sme
91 // CHECK-UNKNOWN: 85c00006 <unknown>
93 prfb #7, p0, [x0]
94 // CHECK-INST: prfb #7, p0, [x0]
95 // CHECK-ENCODING: [0x07,0x00,0xc0,0x85]
96 // CHECK-ERROR: instruction requires: sve or sme
97 // CHECK-UNKNOWN: 85c00007 <unknown>
99 prfb #8, p0, [x0]
100 // CHECK-INST: prfb pstl1keep, p0, [x0]
101 // CHECK-ENCODING: [0x08,0x00,0xc0,0x85]
102 // CHECK-ERROR: instruction requires: sve or sme
103 // CHECK-UNKNOWN: 85c00008 <unknown>
105 prfb pstl1keep, p0, [x0]
106 // CHECK-INST: prfb pstl1keep, p0, [x0]
107 // CHECK-ENCODING: [0x08,0x00,0xc0,0x85]
108 // CHECK-ERROR: instruction requires: sve or sme
109 // CHECK-UNKNOWN: 85c00008 <unknown>
111 prfb #9, p0, [x0]
112 // CHECK-INST: prfb pstl1strm, p0, [x0]
113 // CHECK-ENCODING: [0x09,0x00,0xc0,0x85]
114 // CHECK-ERROR: instruction requires: sve or sme
115 // CHECK-UNKNOWN: 85c00009 <unknown>
117 prfb pstl1strm, p0, [x0]
118 // CHECK-INST: prfb pstl1strm, p0, [x0]
119 // CHECK-ENCODING: [0x09,0x00,0xc0,0x85]
120 // CHECK-ERROR: instruction requires: sve or sme
121 // CHECK-UNKNOWN: 85c00009 <unknown>
123 prfb #10, p0, [x0]
124 // CHECK-INST: prfb pstl2keep, p0, [x0]
125 // CHECK-ENCODING: [0x0a,0x00,0xc0,0x85]
126 // CHECK-ERROR: instruction requires: sve or sme
127 // CHECK-UNKNOWN: 85c0000a <unknown>
129 prfb pstl2keep, p0, [x0]
130 // CHECK-INST: prfb pstl2keep, p0, [x0]
131 // CHECK-ENCODING: [0x0a,0x00,0xc0,0x85]
132 // CHECK-ERROR: instruction requires: sve or sme
133 // CHECK-UNKNOWN: 85c0000a <unknown>
135 prfb #11, p0, [x0]
136 // CHECK-INST: prfb pstl2strm, p0, [x0]
137 // CHECK-ENCODING: [0x0b,0x00,0xc0,0x85]
138 // CHECK-ERROR: instruction requires: sve or sme
139 // CHECK-UNKNOWN: 85c0000b <unknown>
141 prfb pstl2strm, p0, [x0]
142 // CHECK-INST: prfb pstl2strm, p0, [x0]
143 // CHECK-ENCODING: [0x0b,0x00,0xc0,0x85]
144 // CHECK-ERROR: instruction requires: sve or sme
145 // CHECK-UNKNOWN: 85c0000b <unknown>
147 prfb #12, p0, [x0]
148 // CHECK-INST: prfb pstl3keep, p0, [x0]
149 // CHECK-ENCODING: [0x0c,0x00,0xc0,0x85]
150 // CHECK-ERROR: instruction requires: sve or sme
151 // CHECK-UNKNOWN: 85c0000c <unknown>
153 prfb pstl3keep, p0, [x0]
154 // CHECK-INST: prfb pstl3keep, p0, [x0]
155 // CHECK-ENCODING: [0x0c,0x00,0xc0,0x85]
156 // CHECK-ERROR: instruction requires: sve or sme
157 // CHECK-UNKNOWN: 85c0000c <unknown>
159 prfb #13, p0, [x0]
160 // CHECK-INST: prfb pstl3strm, p0, [x0]
161 // CHECK-ENCODING: [0x0d,0x00,0xc0,0x85]
162 // CHECK-ERROR: instruction requires: sve or sme
163 // CHECK-UNKNOWN: 85c0000d <unknown>
165 prfb pstl3strm, p0, [x0]
166 // CHECK-INST: prfb pstl3strm, p0, [x0]
167 // CHECK-ENCODING: [0x0d,0x00,0xc0,0x85]
168 // CHECK-ERROR: instruction requires: sve or sme
169 // CHECK-UNKNOWN: 85c0000d <unknown>
171 prfb #14, p0, [x0]
172 // CHECK-INST: prfb #14, p0, [x0]
173 // CHECK-ENCODING: [0x0e,0x00,0xc0,0x85]
174 // CHECK-ERROR: instruction requires: sve or sme
175 // CHECK-UNKNOWN: 85c0000e <unknown>
177 prfb #15, p0, [x0]
178 // CHECK-INST: prfb #15, p0, [x0]
179 // CHECK-ENCODING: [0x0f,0x00,0xc0,0x85]
180 // CHECK-ERROR: instruction requires: sve or sme
181 // CHECK-UNKNOWN: 85c0000f <unknown>
183 // --------------------------------------------------------------------------//
184 // Test addressing modes
186 prfb #1, p0, [x0, #-32, mul vl]
187 // CHECK-INST: prfb pldl1strm, p0, [x0, #-32, mul vl]
188 // CHECK-ENCODING: [0x01,0x00,0xe0,0x85]
189 // CHECK-ERROR: instruction requires: sve or sme
190 // CHECK-UNKNOWN: 85e00001 <unknown>
192 prfb #1, p0, [x0, #31, mul vl]
193 // CHECK-INST: prfb pldl1strm, p0, [x0, #31, mul vl]
194 // CHECK-ENCODING: [0x01,0x00,0xdf,0x85]
195 // CHECK-ERROR: instruction requires: sve or sme
196 // CHECK-UNKNOWN: 85df0001 <unknown>