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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [pr9814-1.c] - Blame information for rev 774

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

Line No. Rev Author Line
1 689 jeremybenn
/* PR tree-optimization/9814  */
2
/* { dg-do run } */
3
/* { dg-options "-O2" } */
4
 
5
extern void abort(void);
6
 
7
int test1(int x)
8
{
9
  if (x & 2)
10
    x |= 2;
11
  return x;
12
}
13
 
14
int test2(int x)
15
{
16
  if (!(x & 2))
17
    x |= 2;
18
  return x;
19
}
20
 
21
int test3(int x)
22
{
23
  if (x & 2)
24
    x ^= 2;
25
  return x;
26
}
27
 
28
int test4(int x)
29
{
30
  if (!(x & 2))
31
    x ^= 2;
32
  return x;
33
}
34
 
35
int test5(int x)
36
{
37
  if (x & 2)
38
    x &= ~2;
39
  return x;
40
}
41
 
42
int test6(int x)
43
{
44
  if (!(x & 2))
45
    x &= ~2;
46
  return x;
47
}
48
 
49
int main()
50
{
51
  if (test1(0) != 0)
52
    abort();
53
  if (test1(2) != 2)
54
    abort();
55
  if (test1(5) != 5)
56
    abort();
57
  if (test1(7) != 7)
58
    abort();
59
 
60
  if (test2(0) != 2)
61
    abort();
62
  if (test2(2) != 2)
63
    abort();
64
  if (test2(5) != 7)
65
    abort();
66
  if (test2(7) != 7)
67
    abort();
68
 
69
  if (test3(0) != 0)
70
    abort();
71
  if (test3(2) != 0)
72
    abort();
73
  if (test3(5) != 5)
74
    abort();
75
  if (test3(7) != 5)
76
    abort();
77
 
78
  if (test4(0) != 2)
79
    abort();
80
  if (test4(2) != 2)
81
    abort();
82
  if (test4(5) != 7)
83
    abort();
84
  if (test4(7) != 7)
85
    abort();
86
 
87
  if (test5(0) != 0)
88
    abort();
89
  if (test5(2) != 0)
90
    abort();
91
  if (test5(5) != 5)
92
    abort();
93
  if (test5(7) != 5)
94
    abort();
95
 
96
  if (test6(0) != 0)
97
    abort();
98
  if (test6(2) != 2)
99
    abort();
100
  if (test6(5) != 5)
101
    abort();
102
  if (test6(7) != 7)
103
    abort();
104
 
105
  return 0;
106
}
107
 

powered by: WebSVN 2.1.0

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