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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [bf-spl1.c] - Blame information for rev 689

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* { dg-do run { target m68k-*-* fido-*-* sparc-*-* } } */
2
/* { dg-options { -O2 } } */
3
 
4
extern void abort (void);
5
 
6
typedef float SFtype __attribute__ ((mode (SF)));
7
typedef float DFtype __attribute__ ((mode (DF)));
8
 
9
typedef int HItype __attribute__ ((mode (HI)));
10
typedef int SItype __attribute__ ((mode (SI)));
11
typedef int DItype __attribute__ ((mode (DI)));
12
 
13
typedef unsigned int UHItype __attribute__ ((mode (HI)));
14
typedef unsigned int USItype __attribute__ ((mode (SI)));
15
typedef unsigned int UDItype __attribute__ ((mode (DI)));
16
 
17
typedef UDItype fractype;
18
typedef USItype halffractype;
19
typedef DFtype FLO_type;
20
typedef DItype intfrac;
21
 
22
 
23
typedef union
24
{
25
  long long foo;
26
  FLO_type value;
27
  struct
28
    {
29
      fractype fraction:52 __attribute__ ((packed));
30
      unsigned int exp:11 __attribute__ ((packed));
31
      unsigned int sign:1 __attribute__ ((packed));
32
    }
33
  bits;
34
} FLO_union_type;
35
 
36
void foo (long long a);
37
long long x;
38
 
39
void
40
pack_d ()
41
{
42
  FLO_union_type dst = { 0x0123456789abcdefLL };
43
 
44
  x = dst.bits.fraction;
45
}
46
 
47
main ()
48
{
49
  pack_d ();
50
  foo (x);
51
  return 0;
52
}
53
 
54
void
55
foo (long long a)
56
{
57
  if (a != 0x0123456789abcLL)
58
    abort ();
59
}

powered by: WebSVN 2.1.0

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