Home | History | Annotate | Line # | Download | only in gdb.trace
      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