Automatic Copyright Year update after running gdb/copyright.py
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.arch / powerpc-power9.exp
CommitLineData
88b9d363 1# Copyright 2014-2022 Free Software Foundation, Inc.
65b48a81
PB
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.
19
20standard_testfile .s
21set objfile [standard_output_file ${testfile}.o]
22
23if {![istarget "powerpc*-*-*"]} then {
24 verbose "Skipping PowerPC instructions disassembly."
25 return
26}
27
28if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug}] != "" } {
29 untested "PowerPC instructions disassembly"
30 return -1
31}
32
33clean_restart ${objfile}
34
35# Disassemble the function.
36set func ""
37
38gdb_test "set disassembler-options power9"
39set test "disass func"
40gdb_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
47proc 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
53proc 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
64func_check "cnttzd r3,r13"
65func_check "cnttzd. r4,r14"
66func_check "cnttzw r5,r15"
67func_check "cnttzw. r6,r16"
68func_check "modsd r10,r20,r21"
69func_check "modsw r11,r21,r22"
70func_check "modud r12,r22,r23"
71func_check "moduw r13,r23,r24"
72func_check "bcdcfn. v3,v4,0"
73func_check "bcdcfn. v3,v4,1"
74func_check "bcdcfsq. v4,v5,0"
75func_check "bcdcfsq. v4,v5,1"
76func_check "bcdcfz. v5,v6,0"
77func_check "bcdcfz. v5,v6,1"
78func_check "bcdcpsgn. v6,v7,v8"
79func_check "bcdctn. v7,v8"
80func_check "bcdctsq. v8,v9"
81func_check "bcdctz. v9,v10,0"
82func_check "bcdctz. v9,v10,1"
83func_check "bcdsetsgn. v10,v11,0"
84func_check "bcdsetsgn. v10,v11,1"
85func_check "bcdsr. v11,v12,v13,0"
86func_check "bcdsr. v11,v12,v13,1"
87func_check "bcds. v12,v13,v14,0"
88func_check "bcds. v12,v13,v14,1"
89func_check "bcdtrunc. v13,v14,v15,0"
90func_check "bcdtrunc. v13,v14,v15,1"
91func_check "bcdus. v14,v15,v16"
92func_check "bcdutrunc. v15,v16,v17"
93func_check "lxvll vs20,0,r21"
94func_check "lxvll vs20,r10,r21"
95func_check "stxvll vs21,0,r11"
96func_check "stxvll vs21,r10,r11"
97func_check "vmul10cuq v22,v23"
98func_check "vmul10ecuq v23,v24,v25"
99func_check "vmul10euq v24,v25,v26"
100func_check "vmul10uq v25,v26"
101func_check "xsaddqp v10,v11,v12"
102func_check "xsaddqpo v11,v12,v12"
103func_check "xsrqpi 0,v20,v30,0"
104func_check "xsrqpi 1,v20,v30,0"
105func_check "xsrqpi 0,v20,v30,3"
106func_check "xsrqpi 1,v20,v30,3"
107func_check "xsrqpix 0,v21,v31,0"
108func_check "xsrqpix 1,v21,v31,0"
109func_check "xsrqpix 0,v21,v31,3"
110func_check "xsrqpix 1,v21,v31,3"
111func_check "xsmulqp v12,v13,v14"
112func_check "xsmulqpo v13,v14,v15"
113func_check "xsrqpxp 0,v22,v23,0"
114func_check "xsrqpxp 1,v22,v23,0"
115func_check "xsrqpxp 0,v22,v23,3"
116func_check "xsrqpxp 1,v22,v23,3"
117func_check "xscpsgnqp v14,v15,v16"
118func_check "xscmpoqp cr0,v15,v16"
119func_check "xscmpoqp cr7,v15,v16"
120func_check "xscmpexpqp cr0,v16,v17"
121func_check "xscmpexpqp cr7,v16,v17"
122func_check "xsmaddqp v17,v18,v19"
123func_check "xsmaddqpo v18,v19,v20"
124func_check "xsmsubqp v19,v20,v21"
125func_check "xsmsubqpo v20,v21,v22"
126func_check "xsnmaddqp v21,v22,v23"
127func_check "xsnmaddqpo v22,v23,v24"
128func_check "xsnmsubqp v23,v24,v25"
129func_check "xsnmsubqpo v24,v25,v26"
130func_check "xssubqp v25,v26,v27"
131func_check "xssubqpo v26,v27,v28"
132func_check "xsdivqp v27,v28,v29"
133func_check "xsdivqpo v28,v29,v30"
134func_check "xscmpuqp cr0,v29,v30"
135func_check "xscmpuqp cr7,v29,v30"
136func_check "xststdcqp cr0,v30,0"
137func_check "xststdcqp cr7,v30,0"
138func_check "xststdcqp cr0,v31,127"
139func_check "xststdcqp cr7,v31,127"
140func_check "xsabsqp v10,v11"
141func_check "xsxexpqp v11,v12"
142func_check "xsnabsqp v12,v13"
143func_check "xsnegqp v13,v14"
144func_check "xsxsigqp v14,v15"
145func_check "xssqrtqp v15,v16"
146func_check "xssqrtqpo v16,v17"
147func_check "xscvqpuwz v17,v18"
148func_check "xscvudqp v18,v19"
149func_check "xscvqpswz v19,v20"
150func_check "xscvsdqp v20,v21"
151func_check "xscvqpudz v21,v22"
152func_check "xscvqpdp v22,v23"
153func_check "xscvqpdpo v23,v24"
154func_check "xscvdpqp v24,v25"
155func_check "xscvqpsdz v25,v26"
156func_check "xsiexpqp v26,v27,v28"
157func_check "vpermr v4,v5,v6,v7"
158func_check "vextractub v5,v6,0"
159func_check "vextractub v5,v6,15"
160func_check "vextractuh v6,v7,0"
161func_check "vextractuh v6,v7,15"
162func_check "vextractuw v7,v8,0"
163func_check "vextractuw v7,v8,15"
164func_check "vextractd v8,v9,0"
165func_check "vextractd v8,v9,15"
166func_check "vinsertb v9,v10,0"
167func_check "vinsertb v9,v10,15"
168func_check "vinserth v10,v11,0"
169func_check "vinserth v10,v11,15"
170func_check "vinsertw v11,v12,0"
171func_check "vinsertw v11,v12,15"
172func_check "vinsertd v12,v13,0"
173func_check "vinsertd v12,v13,15"
174func_check "mfvsrld r20,vs45"
175func_check "mtvsrws vs46,r21"
176func_check "mtvsrdd vs47,0,r23"
177func_check "mtvsrdd vs47,r22,r23"
178func_check "lxvx vs50,0,r11"
179func_check "lxvx vs0,r10,r11"
180func_check "lxvwsx vs51,0,r12"
181func_check "lxvwsx vs1,r10,r12"
182func_check "lxvh8x vs52,0,r13"
183func_check "lxvh8x vs2,r10,r13"
184func_check "lxvb16x vs53,0,r14"
185func_check "lxvb16x vs3,r10,r14"
186func_check "stxvx vs54,0,r15"
187func_check "stxvx vs4,r20,r15"
188func_check "stxvh8x vs55,0,r16"
189func_check "stxvh8x vs5,r20,r16"
190func_check "stxvb16x vs56,0,r17"
191func_check "stxvb16x vs6,r20,r17"
192func_check "xxextractuw vs4,vs5,0"
193func_check "xxextractuw vs40,vs50,15"
194func_check "xxspltib vs4,0"
195func_check "xxspltib vs4,128"
196func_check "xxspltib vs41,255"
65b48a81
PB
197func_check "xxinsertw vs5,vs6,0"
198func_check "xxinsertw vs50,vs60,15"
199func_check "xxbrh vs6,vs7"
200func_check "xxbrh vs56,vs57"
201func_check "xxbrw vs7,vs8"
202func_check "xxbrw vs57,vs58"
203func_check "xxbrd vs8,vs9"
204func_check "xxbrd vs58,vs59"
205func_check "xxbrq vs9,vs10"
206func_check "xxbrq vs59,vs60"
207func_check "lxsd v20,0(0)"
208func_check "lxsd v20,0(r10)"
209func_check "lxsd v20,8(0)"
210func_check "lxsd v20,8(r10)"
211func_check "lxsd v20,-8(0)"
212func_check "lxsd v20,-8(r10)"
213func_check "lxsd v20,32764(0)"
214func_check "lxsd v20,32764(r10)"
215func_check "lxsd v20,-32768(0)"
216func_check "lxsd v20,-32768(r10)"
217func_check "lxssp v30,0(0)"
218func_check "lxssp v30,0(r11)"
219func_check "lxssp v30,8(0)"
220func_check "lxssp v30,8(r11)"
221func_check "lxssp v30,-8(0)"
222func_check "lxssp v30,-8(r11)"
223func_check "lxssp v30,32764(0)"
224func_check "lxssp v30,32764(r11)"
225func_check "lxssp v30,-32768(0)"
226func_check "lxssp v30,-32768(r11)"
227func_check "lxv vs40,0(0)"
228func_check "lxv vs40,0(r12)"
229func_check "lxv vs40,16(0)"
230func_check "lxv vs40,16(r12)"
231func_check "lxv vs40,-16(0)"
232func_check "lxv vs10,-16(r12)"
233func_check "lxv vs10,32752(0)"
234func_check "lxv vs10,32752(r12)"
235func_check "lxv vs10,-32768(0)"
236func_check "lxv vs10,-32768(r12)"
237func_check "stxsd v21,0(0)"
238func_check "stxsd v21,0(r10)"
239func_check "stxsd v21,8(0)"
240func_check "stxsd v21,8(r10)"
241func_check "stxsd v21,-8(0)"
242func_check "stxsd v21,-8(r10)"
243func_check "stxsd v21,32764(0)"
244func_check "stxsd v21,32764(r10)"
245func_check "stxsd v21,-32768(0)"
246func_check "stxsd v21,-32768(r10)"
247func_check "stxssp v31,0(0)"
248func_check "stxssp v31,0(r11)"
249func_check "stxssp v31,8(0)"
250func_check "stxssp v31,8(r11)"
251func_check "stxssp v31,-8(0)"
252func_check "stxssp v31,-8(r11)"
253func_check "stxssp v31,32764(0)"
254func_check "stxssp v31,32764(r11)"
255func_check "stxssp v31,-32768(0)"
256func_check "stxssp v31,-32768(r11)"
257func_check "stxv vs41,0(0)"
258func_check "stxv vs41,0(r12)"
259func_check "stxv vs41,16(0)"
260func_check "stxv vs41,16(r12)"
261func_check "stxv vs41,-16(0)"
262func_check "stxv vs11,-16(r12)"
263func_check "stxv vs11,32752(0)"
264func_check "stxv vs11,32752(r12)"
265func_check "stxv vs11,-32768(0)"
266func_check "stxv vs11,-32768(r12)"
267func_check "xxperm vs20,vs22,vs24"
268func_check "xxperm vs40,vs42,vs44"
269func_check "xxpermr vs21,vs23,vs25"
270func_check "xxpermr vs41,vs43,vs45"
271func_check "extswsli r12,r20,0"
272func_check "extswsli r12,r20,1"
273func_check "extswsli r12,r20,63"
274func_check "extswsli. r13,r21,0"
275func_check "extswsli. r13,r21,1"
276func_check "extswsli. r13,r21,63"
277func_check "vrlwmi v14,v22,v23"
278func_check "vrldmi v15,v23,v24"
279func_check "vrlwnm v16,v24,v25"
280func_check "vrldnm v17,v25,v26"
281func_check "vbpermd v18,v26,v27"
282func_check "vnegw v19,v20"
283func_check "vnegd v20,v21"
284func_check "vprtybw v21,v22"
285func_check "vprtybd v22,v23"
286func_check "vprtybq v23,v24"
287func_check "vextsb2w v24,v25"
288func_check "vextsh2w v25,v26"
289func_check "vextsb2d v26,v27"
290func_check "vextsh2d v27,v28"
291func_check "vextsw2d v28,v29"
292func_check "vctzb v29,v30"
293func_check "vctzh v30,v31"
294func_check "vctzw v31,v30"
295func_check "vctzd v30,v29"
296func_check "lxsibzx vs10,0,r20"
297func_check "lxsibzx vs50,r10,r20"
298func_check "lxsihzx vs11,0,r21"
299func_check "lxsihzx vs51,r11,r21"
300func_check "stxsibx vs12,0,r22"
301func_check "stxsibx vs52,r12,r22"
302func_check "stxsihx vs13,0,r23"
303func_check "stxsihx vs53,r13,r23"
304func_check "maddhd r10,r11,r12,r13"
305func_check "maddhdu r20,r21,r22,r23"
306func_check "maddld r2,r3,r4,r5"
307func_check "xscmpexpdp cr0,vs10,vs20"
308func_check "xscmpexpdp cr7,vs40,vs50"
309func_check "xsiexpdp vs41,r11,r21"
310func_check "xststdcdp cr0,vs11,127"
311func_check "xststdcdp cr7,vs41,127"
312func_check "xststdcsp cr0,vs11,127"
313func_check "xststdcsp cr7,vs41,127"
314func_check "xsxexpdp r13,vs43"
315func_check "xsxsigdp r14,vs44"
316func_check "xviexpdp vs45,vs46,vs47"
317func_check "xviexpsp vs46,vs47,vs48"
318func_check "xvtstdcdp vs54,vs55,0"
319func_check "xvtstdcdp vs54,vs55,127"
320func_check "xvtstdcsp vs55,vs56,0"
321func_check "xvtstdcsp vs55,vs56,127"
322func_check "xvxexpdp vs57,vs58"
323func_check "xvxexpsp vs58,vs59"
324func_check "xvxsigdp vs59,vs60"
325func_check "xvxsigsp vs60,vs61"
326func_check "cmpeqb cr0,r6,r7"
327func_check "cmpeqb cr7,r6,r7"
328func_check "cmprb cr0,0,r8,r9"
329func_check "cmprb cr7,0,r8,r9"
330func_check "cmprb cr0,1,r8,r9"
331func_check "cmprb cr7,1,r8,r9"
332func_check "setb r15,cr0"
333func_check "setb r15,cr7"
334func_check "lxvl vs26,0,r10"
335func_check "lxvl vs56,r20,r10"
336func_check "stxvl vs27,0,r11"
337func_check "stxvl vs57,r21,r11"
338func_check "vclzlsbb r20,v30"
339func_check "vctzlsbb r21,v31"
340func_check "vcmpneb v10,v11,v12"
341func_check "vcmpneb. v20,v21,v22"
342func_check "vcmpneh v11,v12,v13"
343func_check "vcmpneh. v21,v22,v23"
344func_check "vcmpnew v12,v13,v14"
345func_check "vcmpnew. v22,v23,v24"
346func_check "vcmpnezb v13,v14,v15"
347func_check "vcmpnezb. v23,v24,v25"
348func_check "vcmpnezh v14,v15,v16"
349func_check "vcmpnezh. v24,v25,v26"
350func_check "vcmpnezw v15,v16,v17"
351func_check "vcmpnezw. v25,v26,v27"
352func_check "vextublx r16,r17,v10"
353func_check "vextubrx r17,r18,v11"
354func_check "vextuhlx r18,r19,v12"
355func_check "vextuhrx r19,r20,v13"
356func_check "vextuwlx r20,r21,v14"
357func_check "vextuwrx r21,r22,v15"
358func_check "dtstsfi cr0,0,f3"
359func_check "dtstsfi cr7,63,f3"
360func_check "dtstsfiq cr0,0,f4"
361func_check "dtstsfiq cr7,63,f4"
362func_check "xscvhpdp vs40,vs50"
363func_check "xscvdphp vs41,vs51"
364func_check "xvcvhpsp vs42,vs52"
365func_check "xvcvsphp vs43,vs53"
66953522 366func_check "lnia r3"
65b48a81 367func_check "addpcis r4,1"
65b48a81
PB
368func_check "addpcis r5,-2"
369func_check "addpcis r6,32767"
65b48a81
PB
370func_check "addpcis r7,-32768"
371func_check "slbsync"
372func_check "slbiag r10"
373func_check "slbieg r10,r11"
374func_check "slbmfee r3,r4"
65b48a81
PB
375func_check "slbmfee r3,r4,1"
376func_check "slbmfev r4,r5"
65b48a81
PB
377func_check "slbmfev r4,r5,1"
378func_check "tlbie r3,r4"
65b48a81
PB
379func_check "tlbie r3,r4,3,1,1"
380func_check "tlbiel r3"
65b48a81
PB
381func_check "tlbiel r3,r4,3,1,1"
382func_check "copy r12,r13"
383func_check "paste. r10,r11"
384func_check "cpabort"
385func_check "hwsync"
65b48a81 386func_check "lwsync"
65b48a81
PB
387func_check "ptesync"
388func_check "ldat r20,0,0"
389func_check "ldat r20,r10,28"
390func_check "lwat r21,0,0"
391func_check "lwat r21,r11,28"
392func_check "stdat r22,0,0"
393func_check "stdat r22,r12,28"
394func_check "stwat r23,0,0"
395func_check "stwat r23,r13,28"
396func_check "urfid"
397func_check "rmieg r30"
65b48a81 398func_check "stop"
5d2e1193 399func_check "wait"
65b48a81
PB
400func_check "darn r3,0"
401func_check "darn r3,1"
402func_check "darn r3,2"
403func_check "mcrxrx cr0"
404func_check "mcrxrx cr7"
405func_check "vslv v20,v21,v22"
406func_check "vsrv v23,v24,v25"
407func_check "msgsync"
408func_check "xscmpeqdp vs30,vs40,vs50"
409func_check "xscmpgtdp vs31,vs41,vs51"
410func_check "xscmpgedp vs32,vs42,vs52"
411func_check "xsmincdp vs34,vs44,vs54"
412func_check "xsmaxcdp vs35,vs45,vs55"
413func_check "xsminjdp vs36,vs46,vs56"
414func_check "xsmaxjdp vs37,vs47,vs57"
415func_check "vmsumudm v20,v21,v22,v23"
416func_check "addex r11,r12,r13,0"
417func_check "addex r11,r12,r13,1"
418func_check "addex r11,r12,r13,2"
419func_check "mffs f25"
420func_check "mffs. f25"
421func_check "mffsce f26"
422func_check "mffscdrn f27,f20"
423func_check "mffscdrni f28,0"
424func_check "mffscdrni f28,7"
425func_check "mffscrn f29,f21"
426func_check "mffscrni f30,0"
427func_check "mffscrni f30,3"
428func_check "mffsl f31"
This page took 0.593691 seconds and 4 git commands to generate.