]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.arch/powerpc-power10.exp
gdb/testsuite: remove use of then keyword from gdb.arch/*.exp
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.arch / powerpc-power10.exp
1 # Copyright 2021-2022 Free Software Foundation, Inc.
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16 # This file is part of the gdb testsuite.
17
18 # Test PowerPC instructions disassembly of power10 instructions.
19
20 standard_testfile .s
21 set objfile [standard_output_file ${testfile}.o]
22
23 if {![istarget "powerpc*-*-*"]} {
24 verbose "Skipping PowerPC instructions disassembly."
25 return
26 }
27
28 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug}] != "" } {
29 untested "PowerPC instructions disassembly"
30 return -1
31 }
32
33 clean_restart ${objfile}
34
35 # Disassemble the function.
36 set func ""
37
38 gdb_test "set disassembler-options power10"
39 set test "disass func"
40 gdb_test_multiple $test $test {
41 -re "\r\nDump of assembler code for function func:(\r\n.*\r\n)End of assembler dump.\r\n$gdb_prompt $" {
42 set func $expect_out(1,string)
43 pass $test
44 }
45 }
46
47 proc instr_to_patt {instr} {
48 global decimal hex
49 # 0x0000000000000018 <+24>: stxvd2x vs43,r4,r5
50 return "\[ \t\]*$hex <\\+$decimal>:\[ \t\]*[string_to_regexp $instr]"
51 }
52
53 proc func_check {instr} {
54 global func
55
56 set test "found: $instr"
57 if [regexp -nocase -line [instr_to_patt $instr] $func] {
58 pass $test
59 } else {
60 fail $test
61 }
62 }
63
64 func_check "brd r0,r1"
65 func_check "brh r0,r1"
66 func_check "brw r0,r1"
67 func_check "cfuged r0,r1,r2"
68 func_check "cntlzdm r0,r1,r2"
69 func_check "cnttzdm r0,r1,r2"
70 func_check "dcffixqq f28,v0"
71 func_check "dctfixqq v0,f26"
72 func_check "lxvkq vs0,1"
73 func_check "lxvkq vs0,16"
74 func_check "lxvkq vs0,17"
75 func_check "lxvkq vs0,18"
76 func_check "lxvkq vs0,19"
77 func_check "lxvkq vs0,2"
78 func_check "lxvkq vs0,20"
79 func_check "lxvkq vs0,21"
80 func_check "lxvkq vs0,22"
81 func_check "lxvkq vs0,23"
82 func_check "lxvkq vs0,24"
83 func_check "lxvkq vs0,3"
84 func_check "lxvkq vs0,4"
85 func_check "lxvkq vs0,5"
86 func_check "lxvkq vs0,6"
87 func_check "lxvkq vs0,7"
88 func_check "lxvkq vs0,8"
89 func_check "lxvkq vs0,9"
90 func_check "lxvp vs20,0(0)"
91 func_check "lxvp vs20,16(0)"
92 func_check "lxvp vs20,32(0)"
93 func_check "lxvpx vs20,0,r1"
94 func_check "lxvrbx vs0,r1,r2"
95 func_check "lxvrdx vs0,r1,r2"
96 func_check "lxvrhx vs0,r1,r2"
97 func_check "lxvrwx vs0,r1,r2"
98 func_check "mfvsrld r0,vs26"
99 func_check "mfvsrld r0,vs27"
100 func_check "mfvsrld r0,vs28"
101 func_check "mfvsrld r0,vs29"
102 func_check "mffprd r0,f26"
103 func_check "mffprd r0,f27"
104 func_check "mffprd r0,f28"
105 func_check "mffprd r0,f29"
106 func_check "mtvsrbm v0,r1"
107 func_check "mtvsrbmi v0,0"
108 func_check "mtvsrbmi v0,3"
109 func_check "mtvsrbmi v0,7"
110 func_check "mtvsrdm v0,r1"
111 func_check "mtvsrhm v0,r1"
112 func_check "mtvsrqm v0,r1"
113 func_check "mtvsrwm v0,r1"
114 func_check "paddi r0,r1,0"
115 func_check "paddi r0,r1,12"
116 func_check "paddi r0,r1,48"
117 func_check "paddi r0,r1,98"
118 func_check "pdepd r0,r1,r2"
119 func_check "pextd r0,r1,r2"
120 func_check "plbz r0,0(r1)"
121 func_check "plbz r0,16(r1)"
122 func_check "plbz r0,32(r1)"
123 func_check "plbz r0,64(r1)"
124 func_check "plbz r0,8(r1)"
125 func_check "pld r0,0(r1)"
126 func_check "pld r0,16(r1)"
127 func_check "pld r0,32(r1)"
128 func_check "pld r0,64(r1)"
129 func_check "pld r0,8(r1)"
130 func_check "plfd f28,0(0)"
131 func_check "plfd f28,16(0)"
132 func_check "plfd f28,32(0)"
133 func_check "plfd f28,4(0)"
134 func_check "plfd f28,64(0)"
135 func_check "plfd f28,8(0)"
136 func_check "plfs f28,0(0)"
137 func_check "plfs f28,16(0)"
138 func_check "plfs f28,32(0)"
139 func_check "plfs f28,4(0)"
140 func_check "plfs f28,64(0)"
141 func_check "plfs f28,8(0)"
142 func_check "plha r0,0(r1)"
143 func_check "plha r0,16(r1)"
144 func_check "plha r0,32(r1)"
145 func_check "plha r0,64(r1)"
146 func_check "plha r0,8(r1)"
147 func_check "plhz r0,0(r1)"
148 func_check "plhz r0,16(r1)"
149 func_check "plhz r0,32(r1)"
150 func_check "plhz r0,64(r1)"
151 func_check "plhz r0,8(r1)"
152 func_check "plq r26,0(0)"
153 func_check "plq r26,16(0)"
154 func_check "plq r26,32(0)"
155 func_check "plq r26,48(0)"
156 func_check "plq r26,64(0)"
157 func_check "plq r26,8(0)"
158 func_check "plwa r0,0(r1)"
159 func_check "plwa r0,16(r1)"
160 func_check "plwa r0,32(r1)"
161 func_check "plwa r0,64(r1)"
162 func_check "plwa r0,8(r1)"
163 func_check "plwz r0,0(r1)"
164 func_check "plwz r0,16(r1)"
165 func_check "plwz r0,32(r1)"
166 func_check "plwz r0,64(r1)"
167 func_check "plwz r0,8(r1)"
168 func_check "plxsd v0,0(r1)"
169 func_check "plxsd v0,16(r1)"
170 func_check "plxsd v0,32(r1)"
171 func_check "plxsd v0,4(r1)"
172 func_check "plxsd v0,64(r1)"
173 func_check "plxsd v0,8(r1)"
174 func_check "plxssp v0,0(r1)"
175 func_check "plxssp v0,16(r1)"
176 func_check "plxssp v0,32(r1)"
177 func_check "plxssp v0,4(r1)"
178 func_check "plxssp v0,64(r1)"
179 func_check "plxssp v0,8(r1)"
180 func_check "plxv vs0,0(r1)"
181 func_check "plxv vs0,16(r1)"
182 func_check "plxv vs0,4(r1)"
183 func_check "plxv vs0,8(r1)"
184 func_check "plxvp vs20,0(0)"
185 func_check "plxvp vs20,16(0)"
186 func_check "plxvp vs20,24(0)"
187 func_check "plxvp vs20,32(0)"
188 func_check "plxvp vs20,8(0)"
189 func_check "pmdmxvbf16ger2 a4,vs0,vs1,0,0,0"
190 func_check "pmdmxvbf16ger2 a4,vs0,vs1,0,0,1"
191 func_check "pmdmxvbf16ger2 a4,vs0,vs1,0,13,0"
192 func_check "pmdmxvbf16ger2 a4,vs0,vs1,0,13,1"
193 func_check "pmdmxvbf16ger2 a4,vs0,vs1,11,0,0"
194 func_check "pmdmxvbf16ger2 a4,vs0,vs1,11,0,1"
195 func_check "pmdmxvbf16ger2 a4,vs0,vs1,11,13,0"
196 func_check "pmdmxvbf16ger2 a4,vs0,vs1,11,13,1"
197 func_check "pmdmxvbf16ger2nn a4,vs0,vs1,0,0,0"
198 func_check "pmdmxvbf16ger2nn a4,vs0,vs1,0,0,1"
199 func_check "pmdmxvbf16ger2nn a4,vs0,vs1,0,13,0"
200 func_check "pmdmxvbf16ger2nn a4,vs0,vs1,0,13,1"
201 func_check "pmdmxvbf16ger2nn a4,vs0,vs1,11,0,0"
202 func_check "pmdmxvbf16ger2nn a4,vs0,vs1,11,0,1"
203 func_check "pmdmxvbf16ger2nn a4,vs0,vs1,11,13,0"
204 func_check "pmdmxvbf16ger2nn a4,vs0,vs1,11,13,1"
205 func_check "pmdmxvbf16ger2np a4,vs0,vs1,0,0,0"
206 func_check "pmdmxvbf16ger2np a4,vs0,vs1,0,0,1"
207 func_check "pmdmxvbf16ger2np a4,vs0,vs1,0,13,0"
208 func_check "pmdmxvbf16ger2np a4,vs0,vs1,0,13,1"
209 func_check "pmdmxvbf16ger2np a4,vs0,vs1,11,0,0"
210 func_check "pmdmxvbf16ger2np a4,vs0,vs1,11,0,1"
211 func_check "pmdmxvbf16ger2np a4,vs0,vs1,11,13,0"
212 func_check "pmdmxvbf16ger2np a4,vs0,vs1,11,13,1"
213 func_check "pmdmxvbf16ger2pn a4,vs0,vs1,0,0,0"
214 func_check "pmdmxvbf16ger2pn a4,vs0,vs1,0,0,1"
215 func_check "pmdmxvbf16ger2pn a4,vs0,vs1,0,13,0"
216 func_check "pmdmxvbf16ger2pn a4,vs0,vs1,0,13,1"
217 func_check "pmdmxvbf16ger2pn a4,vs0,vs1,11,0,0"
218 func_check "pmdmxvbf16ger2pn a4,vs0,vs1,11,0,1"
219 func_check "pmdmxvbf16ger2pn a4,vs0,vs1,11,13,0"
220 func_check "pmdmxvbf16ger2pn a4,vs0,vs1,11,13,1"
221 func_check "pmdmxvbf16ger2pp a4,vs0,vs1,0,0,0"
222 func_check "pmdmxvbf16ger2pp a4,vs0,vs1,0,0,1"
223 func_check "pmdmxvbf16ger2pp a4,vs0,vs1,0,13,0"
224 func_check "pmdmxvbf16ger2pp a4,vs0,vs1,0,13,1"
225 func_check "pmdmxvbf16ger2pp a4,vs0,vs1,11,0,0"
226 func_check "pmdmxvbf16ger2pp a4,vs0,vs1,11,0,1"
227 func_check "pmdmxvbf16ger2pp a4,vs0,vs1,11,13,0"
228 func_check "pmdmxvbf16ger2pp a4,vs0,vs1,11,13,1"
229 func_check "pmdmxvf16ger2 a4,vs0,vs1,0,0,0"
230 func_check "pmdmxvf16ger2 a4,vs0,vs1,0,0,1"
231 func_check "pmdmxvf16ger2 a4,vs0,vs1,0,13,0"
232 func_check "pmdmxvf16ger2 a4,vs0,vs1,0,13,1"
233 func_check "pmdmxvf16ger2 a4,vs0,vs1,11,0,0"
234 func_check "pmdmxvf16ger2 a4,vs0,vs1,11,0,1"
235 func_check "pmdmxvf16ger2 a4,vs0,vs1,11,13,0"
236 func_check "pmdmxvf16ger2 a4,vs0,vs1,11,13,1"
237 func_check "pmdmxvf16ger2nn a4,vs0,vs1,0,0,0"
238 func_check "pmdmxvf16ger2nn a4,vs0,vs1,0,0,1"
239 func_check "pmdmxvf16ger2nn a4,vs0,vs1,0,13,0"
240 func_check "pmdmxvf16ger2nn a4,vs0,vs1,0,13,1"
241 func_check "pmdmxvf16ger2nn a4,vs0,vs1,11,0,0"
242 func_check "pmdmxvf16ger2nn a4,vs0,vs1,11,0,1"
243 func_check "pmdmxvf16ger2nn a4,vs0,vs1,11,13,0"
244 func_check "pmdmxvf16ger2nn a4,vs0,vs1,11,13,1"
245 func_check "pmdmxvf16ger2np a4,vs0,vs1,0,0,0"
246 func_check "pmdmxvf16ger2np a4,vs0,vs1,0,0,1"
247 func_check "pmdmxvf16ger2np a4,vs0,vs1,0,13,0"
248 func_check "pmdmxvf16ger2np a4,vs0,vs1,0,13,1"
249 func_check "pmdmxvf16ger2np a4,vs0,vs1,11,0,0"
250 func_check "pmdmxvf16ger2np a4,vs0,vs1,11,0,1"
251 func_check "pmdmxvf16ger2np a4,vs0,vs1,11,13,0"
252 func_check "pmdmxvf16ger2np a4,vs0,vs1,11,13,1"
253 func_check "pmdmxvf16ger2pn a4,vs0,vs1,0,0,0"
254 func_check "pmdmxvf16ger2pn a4,vs0,vs1,0,0,1"
255 func_check "pmdmxvf16ger2pn a4,vs0,vs1,0,13,0"
256 func_check "pmdmxvf16ger2pn a4,vs0,vs1,0,13,1"
257 func_check "pmdmxvf16ger2pn a4,vs0,vs1,11,0,0"
258 func_check "pmdmxvf16ger2pn a4,vs0,vs1,11,0,1"
259 func_check "pmdmxvf16ger2pn a4,vs0,vs1,11,13,0"
260 func_check "pmdmxvf16ger2pn a4,vs0,vs1,11,13,1"
261 func_check "pmdmxvf16ger2pp a4,vs0,vs1,0,0,0"
262 func_check "pmdmxvf16ger2pp a4,vs0,vs1,0,0,1"
263 func_check "pmdmxvf16ger2pp a4,vs0,vs1,0,13,0"
264 func_check "pmdmxvf16ger2pp a4,vs0,vs1,0,13,1"
265 func_check "pmdmxvf16ger2pp a4,vs0,vs1,11,0,0"
266 func_check "pmdmxvf16ger2pp a4,vs0,vs1,11,0,1"
267 func_check "pmdmxvf16ger2pp a4,vs0,vs1,11,13,0"
268 func_check "pmdmxvf16ger2pp a4,vs0,vs1,11,13,1"
269 func_check "pmdmxvf32ger a4,vs0,vs1,0,0"
270 func_check "pmdmxvf32ger a4,vs0,vs1,0,13"
271 func_check "pmdmxvf32ger a4,vs0,vs1,11,0"
272 func_check "pmdmxvf32ger a4,vs0,vs1,11,13"
273 func_check "pmdmxvf32gernn a4,vs0,vs1,0,0"
274 func_check "pmdmxvf32gernn a4,vs0,vs1,0,13"
275 func_check "pmdmxvf32gernn a4,vs0,vs1,11,0"
276 func_check "pmdmxvf32gernn a4,vs0,vs1,11,13"
277 func_check "pmdmxvf32gernp a4,vs0,vs1,0,0"
278 func_check "pmdmxvf32gernp a4,vs0,vs1,0,13"
279 func_check "pmdmxvf32gernp a4,vs0,vs1,11,0"
280 func_check "pmdmxvf32gernp a4,vs0,vs1,11,13"
281 func_check "pmdmxvf32gerpn a4,vs0,vs1,0,0"
282 func_check "pmdmxvf32gerpn a4,vs0,vs1,0,13"
283 func_check "pmdmxvf32gerpn a4,vs0,vs1,11,0"
284 func_check "pmdmxvf32gerpn a4,vs0,vs1,11,13"
285 func_check "pmdmxvf32gerpp a4,vs0,vs1,0,0"
286 func_check "pmdmxvf32gerpp a4,vs0,vs1,0,13"
287 func_check "pmdmxvf32gerpp a4,vs0,vs1,11,0"
288 func_check "pmdmxvf32gerpp a4,vs0,vs1,11,13"
289 func_check "pmdmxvf64ger a4,vs22,vs0,0,0"
290 func_check "pmdmxvf64ger a4,vs22,vs0,0,1"
291 func_check "pmdmxvf64ger a4,vs22,vs0,11,0"
292 func_check "pmdmxvf64ger a4,vs22,vs0,11,1"
293 func_check "pmdmxvf64gernn a4,vs22,vs0,0,0"
294 func_check "pmdmxvf64gernn a4,vs22,vs0,0,1"
295 func_check "pmdmxvf64gernn a4,vs22,vs0,11,0"
296 func_check "pmdmxvf64gernn a4,vs22,vs0,11,1"
297 func_check "pmdmxvf64gernp a4,vs22,vs0,0,0"
298 func_check "pmdmxvf64gernp a4,vs22,vs0,0,1"
299 func_check "pmdmxvf64gernp a4,vs22,vs0,11,0"
300 func_check "pmdmxvf64gernp a4,vs22,vs0,11,1"
301 func_check "pmdmxvf64gerpn a4,vs22,vs0,0,0"
302 func_check "pmdmxvf64gerpn a4,vs22,vs0,0,1"
303 func_check "pmdmxvf64gerpn a4,vs22,vs0,11,0"
304 func_check "pmdmxvf64gerpn a4,vs22,vs0,11,1"
305 func_check "pmdmxvf64gerpp a4,vs22,vs0,0,0"
306 func_check "pmdmxvf64gerpp a4,vs22,vs0,0,1"
307 func_check "pmdmxvf64gerpp a4,vs22,vs0,11,0"
308 func_check "pmdmxvf64gerpp a4,vs22,vs0,11,1"
309 func_check "pmdmxvi16ger2 a4,vs0,vs1,0,0,0"
310 func_check "pmdmxvi16ger2 a4,vs0,vs1,0,0,1"
311 func_check "pmdmxvi16ger2 a4,vs0,vs1,0,13,0"
312 func_check "pmdmxvi16ger2 a4,vs0,vs1,0,13,1"
313 func_check "pmdmxvi16ger2 a4,vs0,vs1,11,0,0"
314 func_check "pmdmxvi16ger2 a4,vs0,vs1,11,0,1"
315 func_check "pmdmxvi16ger2 a4,vs0,vs1,11,13,0"
316 func_check "pmdmxvi16ger2 a4,vs0,vs1,11,13,1"
317 func_check "pmdmxvi16ger2pp a4,vs0,vs1,0,0,0"
318 func_check "pmdmxvi16ger2pp a4,vs0,vs1,0,0,1"
319 func_check "pmdmxvi16ger2pp a4,vs0,vs1,0,13,0"
320 func_check "pmdmxvi16ger2pp a4,vs0,vs1,0,13,1"
321 func_check "pmdmxvi16ger2pp a4,vs0,vs1,11,0,0"
322 func_check "pmdmxvi16ger2pp a4,vs0,vs1,11,0,1"
323 func_check "pmdmxvi16ger2pp a4,vs0,vs1,11,13,0"
324 func_check "pmdmxvi16ger2pp a4,vs0,vs1,11,13,1"
325 func_check "pmdmxvi16ger2s a4,vs0,vs1,0,0,0"
326 func_check "pmdmxvi16ger2s a4,vs0,vs1,0,0,1"
327 func_check "pmdmxvi16ger2s a4,vs0,vs1,0,13,0"
328 func_check "pmdmxvi16ger2s a4,vs0,vs1,0,13,1"
329 func_check "pmdmxvi16ger2s a4,vs0,vs1,11,0,0"
330 func_check "pmdmxvi16ger2s a4,vs0,vs1,11,0,1"
331 func_check "pmdmxvi16ger2s a4,vs0,vs1,11,13,0"
332 func_check "pmdmxvi16ger2s a4,vs0,vs1,11,13,1"
333 func_check "pmdmxvi16ger2spp a4,vs0,vs1,0,0,0"
334 func_check "pmdmxvi16ger2spp a4,vs0,vs1,0,0,1"
335 func_check "pmdmxvi16ger2spp a4,vs0,vs1,0,13,0"
336 func_check "pmdmxvi16ger2spp a4,vs0,vs1,0,13,1"
337 func_check "pmdmxvi16ger2spp a4,vs0,vs1,11,0,0"
338 func_check "pmdmxvi16ger2spp a4,vs0,vs1,11,0,1"
339 func_check "pmdmxvi16ger2spp a4,vs0,vs1,11,13,0"
340 func_check "pmdmxvi16ger2spp a4,vs0,vs1,11,13,1"
341 func_check "pmdmxvi4ger8 a4,vs0,vs1,0,0,0"
342 func_check "pmdmxvi4ger8 a4,vs0,vs1,0,0,45"
343 func_check "pmdmxvi4ger8 a4,vs0,vs1,0,1,0"
344 func_check "pmdmxvi4ger8 a4,vs0,vs1,0,1,45"
345 func_check "pmdmxvi4ger8 a4,vs0,vs1,11,0,0"
346 func_check "pmdmxvi4ger8 a4,vs0,vs1,11,0,45"
347 func_check "pmdmxvi4ger8 a4,vs0,vs1,11,1,0"
348 func_check "pmdmxvi4ger8 a4,vs0,vs1,11,1,45"
349 func_check "pmdmxvi4ger8pp a4,vs0,vs1,0,0,0"
350 func_check "pmdmxvi4ger8pp a4,vs0,vs1,0,0,45"
351 func_check "pmdmxvi4ger8pp a4,vs0,vs1,0,1,0"
352 func_check "pmdmxvi4ger8pp a4,vs0,vs1,0,1,45"
353 func_check "pmdmxvi4ger8pp a4,vs0,vs1,11,0,0"
354 func_check "pmdmxvi4ger8pp a4,vs0,vs1,11,0,45"
355 func_check "pmdmxvi4ger8pp a4,vs0,vs1,11,1,0"
356 func_check "pmdmxvi4ger8pp a4,vs0,vs1,11,1,45"
357 func_check "pmdmxvi8ger4 a4,vs0,vs1,0,0,0"
358 func_check "pmdmxvi8ger4 a4,vs0,vs1,0,0,5"
359 func_check "pmdmxvi8ger4 a4,vs0,vs1,0,13,0"
360 func_check "pmdmxvi8ger4 a4,vs0,vs1,0,13,5"
361 func_check "pmdmxvi8ger4 a4,vs0,vs1,11,0,0"
362 func_check "pmdmxvi8ger4 a4,vs0,vs1,11,0,5"
363 func_check "pmdmxvi8ger4 a4,vs0,vs1,11,13,0"
364 func_check "pmdmxvi8ger4 a4,vs0,vs1,11,13,5"
365 func_check "pmdmxvi8ger4pp a4,vs0,vs1,0,0,0"
366 func_check "pmdmxvi8ger4pp a4,vs0,vs1,0,0,5"
367 func_check "pmdmxvi8ger4pp a4,vs0,vs1,0,13,0"
368 func_check "pmdmxvi8ger4pp a4,vs0,vs1,0,13,5"
369 func_check "pmdmxvi8ger4pp a4,vs0,vs1,11,0,0"
370 func_check "pmdmxvi8ger4pp a4,vs0,vs1,11,0,5"
371 func_check "pmdmxvi8ger4pp a4,vs0,vs1,11,13,0"
372 func_check "pmdmxvi8ger4pp a4,vs0,vs1,11,13,5"
373 func_check "pmdmxvi8ger4spp a4,vs0,vs1,0,0,0"
374 func_check "pmdmxvi8ger4spp a4,vs0,vs1,0,0,5"
375 func_check "pmdmxvi8ger4spp a4,vs0,vs1,0,13,0"
376 func_check "pmdmxvi8ger4spp a4,vs0,vs1,0,13,5"
377 func_check "pmdmxvi8ger4spp a4,vs0,vs1,11,0,0"
378 func_check "pmdmxvi8ger4spp a4,vs0,vs1,11,0,5"
379 func_check "pmdmxvi8ger4spp a4,vs0,vs1,11,13,0"
380 func_check "pmdmxvi8ger4spp a4,vs0,vs1,11,13,5"
381 #/* pstb extended mnemonics can suppress (r1) or the trailing ,0 or ,1, see ISA.
382 func_check "pstb r0,0(r1)"
383 func_check "pstb r0,16(r1)"
384 func_check "pstb r0,32(r1)"
385 func_check "pstb r0,8(r1)"
386 func_check "pstd r0,0(r1)"
387 func_check "pstd r0,16(r1)"
388 func_check "pstd r0,32(r1)"
389 func_check "pstd r0,8(r1)"
390 func_check "pstfd f26,0(0)"
391 func_check "pstfd f26,16(0)"
392 func_check "pstfd f26,32(0)"
393 func_check "pstfd f26,4(0)"
394 func_check "pstfd f26,8(0)"
395 func_check "pstfs f26,0(0)"
396 func_check "pstfs f26,16(0)"
397 func_check "pstfs f26,32(0)"
398 func_check "pstfs f26,4(0)"
399 func_check "pstfs f26,8(0)"
400 func_check "psth r0,0(r1)"
401 func_check "psth r0,16(r1)"
402 func_check "psth r0,32(r1)"
403 func_check "psth r0,8(r1)"
404 func_check "pstq r24,0(0)"
405 func_check "pstq r24,16(0)"
406 func_check "pstq r24,32(0)"
407 func_check "pstq r24,64(0)"
408 func_check "pstq r24,8(0)"
409 func_check "pstw r0,0(r1)"
410 func_check "pstw r0,16(r1)"
411 func_check "pstw r0,32(r1)"
412 func_check "pstw r0,8(r1)"
413 func_check "pstxsd v22,0(0)"
414 func_check "pstxsd v22,16(0)"
415 func_check "pstxsd v22,32(0)"
416 func_check "pstxsd v22,4(0)"
417 func_check "pstxsd v22,64(0)"
418 func_check "pstxsd v22,8(0)"
419 func_check "pstxssp v22,0(0)"
420 func_check "pstxssp v22,16(0)"
421 func_check "pstxssp v22,32(0)"
422 func_check "pstxssp v22,4(0)"
423 func_check "pstxssp v22,64(0)"
424 func_check "pstxssp v22,8(0)"
425 func_check "pstxv vs0,0(r1)"
426 func_check "pstxv vs0,16(r1)"
427 func_check "pstxv vs0,4(r1)"
428 func_check "pstxv vs0,8(r1)"
429 func_check "pstxvp vs20,0(0)"
430 func_check "pstxvp vs20,16(0)"
431 func_check "pstxvp vs20,32(0)"
432 func_check "pstxvp vs20,48(0)"
433 # lt,gt,eq,so map to cr0 0,1,2,3 ; cr1,cr2 extend from there. lt=0 ; gt=1 ; eq=2 ; so=3
434 func_check "setbc r26,lt"
435 func_check "setbc r26,gt"
436 func_check "setbc r26,eq"
437 func_check "setbc r26,so"
438 func_check "setbc r26,4*cr1+so"
439 func_check "setbc r26,4*cr2+lt"
440 func_check "setbc r26,4*cr7+so"
441
442 func_check "setbcr r26,4*cr7+so"
443 func_check "setbcr r26,4*cr1+so"
444 func_check "setbcr r26,4*cr2+lt"
445
446 func_check "setnbc r26,lt"
447 func_check "setnbc r26,so"
448 func_check "setnbc r26,4*cr7+so"
449 func_check "setnbc r26,4*cr1+so"
450 func_check "setnbc r26,4*cr2+lt"
451
452 func_check "setnbcr r26,lt"
453 func_check "setnbcr r26,so"
454 func_check "setnbcr r26,4*cr7+so"
455 func_check "setnbcr r26,4*cr1+so"
456 func_check "setnbcr r26,4*cr2+lt"
457
458 func_check "stxvp vs20,0(0)"
459 func_check "stxvp vs20,16(0)"
460 func_check "stxvp vs20,32(0)"
461 func_check "stxvp vs20,48(0)"
462 func_check "stxvpx vs20,0,r1"
463 func_check "stxvrbx vs0,r1,r2"
464 func_check "stxvrdx vs0,r1,r2"
465 func_check "stxvrhx vs0,r1,r2"
466 func_check "stxvrwx vs0,r1,r2"
467 func_check "vcfuged v0,v1,v2"
468 func_check "vclrlb v0,v1,r2"
469 func_check "vclrrb v0,v1,r2"
470 func_check "vclzdm v0,v1,v2"
471 func_check "vcmpequq v0,v1,v2"
472 func_check "vcmpgtsq v0,v1,v2"
473 func_check "vcmpgtuq v0,v1,v2"
474 func_check "vcmpsq cr3,v0,v1"
475 func_check "vcmpuq cr3,v0,v1"
476 func_check "vcntmbb r0,v1,0"
477 func_check "vcntmbb r0,v1,1"
478 func_check "vcntmbd r0,v1,0"
479 func_check "vcntmbd r0,v1,1"
480 func_check "vcntmbh r0,v1,0"
481 func_check "vcntmbh r0,v1,1"
482 func_check "vcntmbw r0,v1,0"
483 func_check "vcntmbw r0,v1,1"
484 func_check "vctzdm v0,v1,v2"
485 func_check "vdivesd v0,v1,v2"
486 func_check "vdivesq v0,v1,v2"
487 func_check "vdivesw v0,v1,v2"
488 func_check "vdiveud v0,v1,v2"
489 func_check "vdiveuq v0,v1,v2"
490 func_check "vdiveuw v0,v1,v2"
491 func_check "vdivsd v0,v1,v2"
492 func_check "vdivsq v0,v1,v2"
493 func_check "vdivsw v0,v1,v2"
494 func_check "vdivud v0,v1,v2"
495 func_check "vdivuq v0,v1,v2"
496 func_check "vdivuw v0,v1,v2"
497 func_check "vexpandbm v0,v1"
498 func_check "vexpanddm v0,v1"
499 func_check "vexpandhm v0,v1"
500 func_check "vexpandqm v0,v1"
501 func_check "vexpandwm v0,v1"
502 func_check "vextddvlx v0,v1,v2,r3"
503 func_check "vextddvrx v0,v1,v2,r3"
504 func_check "vextdubvlx v0,v1,v2,r3"
505 func_check "vextdubvrx v0,v1,v2,r3"
506 func_check "vextduhvlx v0,v1,v2,r3"
507 func_check "vextduhvrx v0,v1,v2,r3"
508 func_check "vextduwvlx v0,v1,v2,r3"
509 func_check "vextduwvrx v0,v1,v2,r3"
510 func_check "vextractbm r0,v1"
511 func_check "vextractdm r0,v1"
512 func_check "vextracthm r0,v1"
513 func_check "vextractqm r0,v1"
514 func_check "vextractwm r0,v1"
515 func_check "vextsd2q v0,v1"
516 func_check "vgnb r0,v1,2"
517 func_check "vgnb r0,v1,3"
518 func_check "vgnb r0,v1,4"
519 func_check "vgnb r0,v1,5"
520 func_check "vgnb r0,v1,6"
521 func_check "vgnb r0,v1,7"
522 func_check "vinsblx v0,r1,r2"
523 func_check "vinsbrx v0,r1,r2"
524 func_check "vinsbvlx v0,r1,v2"
525 func_check "vinsbvrx v0,r1,v2"
526 func_check "vinsd v0,r1,3"
527 func_check "vinsd v0,r1,7"
528 func_check "vinsdlx v0,r1,r2"
529 func_check "vinsdrx v0,r1,r2"
530 func_check "vinshlx v0,r1,r2"
531 func_check "vinshrx v0,r1,r2"
532 func_check "vinshvlx v0,r1,v2"
533 func_check "vinshvrx v0,r1,v2"
534 func_check "vinsw v0,r1,3"
535 func_check "vinsw v0,r1,7"
536 func_check "vinswlx v0,r1,r2"
537 func_check "vinswrx v0,r1,r2"
538 func_check "vinswvlx v0,r1,v2"
539 func_check "vinswvrx v0,r1,v2"
540 func_check "vmodsd v0,v1,v2"
541 func_check "vmodsq v0,v1,v2"
542 func_check "vmodsw v0,v1,v2"
543 func_check "vmodud v0,v1,v2"
544 func_check "vmoduq v0,v1,v2"
545 func_check "vmoduw v0,v1,v2"
546 func_check "vmsumcud v0,v1,v2,v3"
547 func_check "vmulesd v0,v1,v2"
548 func_check "vmuleud v0,v1,v2"
549 func_check "vmulhsd v0,v1,v2"
550 func_check "vmulhsw v0,v1,v2"
551 func_check "vmulhud v0,v1,v2"
552 func_check "vmulhuw v0,v1,v2"
553 func_check "vmulld v0,v1,v2"
554 func_check "vmulosd v0,v1,v2"
555 func_check "vmuloud v0,v1,v2"
556 func_check "vpdepd v0,v1,v2"
557 func_check "vpextd v0,v1,v2"
558 func_check "vrlq v0,v1,v2"
559 func_check "vrlqmi v0,v1,v2"
560 func_check "vrlqnm v0,v1,v2"
561 func_check "vsldbi v0,v1,v2,0"
562 func_check "vsldbi v0,v1,v2,4"
563 func_check "vslq v0,v1,v2"
564 func_check "vsraq v0,v1,v2"
565 func_check "vsrdbi v0,v1,v2,0"
566 func_check "vsrdbi v0,v1,v2,4"
567 func_check "vsrq v0,v1,v2"
568 func_check "vstribl v0,v1"
569 func_check "vstribl. v0,v1"
570 func_check "vstribr v0,v1"
571 func_check "vstribr. v0,v1"
572 func_check "vstrihl v0,v1"
573 func_check "vstrihl. v0,v1"
574 func_check "vstrihr v0,v1"
575 func_check "vstrihr. v0,v1"
576 func_check "xscmpeqqp v0,v1,v2"
577 func_check "xscmpgeqp v0,v1,v2"
578 func_check "xscmpgtqp v0,v1,v2"
579 func_check "xscvqpsqz v0,v1"
580 func_check "xscvqpuqz v0,v1"
581 func_check "xscvsqqp v0,v1"
582 func_check "xscvuqqp v0,v1"
583 func_check "xsmaxcqp v0,v1,v2"
584 func_check "xsmincqp v0,v1,v2"
585 func_check "dmxvbf16ger2 a4,vs0,vs1"
586 func_check "dmxvbf16ger2nn a4,vs0,vs1"
587 func_check "dmxvbf16ger2np a4,vs0,vs1"
588 func_check "dmxvbf16ger2pn a4,vs0,vs1"
589 func_check "dmxvbf16ger2pp a4,vs0,vs1"
590 func_check "xvcvbf16spn vs0,vs1"
591 func_check "xvcvspbf16 vs0,vs1"
592 func_check "dmxvf16ger2 a4,vs0,vs1"
593 func_check "dmxvf16ger2nn a4,vs0,vs1"
594 func_check "dmxvf16ger2np a4,vs0,vs1"
595 func_check "dmxvf16ger2pn a4,vs0,vs1"
596 func_check "dmxvf16ger2pp a4,vs0,vs1"
597 func_check "dmxvf32ger a4,vs0,vs1"
598 func_check "dmxvf32gernn a4,vs0,vs1"
599 func_check "dmxvf32gernp a4,vs0,vs1"
600 func_check "dmxvf32gerpn a4,vs0,vs1"
601 func_check "dmxvf32gerpp a4,vs0,vs1"
602 func_check "dmxvf64ger a4,vs22,vs0"
603 func_check "dmxvf64gernn a4,vs22,vs0"
604 func_check "dmxvf64gernp a4,vs22,vs0"
605 func_check "dmxvf64gerpn a4,vs22,vs0"
606 func_check "dmxvf64gerpp a4,vs22,vs0"
607 func_check "dmxvi16ger2 a4,vs0,vs1"
608 func_check "dmxvi16ger2pp a4,vs0,vs1"
609 func_check "dmxvi16ger2s a4,vs0,vs1"
610 func_check "dmxvi16ger2spp a4,vs0,vs1"
611 func_check "dmxvi4ger8 a4,vs0,vs1"
612 func_check "dmxvi4ger8pp a4,vs0,vs1"
613 func_check "dmxvi8ger4 a4,vs0,vs1"
614 func_check "dmxvi8ger4pp a4,vs0,vs1"
615 func_check "dmxvi8ger4spp a4,vs0,vs1"
616 func_check "xvtlsbb cr3,vs0"
617 func_check "xxblendvb vs0,vs1,vs2,vs3"
618 func_check "xxblendvd vs0,vs1,vs2,vs3"
619 func_check "xxblendvh vs0,vs1,vs2,vs3"
620 func_check "xxblendvw vs0,vs1,vs2,vs3"
621 func_check "xxeval vs0,vs1,vs2,vs3,0"
622 func_check "xxeval vs0,vs1,vs2,vs3,3"
623 func_check "xxgenpcvbm vs0,v1,0"
624 func_check "xxgenpcvbm vs0,v1,1"
625 func_check "xxgenpcvbm vs0,v1,2"
626 func_check "xxgenpcvbm vs0,v1,3"
627 func_check "xxgenpcvdm vs0,v1,0"
628 func_check "xxgenpcvdm vs0,v1,1"
629 func_check "xxgenpcvdm vs0,v1,2"
630 func_check "xxgenpcvdm vs0,v1,3"
631 func_check "xxgenpcvhm vs0,v1,0"
632 func_check "xxgenpcvhm vs0,v1,1"
633 func_check "xxgenpcvhm vs0,v1,2"
634 func_check "xxgenpcvhm vs0,v1,3"
635 func_check "xxgenpcvwm vs0,v1,0"
636 func_check "xxgenpcvwm vs0,v1,1"
637 func_check "xxgenpcvwm vs0,v1,2"
638 func_check "xxgenpcvwm vs0,v1,3"
639 func_check "dmxxmfacc a4"
640 func_check "dmxxmtacc a4"
641 func_check "xxpermx vs0,vs1,vs2,vs3,0"
642 func_check "xxpermx vs0,vs1,vs2,vs3,3"
643 func_check "dmsetaccz a4"
644 func_check "xxsplti32dx vs0,0,2779096485"
645 func_check "xxsplti32dx vs0,0,4294967295"
646 func_check "xxsplti32dx vs0,0,127"
647 func_check "xxsplti32dx vs0,0,15"
648 func_check "xxsplti32dx vs0,0,3"
649 func_check "xxsplti32dx vs0,0,31"
650 func_check "xxsplti32dx vs0,0,32768"
651 func_check "xxsplti32dx vs0,0,63"
652 func_check "xxsplti32dx vs0,0,66535"
653 func_check "xxsplti32dx vs0,0,7"
654 func_check "xxsplti32dx vs0,1,2779096485"
655 func_check "xxsplti32dx vs0,1,4294967295"
656 func_check "xxsplti32dx vs0,1,127"
657 func_check "xxsplti32dx vs0,1,15"
658 func_check "xxsplti32dx vs0,1,3"
659 func_check "xxsplti32dx vs0,1,31"
660 func_check "xxsplti32dx vs0,1,32768"
661 func_check "xxsplti32dx vs0,1,63"
662 func_check "xxsplti32dx vs0,1,66535"
663 func_check "xxsplti32dx vs0,1,7"
664 func_check "xxspltidp vs0,0"
665 func_check "xxspltidp vs0,8388608"
666 func_check "xxspltidp vs0,8388609"
667 func_check "xxspltidp vs0,8594245"
668 func_check "xxspltidp vs0,16777215"
669 func_check "xxspltidp vs0,838860800"
670 func_check "xxspltidp vs0,2139095040"
671 func_check "xxspltidp vs0,2139095041"
672 func_check "xxspltidp vs0,2139300677"
673 func_check "xxspltidp vs0,2147483647"
674 func_check "xxspltidp vs0,2147483648"
675 func_check "xxspltidp vs0,2155872256"
676 func_check "xxspltidp vs0,2155872257"
677 func_check "xxspltidp vs0,2156077893"
678 func_check "xxspltidp vs0,2164260863"
679 func_check "xxspltidp vs0,4286578688"
680 func_check "xxspltidp vs0,4286578689"
681 func_check "xxspltidp vs0,4286784325"
682 func_check "xxspltidp vs0,4294967295"
683 func_check "xxspltiw vs0,0"
684 func_check "xxspltiw vs0,1"
685 func_check "xxspltiw vs0,3"
686 func_check "xxspltiw vs0,8"