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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.c-torture/] [compile/] [pr35595.c] - Blame information for rev 774

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

Line No. Rev Author Line
1 688 jeremybenn
/* { dg-require-effective-target int32plus } */
2
typedef signed int __int32_t;
3
typedef unsigned int __uint32_t;
4
typedef union
5
{
6
  float value;
7
  __uint32_t word;
8
}
9
ieee_float_shape_type;
10
static const float two23 = 8.3886080000e+06;
11
static const float pi = 3.1415927410e+00;
12
static const float zero = 0.0000000000e+00;
13
static float
14
sin_pif (float x)
15
{
16
  float y = 0;
17
  float z = 0;
18
  __int32_t n = 0;
19
  __int32_t ix = 0;
20
  do
21
    {
22
      ieee_float_shape_type gf_u = { 0 };
23
      (ix) = gf_u.word;
24
    }
25
  while (0);
26
  if (z == y)
27
    {
28
      if (ix < 0x4b800000)
29
        {
30
          if (ix < 0x4b000000)
31
            z = y + two23;
32
          do
33
            {
34
              ieee_float_shape_type gf_u;
35
              gf_u.value = (z);
36
              (n) = gf_u.word;
37
            }
38
          while (0);
39
        }
40
    }
41
  if (n == 0)
42
    y = __kernel_sinf (pi * y, zero, 0);
43
}
44
 
45
float
46
__ieee754_lgammaf_r (float x, int *signgamp)
47
{
48
  float t = 0;
49
  __int32_t hx = 0;
50
  do
51
    {
52
      ieee_float_shape_type gf_u = { 0 };
53
      (hx) = gf_u.word;
54
    }
55
  while (0);
56
  if (hx < 0)
57
    t = sin_pif (x);
58
  return 0;
59
}

powered by: WebSVN 2.1.0

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