tracefile-pseudo-reg.c revision 1.1.1.6 1 1.1 christos /* This testcase is part of GDB, the GNU debugger.
2 1.1 christos
3 1.1.1.6 christos Copyright 2016-2024 Free Software Foundation, Inc.
4 1.1 christos
5 1.1 christos This program is free software; you can redistribute it and/or modify
6 1.1 christos it under the terms of the GNU General Public License as published by
7 1.1 christos the Free Software Foundation; either version 3 of the License, or
8 1.1 christos (at your option) any later version.
9 1.1 christos
10 1.1 christos This program is distributed in the hope that it will be useful,
11 1.1 christos but WITHOUT ANY WARRANTY; without even the implied warranty of
12 1.1 christos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 1.1 christos GNU General Public License for more details.
14 1.1 christos
15 1.1 christos You should have received a copy of the GNU General Public License
16 1.1 christos along with this program. If not, see <http://www.gnu.org/licenses/>. */
17 1.1 christos
18 1.1 christos /*
19 1.1 christos * Test program for reading target description from tfile: collects AVX
20 1.1 christos * registers on x86_64.
21 1.1 christos */
22 1.1 christos
23 1.1 christos #include <immintrin.h>
24 1.1 christos
25 1.1 christos void
26 1.1 christos dummy (void)
27 1.1 christos {
28 1.1 christos }
29 1.1 christos
30 1.1 christos static void
31 1.1 christos end (void)
32 1.1 christos {
33 1.1 christos }
34 1.1 christos
35 1.1 christos int
36 1.1 christos main (void)
37 1.1 christos {
38 1.1 christos /* Strictly speaking, it should be ymm15 (xmm15 is 128-bit), but gcc older
39 1.1 christos than 4.9 doesn't recognize "ymm15" as a valid register name. */
40 1.1 christos register __v8si a asm("xmm15") = {
41 1.1 christos 0x12340001,
42 1.1 christos 0x12340002,
43 1.1 christos 0x12340003,
44 1.1 christos 0x12340004,
45 1.1 christos 0x12340005,
46 1.1 christos 0x12340006,
47 1.1 christos 0x12340007,
48 1.1 christos 0x12340008,
49 1.1 christos };
50 1.1 christos asm volatile ("traceme: call dummy" : : "x" (a));
51 1.1 christos end ();
52 1.1 christos return 0;
53 1.1 christos }
54