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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [eh/] [fp-regs.C] - Blame information for rev 801

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

Line No. Rev Author Line
1 693 jeremybenn
// PR 20670: f29 corrupted when unwind stack.  This tries to test that FP
2
// registers are properly saved and restored by defining 20 different FP
3
// local variables.
4
// { dg-do run }
5
// { dg-options "-O" }
6
#include 
7
 
8
double zero = 0.0;
9
double another_zero = 0.0;
10
 
11
int
12
sub (void)
13
{
14
  throw (0);
15
}
16
 
17
int
18
main (void)
19
{
20
  double a, b, c, d, e, f, g, h, i, j;
21
  double a1, b1, c1, d1, e1, f1, g1, h1, i1, j1;
22
 
23
  a = zero;
24
  b = a + 1;
25
  c = b + 1;
26
  d = c + 1;
27
  e = d + 1;
28
  f = e + 1;
29
  g = f + 1;
30
  h = g + 1;
31
  i = h + 1;
32
  j = i + 1;
33
 
34
  a1 = another_zero;
35
  b1 = a1 + 1;
36
  c1 = b1 + 1;
37
  d1 = c1 + 1;
38
  e1 = d1 + 1;
39
  f1 = e1 + 1;
40
  g1 = f1 + 1;
41
  h1 = g1 + 1;
42
  i1 = h1 + 1;
43
  j1 = i1 + 1;
44
 
45
  try
46
    {
47
      sub ();
48
    }
49
  catch (...)
50
    {
51
      if (a != 0.0)
52
        abort ();
53
      if (b != 1.0)
54
        abort ();
55
      if (c != 2.0)
56
        abort ();
57
      if (d != 3.0)
58
        abort ();
59
      if (e != 4.0)
60
        abort ();
61
      if (f != 5.0)
62
        abort ();
63
      if (g != 6.0)
64
        abort ();
65
      if (h != 7.0)
66
        abort ();
67
      if (i != 8.0)
68
        abort ();
69
      if (j != 9.0)
70
        abort ();
71
 
72
      if (a1 != 0.0)
73
        abort ();
74
      if (b1 != 1.0)
75
        abort ();
76
      if (c1 != 2.0)
77
        abort ();
78
      if (d1 != 3.0)
79
        abort ();
80
      if (e1 != 4.0)
81
        abort ();
82
      if (f1 != 5.0)
83
        abort ();
84
      if (g1 != 6.0)
85
        abort ();
86
      if (h1 != 7.0)
87
        abort ();
88
      if (i1 != 8.0)
89
        abort ();
90
      if (j1 != 9.0)
91
        abort ();
92
    }
93
  return 0;
94
}

powered by: WebSVN 2.1.0

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