OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.dg/] [compat/] [scalar-by-value-3_x.c] - Blame information for rev 867

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 149 jeremybenn
#include "compat-common.h"
2
 
3
#define T(NAME, TYPE, INITVAL)                                  \
4
TYPE g01##NAME, g02##NAME, g03##NAME, g04##NAME;                \
5
TYPE g05##NAME, g06##NAME, g07##NAME, g08##NAME;                \
6
TYPE g09##NAME, g10##NAME, g11##NAME, g12##NAME;                \
7
TYPE g13##NAME, g14##NAME, g15##NAME, g16##NAME;                \
8
                                                                \
9
extern void init##NAME (TYPE *p, TYPE v);                       \
10
extern void checkg##NAME (void);                                \
11
extern void                                                     \
12
test##NAME (TYPE x01, TYPE x02, TYPE x03, TYPE x04,             \
13
            TYPE x05, TYPE x06, TYPE x07, TYPE x08,             \
14
            TYPE x09, TYPE x10, TYPE x11, TYPE x12,             \
15
            TYPE x13, TYPE x14, TYPE x15, TYPE x16);            \
16
extern void testva##NAME (int n, ...);                          \
17
                                                                \
18
void                                                            \
19
check##NAME (TYPE x, TYPE v)                                    \
20
{                                                               \
21
  if (x != v + INITVAL)                                         \
22
    DEBUG_CHECK                                                 \
23
}                                                               \
24
                                                                \
25
void                                                            \
26
test2_##NAME (TYPE x01, TYPE x02, TYPE x03, TYPE x04,           \
27
              TYPE x05, TYPE x06, TYPE x07, TYPE x08)           \
28
{                                                               \
29
  test##NAME (x01, g02##NAME, x02, g04##NAME,                   \
30
              x03, g06##NAME, x04, g08##NAME,                   \
31
              x05, g10##NAME, x06, g12##NAME,                   \
32
              x07, g14##NAME, x08, g16##NAME);                  \
33
}                                                               \
34
                                                                \
