xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.arch/amd64-disp-step-avx.S (revision 4c3eb207d36f67d31994830c0a694161fc1ca39b)
1/* Copyright 2009-2019 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 displaced stepping over VEX-encoded RIP-relative AVX
19   instructions.  */
20
21	.text
22
23	.global _start,main
24_start:
25	nop
26main:
27        nop
28
29/***********************************************/
30
31/* Test a VEX2-encoded RIP-relative instruction.  */
32
33	.global test_rip_vex2
34test_rip_vex2:
35	vmovsd ro_var(%rip),%xmm0
36	.global test_rip_vex2
37test_rip_vex2_end:
38	nop
39
40/* Test a VEX3-encoded RIP-relative instruction.  */
41
42	.global test_rip_vex3
43test_rip_vex3:
44	vextractf128 $0x0,%ymm0,var128(%rip)
45	.global test_rip_vex3
46test_rip_vex3_end:
47	nop
48
49	/* skip over test data */
50	jmp done
51
52/* RIP-relative ro-data for VEX2 test above.  */
53
54ro_var:
55	.8byte 0x1122334455667788
56	.8byte 0x8877665544332211
57
58/***********************************************/
59
60/* All done.  */
61
62done:
63	mov $0,%rdi
64	call _exit
65	hlt
66
67/* RIP-relative data for VEX3 test above.  */
68
69.data
70var128:
71	.8byte 0xaa55aa55aa55aa55
72	.8byte 0x55aa55aa55aa55aa
73