OSDN Git Service

New alpha test from HJ.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / 980217-1.c
1 /* Test float on alpha. */
2
3 /* { dg-do run { target alpha*-*-* } } */
4 /* { dg-options "-mieee -O2" } */
5
6 typedef int int32_t __attribute__ ((__mode__ (  __SI__ ))) ;
7 typedef union
8 {
9   float value;
10   int32_t word;
11 } ieee_float_shape_type;
12
13 int isinff(float x)
14 {
15   int32_t ix,t;
16   ieee_float_shape_type gf_u;
17   gf_u.value = x;
18   ix = gf_u.word;
19   printf ("%x\n", ix);
20   t = ix & 0x7fffffff;
21   t ^= 0x7f800000;
22   t |= -t;
23   return ~(t >> 31) & (1 - ((ix & 0x80000000) >> 30));
24 }
25
26 main ()
27 {
28   float x = 1.0 / 0.0;
29   int i = isinff (x);
30
31   if (i == 0)
32     abort ();
33
34   printf ("%d\n", i);
35   return 0;
36 }