b56a552f6e6b8a4b4adfd116b742dfe63e4803ec
[external/binutils.git] / gdb / testsuite / gdb.arch / amd64-disp-step-avx.S
1 /* Copyright 2009-2018 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 main
24 main:
25         nop
26
27 /***********************************************/
28
29 /* Test a VEX2-encoded RIP-relative instruction.  */
30
31         .global test_rip_vex2
32 test_rip_vex2:
33         vmovsd ro_var(%rip),%xmm0
34         .global test_rip_vex2
35 test_rip_vex2_end:
36         nop
37
38 /* Test a VEX3-encoded RIP-relative instruction.  */
39
40         .global test_rip_vex3
41 test_rip_vex3:
42         vextractf128 $0x0,%ymm0,var128(%rip)
43         .global test_rip_vex3
44 test_rip_vex3_end:
45         nop
46
47         /* skip over test data */
48         jmp done
49
50 /* RIP-relative ro-data for VEX2 test above.  */
51
52 ro_var:
53         .8byte 0x1122334455667788
54         .8byte 0x8877665544332211
55
56 /***********************************************/
57
58 /* All done.  */
59
60 done:
61         mov $0,%rdi
62         call exit
63         hlt
64
65 /* RIP-relative data for VEX3 test above.  */
66
67 .data
68 var128:
69         .8byte 0xaa55aa55aa55aa55
70         .8byte 0x55aa55aa55aa55aa