35
void                                                            \
36
testit##NAME (void)                                             \
37
{                                                               \
38
  DEBUG_FPUTS (#NAME);                                          \
39
  DEBUG_FPUTS (" init: ");                                      \
40
  init##NAME (&g01##NAME,  1);                                  \
41
  init##NAME (&g02##NAME,  2);                                  \
42
  init##NAME (&g03##NAME,  3);                                  \
43
  init##NAME (&g04##NAME,  4);                                  \
44
  init##NAME (&g05##NAME,  5);                                  \
45
  init##NAME (&g06##NAME,  6);                                  \
46
  init##NAME (&g07##NAME,  7);                                  \
47
  init##NAME (&g08##NAME,  8);                                  \
48
  init##NAME (&g09##NAME,  9);                                  \
49
  init##NAME (&g10##NAME, 10);                                  \
50
  init##NAME (&g11##NAME, 11);                                  \
51
  init##NAME (&g12##NAME, 12);                                  \
52
  init##NAME (&g13##NAME, 13);                                  \
53
  init##NAME (&g14##NAME, 14);                                  \
54
  init##NAME (&g15##NAME, 15);                                  \
55
  init##NAME (&g16##NAME, 16);                                  \
56
  checkg##NAME ();                                              \
57
  DEBUG_NL;                                                     \
58
  DEBUG_FPUTS (#NAME);                                          \
59
  DEBUG_FPUTS (" test: ");                                      \
60
  test##NAME (g01##NAME, g02##NAME, g03##NAME, g04##NAME,       \
61
              g05##NAME, g06##NAME, g07##NAME, g08##NAME,       \
62
              g09##NAME, g10##NAME, g11##NAME, g12##NAME,       \
63
              g13##NAME, g14##NAME, g15##NAME, g16##NAME);      \
64
  DEBUG_NL;                                                     \
65
  DEBUG_FPUTS (#NAME);                                          \
66
  DEBUG_FPUTS (" testva:");                                     \
67
  DEBUG_NL;                                                     \
68
  testva##NAME (1,                                              \
69
                g01##NAME);                                     \
70
  DEBUG_NL;                                                     \
71
  testva##NAME (2,                                              \
72
                g01##NAME, g02##NAME);                          \
73
  DEBUG_NL;                                                     \
74
  testva##NAME (3,                                              \
75
                g01##NAME, g02##NAME, g03##NAME);               \
76
  DEBUG_NL;                                                     \
77
  testva##NAME (4,                                              \
78
                g01##NAME, g02##NAME, g03##NAME, g04##NAME);    \
79
  DEBUG_NL;                                                     \
80
  testva##NAME (5,                                              \
81
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
82
                g05##NAME);                                     \
83
  DEBUG_NL;                                                     \
84
  testva##NAME (6,                                              \
85
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
86
                g05##NAME, g06##NAME);                          \
87
  DEBUG_NL;                                                     \
88
  testva##NAME (7,                                              \
89
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
90
                g05##NAME, g06##NAME, g07##NAME);               \
91
  DEBUG_NL;                                                     \
92
  testva##NAME (8,                                              \
93
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
94
                g05##NAME, g06##NAME, g07##NAME, g08##NAME);    \
95
  DEBUG_NL;                                                     \
96
  testva##NAME (9,                                              \
97
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
98
                g05##NAME, g06##NAME, g07##NAME, g08##NAME,     \
99
                g09##NAME);                                     \
100
  DEBUG_NL;                                                     \
101
  testva##NAME (10,                                             \
102
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
103
                g05##NAME, g06##NAME, g07##NAME, g08##NAME,     \
104
                g09##NAME, g10##NAME);                          \
105
  DEBUG_NL;                                                     \
106
  testva##NAME (11,                                             \
107
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
108
                g05##NAME, g06##NAME, g07##NAME, g08##NAME,     \
109
                g09##NAME, g10##NAME, g11##NAME);               \
110
  DEBUG_NL;                                                     \
111
  testva##NAME (12,                                             \
112
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
113
                g05##NAME, g06##NAME, g07##NAME, g08##NAME,     \
114
                g09##NAME, g10##NAME, g11##NAME, g12##NAME);    \
115
  DEBUG_NL;                                                     \
116
  testva##NAME (13,                                             \
117
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
118
                g05##NAME, g06##NAME, g07##NAME, g08##NAME,     \
119
                g09##NAME, g10##NAME, g11##NAME, g12##NAME,     \
120
                g13##NAME);                                     \
121
  DEBUG_NL;                                                     \
122
  testva##NAME (14,                                             \
123
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
124
                g05##NAME, g06##NAME, g07##NAME, g08##NAME,     \
125
                g09##NAME, g10##NAME, g11##NAME, g12##NAME,     \
126
                g13##NAME, g14##NAME);                          \
127
  DEBUG_NL;                                                     \
128
  testva##NAME (15,                                             \
129
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
130
                g05##NAME, g06##NAME, g07##NAME, g08##NAME,     \
131
                g09##NAME, g10##NAME, g11##NAME, g12##NAME,     \
132
                g13##NAME, g14##NAME, g15##NAME);               \
133
  DEBUG_NL;                                                     \
134
  testva##NAME (16,                                             \
135
                g01##NAME, g02##NAME, g03##NAME, g04##NAME,     \
136
                g05##NAME, g06##NAME, g07##NAME, g08##NAME,     \
137
                g09##NAME, g10##NAME, g11##NAME, g12##NAME,     \
138
                g13##NAME, g14##NAME, g15##NAME, g16##NAME);    \
139
  DEBUG_NL;                                                     \
140
  DEBUG_FPUTS (#NAME);                                          \
141
  DEBUG_FPUTS (" test2: ");                                     \
142
  test2_##NAME (g01##NAME, g03##NAME, g05##NAME, g07##NAME,     \
143
                g09##NAME, g11##NAME, g13##NAME, g15##NAME);    \
144
  DEBUG_NL;                                                     \
145
}
146
 
147
#ifndef SKIP_COMPLEX_INT
148
T(ci, _Complex int, CINT (2, 3))
149
T(cl, _Complex long, CINT (3, 4))
150
T(cll, _Complex long long, CINT (5, 6))
151
#endif
152
T(cd, _Complex double, CDBL (7.0, 8.0))
153
T(cld, _Complex long double, CDBL (8.0, 9.0))
154
 
155
#undef T
156
 
157
void
158
scalar_by_value_3_x ()
159
{
160
DEBUG_INIT
161
 
162
#define T(NAME) testit##NAME ();
163
 
164
#ifndef SKIP_COMPLEX_INT
165
T(ci)
166
T(cl)
167
T(cll)
168
#endif
169
T(cd)
170
T(cld)
171
 
172
DEBUG_FINI
173
 
174
if (fails != 0)
175
  abort ();
176
 
177
#undef T
178
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.