]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/torture/bitint-21.c
2 /* { dg-do run { target bitint } } */
3 /* { dg-options "-std=c23 -pedantic-errors" } */
4 /* { dg-skip-if "" { ! run_expensive_tests } { "*" } { "-O0" "-O2" } } */
5 /* { dg-skip-if "" { ! run_expensive_tests } { "-flto" } { "" } } */
7 #if __FLT_MANT_DIG__ == 24
8 #if __BITINT_MAXWIDTH__ >= 135
9 __attribute__((noipa
)) _BitInt(135)
15 __attribute__((noipa
)) unsigned _BitInt(135)
16 testfltu_135 (float d
)
22 #if __BITINT_MAXWIDTH__ >= 192
23 __attribute__((noipa
)) _BitInt(192)
29 __attribute__((noipa
)) unsigned _BitInt(192)
30 testfltu_192 (float d
)
36 #if __BITINT_MAXWIDTH__ >= 575
37 __attribute__((noipa
)) _BitInt(575)
43 __attribute__((noipa
)) unsigned _BitInt(575)
44 testfltu_575 (float d
)
51 #if __DBL_MANT_DIG__ == 53
52 #if __BITINT_MAXWIDTH__ >= 135
53 __attribute__((noipa
)) _BitInt(135)
54 testdbl_135 (double d
)
59 __attribute__((noipa
)) unsigned _BitInt(135)
60 testdblu_135 (double d
)
66 #if __BITINT_MAXWIDTH__ >= 192
67 __attribute__((noipa
)) _BitInt(192)
68 testdbl_192 (double d
)
73 __attribute__((noipa
)) unsigned _BitInt(192)
74 testdblu_192 (double d
)
80 #if __BITINT_MAXWIDTH__ >= 575
81 __attribute__((noipa
)) _BitInt(575)
82 testdbl_575 (double d
)
87 __attribute__((noipa
)) unsigned _BitInt(575)
88 testdblu_575 (double d
)
98 #if __FLT_MANT_DIG__ == 24
99 #if __BITINT_MAXWIDTH__ >= 135
100 static float flt_135
[] = {
101 -1.0f
, -0.96875f
, -0.5f
, -0.0f
, 0.25f
, 0.0f
, 1.0f
, -42.0f
, 16777215.25f
,
102 -50855501824.5f
, 39580962846540824576.0f
,
103 -122147759335346835551823516808712814592.0f
,
104 -85070591730234615865843651857942052864.0f
106 static _BitInt(135) fltr_135
[] = {
107 -1wb
, 0wb
, 0wb
, 0wb
, 0wb
, 0wb
, 1wb
, -42wb
, 16777215wb
,
108 -50855501824wb
, 39580962846540824576wb
,
109 -122147759335346835551823516808712814592wb
,
110 -85070591730234615865843651857942052864wb
112 for (int i
= 0; i
< 13; ++i
)
113 if (testflt_135 (flt_135
[i
]) != fltr_135
[i
])
115 static float fltu_135
[] = {
116 -0.9375f
, -0.25f
, -0.0f
, 0.125f
, 0.0f
, 1.0f
, 42.59375f
, 16777215.75f
,
117 397530272.5f
, 1557145973265213792232550652968960.0f
,
118 69722182498815269047577928656018735104.0f
120 static unsigned _BitInt(135) fltur_135
[] = {
121 0uwb
, 0uwb
, 0uwb
, 0uwb
, 0uwb
, 1uwb
, 42uwb
, 16777216uwb
,
122 397530272uwb
, 1557145973265213792232550652968960uwb
,
123 69722182498815269047577928656018735104uwb
125 for (int i
= 0; i
< 11; ++i
)
126 if (testfltu_135 (fltu_135
[i
]) != fltur_135
[i
])
129 #if __BITINT_MAXWIDTH__ >= 192
130 static float flt_192
[] = {
131 -0.984375f
, -0.75f
, -0.0f
, 0.625f
, 0.0f
, 1.0f
, -42.0f
, 16777215.25f
,
132 -166724322197504.5f
, 7557890186859550768856301568.0f
,
133 6614377725485260848635133905887821824.0f
,
134 -85070591730234615865843651857942052864.0f
136 static _BitInt(192) fltr_192
[] = {
137 0wb
, 0wb
, 0wb
, 0wb
, 0wb
, 1wb
, -42wb
, 16777215wb
,
138 -166724322197504wb
, 7557890186859550768856301568wb
,
139 6614377725485260848635133905887821824wb
,
140 -85070591730234615865843651857942052864wb
142 for (int i
= 0; i
< 12; ++i
)
143 if (testflt_192 (flt_192
[i
]) != fltr_192
[i
])
145 static float fltu_192
[] = {
146 -0.9921875f
, -0.125f
, -0.0f
, __FLT_MIN__
, 0.0f
, 1.0f
, 42.125f
,
147 16777216.75f
, 2197600337920.75f
, 4591683053408742366929307227985543168.0f
,
148 89668786387864080590151097276117811200.0f
150 static unsigned _BitInt(192) fltur_192
[] = {
151 0uwb
, 0uwb
, 0uwb
, 0uwb
, 0uwb
, 1uwb
, 42uwb
, 16777216uwb
,
152 2197600337920uwb
, 4591683053408742366929307227985543168uwb
,
153 89668786387864080590151097276117811200uwb
155 for (int i
= 0; i
< 11; ++i
)
156 if (testfltu_192 (fltu_192
[i
]) != fltur_192
[i
])
159 #if __BITINT_MAXWIDTH__ >= 575
160 static float flt_575
[] = {
161 -0.99609375f
, -0.0625f
, -0.0f
, 0.0001f
, 0.0f
, 1.0f
, -28.0f
, 16777214.75f
,
162 -1321998852554752.5f
, 3447217350995641328695097279119360.0f
,
163 -153684583933125564944797950598195445760.0f
,
164 -6614377725485260848635133905887821824.0f
166 static _BitInt(575) fltr_575
[] = {
167 0wb
, 0wb
, 0wb
, 0wb
, 0wb
, 1wb
, -28wb
, 16777215wb
,
168 -1321998852554752wb
, 3447217350995641328695097279119360wb
,
169 -153684583933125564944797950598195445760wb
,
170 -6614377725485260848635133905887821824wb
172 for (int i
= 0; i
< 12; ++i
)
173 if (testflt_575 (flt_575
[i
]) != fltr_575
[i
])
175 static float fltu_575
[] = {
176 -0.9921875f
, -0.125f
, -0.0f
, 4.0f
* __FLT_MIN__
, 0.0f
, 1.0f
, 38.125f
,
177 16777210.75f
, 450604433408.75f
, 49420393052787309452540595771398946816.0f
,
178 144076816645080570490809349637635309568.0f
180 static unsigned _BitInt(575) fltur_575
[] = {
181 0uwb
, 0uwb
, 0uwb
, 0uwb
, 0uwb
, 1uwb
, 38uwb
, 16777211uwb
,
182 450604433408uwb
, 49420393052787309452540595771398946816uwb
,
183 144076816645080570490809349637635309568uwb
185 for (int i
= 0; i
< 11; ++i
)
186 if (testfltu_575 (fltu_575
[i
]) != fltur_575
[i
])
190 #if __DBL_MANT_DIG__ == 53
191 #if __BITINT_MAXWIDTH__ >= 135
192 static double dbl_135
[] = {
193 -0.998046875, -0.5, -0.0, 0.25, 0.0, 1.0, -42.0, 4294967295.25,
194 -600381955574889.5, 31830517255028909053694705664.0,
195 -18738990071541038357046558935673124945920.0,
196 -21778071482940061661655974875633165533184.0
198 static _BitInt(135) dblr_135
[] = {
199 0wb
, 0wb
, 0wb
, 0wb
, 0wb
, 1wb
, -42wb
, 4294967295wb
,
200 -600381955574889wb
, 31830517255028909053694705664wb
,
201 -18738990071541038357046558935673124945920wb
,
202 -21778071482940061661655974875633165533183wb
- 1wb
204 for (int i
= 0; i
< 12; ++i
)
205 if (testdbl_135 (dbl_135
[i
]) != dblr_135
[i
])
207 static double dblu_135
[] = {
208 -0.9990234375, -0.25, -0.0, 0.125, 0.0, 1.0, 42.59375, 4294967295.75,
209 1379919377114330.5, 1887176628826898072984354816.0,
210 28122698032432725461429202074509590396928.0
212 static unsigned _BitInt(135) dblur_135
[] = {
213 0uwb
, 0uwb
, 0uwb
, 0uwb
, 0uwb
, 1uwb
, 42uwb
, 4294967295uwb
,
214 1379919377114330uwb
, 1887176628826898072984354816uwb
,
215 28122698032432725461429202074509590396928uwb
217 for (int i
= 0; i
< 11; ++i
)
218 if (testdblu_135 (dblu_135
[i
]) != dblur_135
[i
])
221 #if __BITINT_MAXWIDTH__ >= 192
222 static double dbl_192
[] = {
223 -0.99951171875, -0.75, -0.0, 0.625, 0.0, 1.0, -42.0, 4294967295.25,
224 -334692618508390720.5, 7241713824636372052614321786924022698463985664.0,
225 1051470826442514757151114043324296190023320100185399361536.0,
226 -3138550867693340381917894711603833208051177722232017256448.0
228 static _BitInt(192) dblr_192
[] = {
229 0wb
, 0wb
, 0wb
, 0wb
, 0wb
, 1wb
, -42wb
, 4294967295wb
,
230 -334692618508390720wb
, 7241713824636372052614321786924022698463985664wb
,
231 1051470826442514757151114043324296190023320100185399361536wb
,
232 -3138550867693340381917894711603833208051177722232017256447wb
- 1wb
234 for (int i
= 0; i
< 12; ++i
)
235 if (testdbl_192 (dbl_192
[i
]) != dblr_192
[i
])
237 static double dblu_192
[] = {
238 -0.999755859375, -0.25, -0.0, __DBL_MIN__
, 0.0, 1.0, 42.125, 4294967296.75,
239 85543274084479312.75, 1452517026416706854711122198528.0,
240 4878159368183578289135952951143197426988727705359645409280.0
242 static unsigned _BitInt(192) dblur_192
[] = {
243 0uwb
, 0uwb
, 0uwb
, 0uwb
, 0uwb
, 1uwb
, 42uwb
, 4294967296uwb
,
244 85543274084479312uwb
, 1452517026416706854711122198528uwb
,
245 4878159368183578289135952951143197426988727705359645409280uwb
247 for (int i
= 0; i
< 11; ++i
)
248 if (testdblu_192 (dblu_192
[i
]) != dblur_192
[i
])
251 #if __BITINT_MAXWIDTH__ >= 575
252 static double dbl_575
[] = {
253 -1.0, -0.9998779296875, -0.125, -0.0, 0.0001, 0.0, 1.0, -28.0, 4294967294.75,
254 -37518052491018912.5, 103740344328578397848785318842252129922803939603530145015162908477052192630505472.0,
255 -60264112735379285992549557294906950572505306720710356591257742566415478531569283626542380634430345616295459560427283714375540825055746407845009719778430303250931745441185792.0,
256 -61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784.0
258 static _BitInt(575) dblr_575
[] = {
259 -1wb
, 0wb
, 0wb
, 0wb
, 0wb
, 0wb
, 1wb
, -28wb
, 4294967294wb
,
260 -37518052491018912wb
, 103740344328578397848785318842252129922803939603530145015162908477052192630505472wb
,
261 -60264112735379285992549557294906950572505306720710356591257742566415478531569283626542380634430345616295459560427283714375540825055746407845009719778430303250931745441185792wb
,
262 -61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174783wb
- 1wb
264 for (int i
= 0; i
< 13; ++i
)
265 if (testdbl_575 (dbl_575
[i
]) != dblr_575
[i
])
267 static double dblu_575
[] = {
268 -0.99993896484375, -0.0625, -0.0, 4.0 * __DBL_MIN__
, 0.0, 1.0, 38.125, 4294967297.75,
269 138240328005104064.75, 1588129215384992270224118343146332410113351482118715170651778867930903010675691494429363974899842924150784.0,
270 106390366882040443685518677989907085524608028099417390750037507495093586319031581000179209552004867195248003952212636389496136628539779816025838629984567658036669448510767104.0
272 static unsigned _BitInt(575) dblur_575
[] = {
273 0uwb
, 0uwb
, 0uwb
, 0uwb
, 0uwb
, 1uwb
, 38uwb
, 4294967297uwb
,
274 138240328005104064uwb
, 1588129215384992270224118343146332410113351482118715170651778867930903010675691494429363974899842924150784uwb
,
275 106390366882040443685518677989907085524608028099417390750037507495093586319031581000179209552004867195248003952212636389496136628539779816025838629984567658036669448510767104uwb
277 for (int i
= 0; i
< 11; ++i
)
278 if (testdblu_575 (dblu_575
[i
]) != dblur_575
[i
])