Automatic date update in version.in
[binutils-gdb/blckswan.git] / gdb / testsuite / gdb.arch / amd64-disp-step-avx.S
blob32e5fc77be8006c4d4a941beb3bb27b0a5f5b69f
1 /* Copyright 2009-2022 Free Software Foundation, Inc.
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.
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.
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/>.
16    This file is part of the gdb testsuite.
18    Test displaced stepping over VEX-encoded RIP-relative AVX
19    instructions.  */
21         .text
23         .global _start,main
24 _start:
25         # The area at _start is used as the displaced stepping buffer.  Put
26         # more than enough nop instructions so that the instructions under test
27         # below don't conflict with it.
28         .rept 200
29         nop
30         .endr
31 main:
32         nop
34 /***********************************************/
36 /* Test a VEX2-encoded RIP-relative instruction.  */
38         .global test_rip_vex2
39 test_rip_vex2:
40         vmovsd ro_var(%rip),%xmm0
41         .global test_rip_vex2
42 test_rip_vex2_end:
43         nop
45 /* Test a VEX3-encoded RIP-relative instruction.  */
47         .global test_rip_vex3
48 test_rip_vex3:
49         vextractf128 $0x0,%ymm0,var128(%rip)
50         .global test_rip_vex3
51 test_rip_vex3_end:
52         nop
54         /* skip over test data */
55         jmp done
57 /* RIP-relative ro-data for VEX2 test above.  */
59 ro_var:
60         .8byte 0x1122334455667788
61         .8byte 0x8877665544332211
63 /***********************************************/
65 /* All done.  */
67 done:
68         mov $0,%rdi
69         call _exit
70         hlt
72 /* RIP-relative data for VEX3 test above.  */
74 .data
75 var128:
76         .8byte 0xaa55aa55aa55aa55
77         .8byte 0x55aa55aa55aa55aa