xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.arch/alpha-step.c (revision 8b657b0747480f8989760d71343d6dd33f8d4cf9)
1 /* Copyright 2005-2023 Free Software Foundation, Inc.
2 
3    This file is part of GDB.
4 
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9 
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17 
18 void gt (double a);
19 
20 int
21 main (void)
22 {
23   gt (360.0);
24   gt (-360.0);
25 
26   ge (360.0);
27   ge (-360.0);
28 
29   lt (-360.0);
30   lt (360.0);
31 
32   le (-360.0);
33   le (360.0);
34 
35   eq (0.0);
36   eq (360.0);
37 
38   ne (360.0);
39   ne (0.0);
40 
41   return 0;
42 }
43 
44 asm ("       .text\n"
45      "       .ent gt\n"
46      "gt:\n"
47      "       .frame $30,0,$26,0\n"
48      "       .prologue 0\n"
49      "       cpys $f31,$f31,$f0\n"
50      "       fbgt $f16,$gt_1\n"      /* stop at this instruction.  */
51      "       cpysn $f16,$f16,$f0\n"
52      "$gt_1:\n"
53      "       ret $31,($26),1\n"
54      "       .end gt\n");
55 
56 asm ("       .text\n"
57      "       .ent ge\n"
58      "ge:\n"
59      "       .frame $30,0,$26,0\n"
60      "       .prologue 0\n"
61      "       cpys $f31,$f31,$f0\n"
62      "       fbge $f16,$ge_1\n"      /* stop at this instruction.  */
63      "       cpysn $f16,$f16,$f0\n"
64      "$ge_1:\n"
65      "       ret $31,($26),1\n"
66      "       .end ge\n");
67 
68 asm ("       .text\n"
69      "       .ent lt\n"
70      "lt:\n"
71      "       .frame $30,0,$26,0\n"
72      "       .prologue 0\n"
73      "       cpys $f31,$f31,$f0\n"
74      "       fblt $f16,$lt_1\n"      /* stop at this instruction.  */
75      "       cpysn $f16,$f16,$f0\n"
76      "$lt_1:\n"
77      "       ret $31,($26),1\n"
78      "       .end lt\n");
79 
80 asm ("       .text\n"
81      "       .ent le\n"
82      "le:\n"
83      "       .frame $30,0,$26,0\n"
84      "       .prologue 0\n"
85      "       cpys $f31,$f31,$f0\n"
86      "       fble $f16,$le_1\n"      /* stop at this instruction.  */
87      "       cpysn $f16,$f16,$f0\n"
88      "$le_1:\n"
89      "       ret $31,($26),1\n"
90      "       .end le\n");
91 
92 asm ("       .text\n"
93      "       .ent eq\n"
94      "eq:\n"
95      "       .frame $30,0,$26,0\n"
96      "       .prologue 0\n"
97      "       cpys $f31,$f31,$f0\n"
98      "       fbeq $f16,$eq_1\n"      /* stop at this instruction.  */
99      "       cpysn $f16,$f16,$f0\n"
100      "$eq_1:\n"
101      "       ret $31,($26),1\n"
102      "       .end eq\n");
103 
104 asm ("       .text\n"
105      "       .ent ne\n"
106      "ne:\n"
107      "       .frame $30,0,$26,0\n"
108      "       .prologue 0\n"
109      "       cpys $f31,$f31,$f0\n"
110      "       fbne $f16,$ne_1\n"      /* stop at this instruction.  */
111      "       cpysn $f16,$f16,$f0\n"
112      "$ne_1:\n"
113      "       ret $31,($26),1\n"
114      "       .end ne\n");
115 
116 
117