PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / cmpsi-2.c
blob52c8065dd1b7576727565fe06f54ee2de13f4f2a
1 /* { dg-require-effective-target int32plus } */
2 #define F 140
3 #define T 13
5 feq (int x, int y)
7 if (x == y)
8 return T;
9 else
10 return F;
13 fne (int x, int y)
15 if (x != y)
16 return T;
17 else
18 return F;
21 flt (int x, int y)
23 if (x < y)
24 return T;
25 else
26 return F;
29 fge (int x, int y)
31 if (x >= y)
32 return T;
33 else
34 return F;
37 fgt (int x, int y)
39 if (x > y)
40 return T;
41 else
42 return F;
45 fle (int x, int y)
47 if (x <= y)
48 return T;
49 else
50 return F;
53 fltu (unsigned int x, unsigned int y)
55 if (x < y)
56 return T;
57 else
58 return F;
61 fgeu (unsigned int x, unsigned int y)
63 if (x >= y)
64 return T;
65 else
66 return F;
69 fgtu (unsigned int x, unsigned int y)
71 if (x > y)
72 return T;
73 else
74 return F;
77 fleu (unsigned int x, unsigned int y)
79 if (x <= y)
80 return T;
81 else
82 return F;
85 unsigned int args[] =
87 0L,
88 1L,
89 -1L,
90 0x7fffffffL,
91 0x80000000L,
92 0x80000001L,
93 0x1A3F2373L,
94 0x93850E92L
97 int correct_results[] =
99 T, F, F, T, F, T, F, T, F, T,
100 F, T, T, F, F, T, T, F, F, T,
101 F, T, F, T, T, F, T, F, F, T,
102 F, T, T, F, F, T, T, F, F, T,
103 F, T, F, T, T, F, T, F, F, T,
104 F, T, F, T, T, F, T, F, F, T,
105 F, T, T, F, F, T, T, F, F, T,
106 F, T, F, T, T, F, T, F, F, T,
107 F, T, F, T, T, F, F, T, T, F,
108 T, F, F, T, F, T, F, T, F, T,
109 F, T, F, T, T, F, T, F, F, T,
110 F, T, T, F, F, T, T, F, F, T,
111 F, T, F, T, T, F, T, F, F, T,
112 F, T, F, T, T, F, T, F, F, T,
113 F, T, T, F, F, T, T, F, F, T,
114 F, T, F, T, T, F, T, F, F, T,
115 F, T, T, F, F, T, F, T, T, F,
116 F, T, T, F, F, T, F, T, T, F,
117 T, F, F, T, F, T, F, T, F, T,
118 F, T, T, F, F, T, F, T, T, F,
119 F, T, F, T, T, F, F, T, T, F,
120 F, T, F, T, T, F, F, T, T, F,
121 F, T, T, F, F, T, F, T, T, F,
122 F, T, F, T, T, F, F, T, T, F,
123 F, T, F, T, T, F, F, T, T, F,
124 F, T, F, T, T, F, F, T, T, F,
125 F, T, F, T, T, F, T, F, F, T,
126 T, F, F, T, F, T, F, T, F, T,
127 F, T, F, T, T, F, T, F, F, T,
128 F, T, F, T, T, F, T, F, F, T,
129 F, T, F, T, T, F, F, T, T, F,
130 F, T, F, T, T, F, T, F, F, T,
131 F, T, T, F, F, T, F, T, T, F,
132 F, T, T, F, F, T, F, T, T, F,
133 F, T, T, F, F, T, T, F, F, T,
134 F, T, T, F, F, T, F, T, T, F,
135 T, F, F, T, F, T, F, T, F, T,
136 F, T, T, F, F, T, T, F, F, T,
137 F, T, T, F, F, T, F, T, T, F,
138 F, T, T, F, F, T, T, F, F, T,
139 F, T, T, F, F, T, F, T, T, F,
140 F, T, T, F, F, T, F, T, T, F,
141 F, T, T, F, F, T, T, F, F, T,
142 F, T, T, F, F, T, F, T, T, F,
143 F, T, F, T, T, F, F, T, T, F,
144 T, F, F, T, F, T, F, T, F, T,
145 F, T, T, F, F, T, F, T, T, F,
146 F, T, T, F, F, T, T, F, F, T,
147 F, T, F, T, T, F, F, T, T, F,
148 F, T, F, T, T, F, F, T, T, F,
149 F, T, F, T, T, F, T, F, F, T,
150 F, T, T, F, F, T, T, F, F, T,
151 F, T, F, T, T, F, T, F, F, T,
152 F, T, F, T, T, F, T, F, F, T,
153 T, F, F, T, F, T, F, T, F, T,
154 F, T, F, T, T, F, T, F, F, T,
155 F, T, T, F, F, T, F, T, T, F,
156 F, T, T, F, F, T, F, T, T, F,
157 F, T, T, F, F, T, T, F, F, T,
158 F, T, T, F, F, T, F, T, T, F,
159 F, T, F, T, T, F, F, T, T, F,
160 F, T, F, T, T, F, F, T, T, F,
161 F, T, T, F, F, T, F, T, T, F,
162 T, F, F, T, F, T, F, T, F, T
166 main (void)
168 int i, j, *res = correct_results;
170 for (i = 0; i < 8; i++)
172 unsigned int arg0 = args[i];
173 for (j = 0; j < 8; j++)
175 unsigned int arg1 = args[j];
177 if (feq (arg0, arg1) != *res++)
178 abort ();
179 if (fne (arg0, arg1) != *res++)
180 abort ();
181 if (flt (arg0, arg1) != *res++)
182 abort ();
183 if (fge (arg0, arg1) != *res++)
184 abort ();
185 if (fgt (arg0, arg1) != *res++)
186 abort ();
187 if (fle (arg0, arg1) != *res++)
188 abort ();
189 if (fltu (arg0, arg1) != *res++)
190 abort ();
191 if (fgeu (arg0, arg1) != *res++)
192 abort ();
193 if (fgtu (arg0, arg1) != *res++)
194 abort ();
195 if (fleu (arg0, arg1) != *res++)
196 abort ();
199 exit (0);