summaryrefslogtreecommitdiff
path: root/bcc/misc/test/opplus.t
blob: 88e31e9558fd0e2cd207a96315d54c9f6976298f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/* op+-.t - test plus, minus operators */

/* only doing chars and ints, not shorts, longs, floats, doubles */
/* not doing pointer arithmetic */

op1()
{
	char cfn();
	int ifn();
	char c, *pc, **ppc;
	int i, *pi, **ppi;
	
	i = c + 1;
	i = 1 + c;
	i = i + 1;
	i = 1 + i;

	i = c + 500;
	i = 500 + c;
	i = i + 500;
	i = 500 + i;

	i = c - 1;
	i = 1 - c;
	i = i - 1;
	i = 1 - i;

	i = c - 500;
	i = 500 - c;
	i = i - 500;
	i = 500 - i;

	i = c + c;
	i = c + i;
	i = i + c;	/* -2 cycles, +1 byte different from c + i, lhs loaded 1st */
	i = i + i;

	i = c - c;
	i = c - i;
	i = i - c;
	i = i - i;

	i = c + c++;
	i = c + i++;
	i = i + c++;
	i = i + i++;

	i = c++ + c;
	i = i++ + c;
	i = c++ + i;
	i = i++ + i;

	i = c - c++;
	i = c - i++;
	i = i - c++;
	i = i - i++;

	i = c++ - c;
	i = i++ - c;
	i = c++ - i;
	i = i++ - i;

	i = c + cfn();
	i = c + ifn();
	i = i + cfn();
	i = i + ifn();

	i = cfn() + c;
	i = ifn() + c;
	i = cfn() + i;
	i = ifn() + i;

	i = c - cfn();
	i = c - ifn();
	i = i - cfn();
	i = i - ifn();

	i = cfn() - c;
	i = ifn() - c;
	i = cfn() - i;
	i = ifn() - i;

	i = *pc + c++;
	i = *pc + i++;
	i = *pi + c++;
	i = *pi + i++;

	i = c++ + *pc;
	i = i++ + *pc;
	i = c++ + *pi;
	i = i++ + *pi;

	i = *pc - c++;
	i = *pc - i++;
	i = *pi - c++;
	i = *pi - i++;

	i = c++ - *pc;
	i = i++ - *pc;
	i = c++ - *pi;
	i = i++ - *pi;

	i = **ppc + c++;
	i = **ppc + i++;
	i = **ppi + c++;
	i = **ppi + i++;

	i = c++ + **ppc;
	i = i++ + **ppc;
	i = c++ + **ppi;
	i = i++ + **ppi;

	i = **ppc - c++;
	i = **ppc - i++;
	i = **ppi - c++;
	i = **ppi - i++;

	i = c++ - **ppc;
	i = i++ - **ppc;
	i = c++ - **ppi;
	i = i++ - **ppi;
}