196
|
1 /* Micro-C Code Generator Checker */
|
|
2 /* $Id$ */
|
|
3
|
|
4 #define FLOAT_CODE 1
|
237
|
5 #define LONGLONG_CODE 1
|
196
|
6
|
550
|
7 #ifdef INLINE
|
|
8 #else
|
|
9 #define INLINE
|
|
10 #endif
|
|
11
|
196
|
12 // code_lvar(int e2,int creg)
|
197
|
13
|
201
|
14 extern int printf(const char *fmt,...);
|
|
15
|
550
|
16 INLINE void
|
372
|
17 code_endian()
|
|
18 {
|
|
19 union {
|
|
20 unsigned char a[8];
|
|
21 unsigned short s;
|
|
22 unsigned int i;
|
|
23 unsigned long long l;
|
|
24 } u;
|
|
25 u.s = 0x0123;
|
550
|
26 printf("#0025:endian s : %02x %02x\n",u.a[0],u.a[1]);
|
372
|
27 u.i = 0x01234567;
|
550
|
28 printf("#0027:endian i : %02x %02x %02x %02x\n",u.a[0],u.a[1],u.a[2],u.a[3]);
|
372
|
29 u.l = 0x0123456789abcdefULL;
|
550
|
30 printf("#0029:endian l : %02x %02x %02x %02x\n",u.a[0],u.a[1],u.a[2],u.a[3]);
|
|
31 printf("#0030:endian l : %02x %02x %02x %02x\n",u.a[4],u.a[5],u.a[6],u.a[7]);
|
372
|
32 }
|
|
33
|
550
|
34 INLINE void
|
197
|
35 code_lvar()
|
|
36 {
|
|
37 char c1,c2;
|
|
38 unsigned char uc1,uc2;
|
|
39 int i1,i2;
|
|
40 short s1,s2;
|
201
|
41 unsigned short us1,us2;
|
197
|
42
|
|
43 i1 = 1; i2 = -2;
|
|
44 s1 = -1; s2 = -3; us1 = 65535; us2 = 65535;
|
550
|
45 printf("#0044:code_lvar %d %d %d %d %u %u\n",i1,i2,s1,s2,us1,us2);
|
201
|
46 c1 = -1; c2 = -3; uc1 = 200; uc2 = 202;
|
550
|
47 printf("#0046:code_lvar %d %d %u %u\n",c1,c2,uc1,uc2);
|
197
|
48 }
|
|
49
|
550
|
50 INLINE void
|
372
|
51 code_lvar_address()
|
|
52 {
|
|
53 char c1,c2,*p;
|
|
54 unsigned char uc1,uc2,*up;
|
|
55 int i1,i2,*ip;
|
|
56 short s1,s2,*sp;
|
|
57 unsigned short us1,us2,*usp;
|
|
58
|
|
59 ip = &i1; *ip = 1; ip = &i2 ; *ip = -2;
|
|
60 sp = &s1 ; *sp = -1; sp = &s2 ; *sp = -3;
|
|
61 usp = &us1 ; *usp = 65535; usp = &us2 ; *usp = 65535;
|
550
|
62 printf("#0061:code_lvar %d %d %d %d %u %u\n",i1,i2,s1,s2,us1,us2);
|
372
|
63 p = &c1;
|
|
64 *p = -1; p = &c2; *p = -3; up = &uc1; *up = 200; up=&uc2; *up = 202;
|
550
|
65 printf("#0064:code_lvar %d %d %u %u\n",c1,c2,uc1,uc2);
|
372
|
66 }
|
|
67
|
196
|
68 // code_label(int labelno)
|
550
|
69 INLINE void
|
197
|
70 code_label()
|
|
71 {
|
|
72 goto hoge;
|
|
73 hage:
|
|
74 goto hage;
|
|
75 hoge:
|
550
|
76 printf("#0075:code_label done\n");
|
197
|
77 }
|
|
78
|
322
|
79 // code_label(int labelno)
|
550
|
80 INLINE void
|
322
|
81 code_label1()
|
|
82 {
|
|
83 goto hoge;
|
|
84 hage:
|
|
85 goto hage;
|
|
86 hoge:
|
550
|
87 printf("#0086:code_label1 done\n");
|
322
|
88 }
|
|
89
|
196
|
90 // code_gvar(int e1,int creg)
|
|
91 // code_rgvar(int e1,int creg)
|
|
92 // code_crgvar(int e1,int creg,int sign,int sz)
|
197
|
93
|
|
94 char c1,c2;
|
|
95 unsigned char uc1,uc2;
|
|
96 static char s_c1,s_c2;
|
|
97 static unsigned char s_uc1,s_uc2;
|
|
98 int i1,i2;
|
201
|
99 unsigned int ui1,ui2;
|
197
|
100 short s1,s2;
|
201
|
101 unsigned short us1,us2;
|
197
|
102 static int s_i1,s_i2;
|
|
103 static short s_s1,s_s2;
|
201
|
104 static unsigned short s_us1,s_us2;
|
197
|
105 #if FLOAT_CODE
|
|
106 float f0,f1;
|
|
107 double d0,d1;
|
|
108 static float s_f0,s_f1;
|
|
109 static double s_d0,s_d1;
|
|
110 #endif
|
|
111 #if LONGLONG_CODE
|
|
112 long long l0,l1;
|
|
113 unsigned long long ul0,ul1;
|
|
114 static long long s_l0,s_l1;
|
|
115 static unsigned long long s_ul0,s_ul1;
|
|
116 #endif
|
|
117
|
550
|
118 INLINE void
|
197
|
119 code_gvar()
|
|
120 {
|
|
121 i1 = 1; i2 = -2;
|
|
122 s1 = -1; s2 = -3; us1 = 65535; us2 = 65535;
|
550
|
123 printf("#0122:code_gvar a %d %d %u %u %u %u\n",i1,i2,s1,s2,us1,us2);
|
201
|
124 c1 = -1; c2 = -3; uc1 = 200; uc2 = 202;
|
550
|
125 printf("#0124:code_gvar b %d %d %u %u\n",c1,c2,uc1,uc2);
|
200
|
126
|
197
|
127 s_i1 = 1; s_i2 = 2;
|
|
128 s_s1 = -1; s_s2 = -3; s_us1 = 65535; s_us2 = 65535;
|
550
|
129 printf("#0128:code_gvar c %d %d %u %u %u %u\n",s_i1,s_i2,s1,s_s2,s_us1,s_us2);
|
201
|
130 s_c1 = -1; s_c2 = -3; s_uc1 = 200; s_uc2 = 202;
|
550
|
131 printf("#0130:code_gvar d %d %d %u %u\n",s_c1,s_c2,s_uc1,s_uc2);
|
489
|
132 s_i1 = 1; s_i2 = -2;
|
197
|
133 }
|
|
134
|
196
|
135 // code_register(int e2,int creg)
|
197
|
136
|
550
|
137 INLINE void
|
197
|
138 code_register()
|
|
139 {
|
|
140 register char c1,c2;
|
|
141 register unsigned char uc1,uc2;
|
|
142 register int i1,i2;
|
|
143 register short s1,s2;
|
201
|
144 register unsigned short us1,us2;
|
197
|
145
|
489
|
146 s_i1 = 1; s_i2 = -2; // check ptr cache clear
|
|
147
|
197
|
148 i1 = 1; i2 = -2;
|
|
149 s1 = -1; s2 = -3; us1 = 65535; us2 = 65535;
|
550
|
150 printf("#0149:code_lvar r %d %d %u %u %u %u\n",i1,i2,s1,s2,us1,us2);
|
201
|
151 c1 = -1; c2 = -3; uc1 = 200; uc2 = 202;
|
550
|
152 printf("#0151:code_gvar r %d %d %u %u\n",c1,c2,uc1,uc2);
|
197
|
153 }
|
|
154
|
196
|
155 // code_fname(NMTBL *n,int creg)
|
197
|
156
|
629
|
157 extern void exit();
|
550
|
158 INLINE void
|
197
|
159 code_fname()
|
|
160 {
|
629
|
161 int i,j,k;
|
197
|
162 i = (int)code_fname;
|
|
163 j = (int)code_register;
|
629
|
164 k = (int)exit;
|
|
165 printf("#0162:code_fname %d %d\n",i==j,i==k);
|
197
|
166 }
|
|
167
|
|
168
|
196
|
169 // code_neg(int creg)
|
550
|
170 INLINE void
|
197
|
171 code_neg()
|
|
172 {
|
|
173 int i,j;
|
|
174 i = 123123123;j = -32423;
|
550
|
175 printf("#0172:code_neg %d %d\n",-i,-j);
|
197
|
176 }
|
|
177
|
196
|
178 // code_not(int creg)
|
550
|
179 INLINE void
|
197
|
180 code_not()
|
|
181 {
|
|
182 int i,j;
|
|
183 i = 123123123;j = 0;
|
550
|
184 printf("#0181:code_neg %d %d\n",~i,~j);
|
197
|
185 }
|
|
186
|
196
|
187 // code_lnot(int creg)
|
550
|
188 INLINE void
|
197
|
189 code_lnot()
|
|
190 {
|
|
191 int i,j;
|
|
192 i = 123123123;j = 0;
|
550
|
193 printf("#0190:code_neg %d %d\n",!i,!j);
|
197
|
194 }
|
|
195
|
196
|
196 // code_preinc(int e1,int e2,int dir,int sign,int sz,int reg)
|
550
|
197 INLINE void
|
197
|
198 code_preinc()
|
|
199 {
|
|
200 int i,j;
|
|
201 i = 123123123;j = 0;
|
550
|
202 printf("#0199:code_preinc i %d %d",++i,--j);
|
|
203 printf("#0200: %d %d\n",i,j);
|
197
|
204 }
|
|
205
|
196
|
206 // code_postinc(int e1,int e2,int dir,int sign,int sz,int reg)
|
550
|
207 INLINE void
|
200
|
208 code_upostinc()
|
|
209 {
|
201
|
210 unsigned int i,j;
|
200
|
211 i = 123123123;j = 0;
|
550
|
212 printf("#0209:code_upreinc u %d %d",i++,j--);
|
|
213 printf("#0210: %d %d\n",i,j);
|
200
|
214 }
|
|
215
|
|
216 // code_postinc(int e1,int e2,int dir,int sign,int sz,int reg)
|
550
|
217 INLINE void
|
197
|
218 code_postinc()
|
|
219 {
|
|
220 int i,j;
|
|
221 i = 123123123;j = 0;
|
550
|
222 printf("#0219:code_postinc i %d %d",i++,j--);
|
|
223 printf("#0220: %d %d\n",i,j);
|
197
|
224 }
|
|
225
|
200
|
226 // code_preinc(int e1,int e2,int dir,int sign,int sz,int reg)
|
550
|
227 INLINE void
|
200
|
228 code_upreinc()
|
|
229 {
|
|
230 unsigned int i,j;
|
|
231 i = 123123123;j = 0;
|
550
|
232 printf("#0229:code_upreinc u %d %d",++i,--j);
|
|
233 printf("#0230: %d %d\n",i,j);
|
273
|
234 }
|
|
235
|
|
236 // code_preinc(int e1,int e2,int dir,int sign,int sz,int reg)
|
550
|
237 INLINE void
|
273
|
238 code_register_preinc()
|
|
239 {
|
|
240 register int i,j;
|
|
241 i = 123123123;j = 0;
|
550
|
242 printf("#0239:code_preinc i r %d %d",++i,--j);
|
|
243 printf("#0240: %d %d\n",i,j);
|
273
|
244 }
|
|
245
|
|
246 // code_postinc(int e1,int e2,int dir,int sign,int sz,int reg)
|
550
|
247 INLINE void
|
273
|
248 code_register_upostinc()
|
|
249 {
|
|
250 register unsigned int i,j;
|
|
251 i = 123123123;j = 0;
|
550
|
252 printf("#0249:code_upreinc u r %d %d",i++,j--);
|
|
253 printf("#0250: %d %d\n",i,j);
|
273
|
254 }
|
|
255
|
|
256 // code_postinc(int e1,int e2,int dir,int sign,int sz,int reg)
|
550
|
257 INLINE void
|
273
|
258 code_register_postinc()
|
|
259 {
|
|
260 register int i,j;
|
|
261 i = 123123123;j = 0;
|
550
|
262 printf("#0259:code_postinc i r %d %d",i++,j--);
|
|
263 printf("#0260: %d %d\n",i,j);
|
273
|
264 }
|
|
265
|
|
266 // code_register_preinc(int e1,int e2,int dir,int sign,int sz,int reg)
|
550
|
267 INLINE void
|
273
|
268 code_register_upreinc()
|
|
269 {
|
|
270 register unsigned int i,j;
|
|
271 i = 123123123;j = 0;
|
550
|
272 printf("#0269:code_upreinc u r %d %d",++i,--j);
|
|
273 printf("#0270: %d %d\n",i,j);
|
200
|
274 }
|
|
275
|
196
|
276 // code_return(int creg)
|
197
|
277
|
201
|
278
|
550
|
279 INLINE int
|
201
|
280 code_return_int0()
|
|
281 {
|
|
282 return 1;
|
|
283 }
|
550
|
284 INLINE void
|
197
|
285 code_return_int()
|
|
286 {
|
550
|
287 printf("#0284:code_return_int %d\n",code_return_int0());
|
197
|
288 }
|
|
289
|
200
|
290 #if FLOAT_CODE
|
550
|
291 INLINE float
|
201
|
292 code_return_float0()
|
197
|
293 {
|
|
294 return 1.0;
|
|
295 }
|
550
|
296 INLINE void
|
201
|
297 code_return_float()
|
|
298 {
|
550
|
299 printf("#0296:code_return_float %g\n",code_return_float0());
|
201
|
300 }
|
197
|
301
|
550
|
302 INLINE double
|
201
|
303 code_return_double0()
|
197
|
304 {
|
|
305 return 1.0;
|
|
306 }
|
550
|
307 INLINE void
|
201
|
308 code_return_double()
|
|
309 {
|
550
|
310 printf("#0307:code_return_double %g\n",code_return_double0());
|
201
|
311 }
|
|
312
|
200
|
313 #endif
|
197
|
314
|
200
|
315 #if LONGLONG_CODE
|
550
|
316 INLINE long long
|
201
|
317 code_return_longlong0()
|
197
|
318 {
|
|
319 return 10LL;
|
|
320 }
|
550
|
321 INLINE void
|
201
|
322 code_return_longlong()
|
|
323 {
|
550
|
324 printf("#0321:code_return_longlong %lld\n",code_return_longlong0());
|
201
|
325 }
|
|
326
|
200
|
327 #endif
|
197
|
328
|
|
329 struct aa { char a[100]; } a0;
|
550
|
330 INLINE struct aa
|
223
|
331 code_return_struct0(/*int j*/)
|
197
|
332 {
|
|
333 a0.a[55]=3;
|
|
334 return a0;
|
|
335 }
|
|
336
|
550
|
337 INLINE void
|
203
|
338 code_return_struct1()
|
|
339 {
|
223
|
340 int i = code_return_struct0(/*1*/).a[55];
|
|
341 // int i;
|
|
342 // i = code_return_struct0(i).a[55];
|
550
|
343 printf("#0340:code_return_struct %d\n", i);
|
203
|
344 }
|
|
345
|
550
|
346 INLINE void
|
201
|
347 code_return_struct()
|
|
348 {
|
550
|
349 printf("#0346:code_return_struct %d\n", code_return_struct0().a[55]);
|
201
|
350 }
|
|
351
|
196
|
352 // code_gt(int cond)
|
197
|
353
|
550
|
354 INLINE void
|
227
|
355 code_gt()
|
197
|
356 {
|
441
|
357 int reg,mthree=-3,seven=7,mtwo=-2,zero=0,three=3;
|
197
|
358 if (i1>i2)
|
550
|
359 printf("#0356:code_gt 1\n");
|
197
|
360 else
|
550
|
361 printf("#0358:code_gt 0\n");
|
280
|
362 for (reg=-3;reg<7;reg++) {
|
|
363 if (0<reg && reg<3)
|
550
|
364 printf("#0361:reg=%d code_gt 0<reg && reg <3\n",reg);
|
280
|
365 }
|
|
366 for (reg=-3;reg<7;reg++) {
|
|
367 if (-2<reg && reg<0)
|
550
|
368 printf("#0365:reg=%d code_gt -2<reg && reg <0\n",reg);
|
280
|
369 }
|
441
|
370 for (reg=mthree;reg<seven;reg++) {
|
|
371 if (zero<reg && reg<three)
|
550
|
372 printf("#0369:reg=%d code_gt 0<reg && reg <3\n",reg);
|
441
|
373 }
|
|
374 for (reg=mthree;reg<seven;reg++) {
|
|
375 if (mtwo<reg && reg<zero)
|
550
|
376 printf("#0373:reg=%d code_gt -2<reg && reg <0\n",reg);
|
441
|
377 }
|
280
|
378
|
197
|
379 }
|
|
380
|
196
|
381 // code_ugt(int cond)
|
550
|
382 INLINE void
|
227
|
383 code_ugt()
|
197
|
384 {
|
441
|
385 unsigned reg,zero=0,one=1,seven=7,three=3,five=5;
|
197
|
386 if (ui1>ui2)
|
550
|
387 printf("#0384:code_ugt 1\n");
|
197
|
388 else
|
550
|
389 printf("#0386:code_ugt 0\n");
|
280
|
390 for (reg=0;reg<7;reg++) {
|
|
391 if (0<reg && reg<3)
|
550
|
392 printf("#0389:reg=%d code_ugt 0<reg && reg <3\n",reg);
|
280
|
393 }
|
|
394 for (reg=0;reg<7;reg++) {
|
|
395 if (1<reg && reg<5)
|
550
|
396 printf("#0393:reg=%d code_ugt 1<reg && reg <5\n",reg);
|
441
|
397 }
|
|
398 for (reg=zero;reg<seven;reg++) {
|
|
399 if (zero<reg && reg<three)
|
550
|
400 printf("#0397:reg=%d code_ugt 0<reg && reg <3\n",reg);
|
441
|
401 }
|
|
402 for (reg=zero;reg<seven;reg++) {
|
|
403 if (one<reg && reg<five)
|
550
|
404 printf("#0401:reg=%d code_ugt 1<reg && reg <5\n",reg);
|
280
|
405 }
|
197
|
406 }
|
|
407
|
196
|
408 // code_ge(int cond)
|
550
|
409 INLINE void
|
227
|
410 code_ge()
|
197
|
411 {
|
441
|
412 int reg,mthree=-3,seven=7,mtwo=-2,zero=0,three=3;
|
197
|
413 if (i1>=i2)
|
550
|
414 printf("#0411:code_ge 1\n");
|
197
|
415 else
|
550
|
416 printf("#0413:code_ge 0\n");
|
280
|
417 for (reg=-3;reg<7;reg++) {
|
|
418 if (0<=reg && reg<=3)
|
550
|
419 printf("#0416:reg=%d code_ge 0<=reg && reg <=3\n",reg);
|
280
|
420 }
|
|
421 for (reg=-3;reg<7;reg++) {
|
|
422 if (-2<=reg && reg<=0)
|
550
|
423 printf("#0420:reg=%d code_ge -2<=reg && reg <=0\n",reg);
|
441
|
424 }
|
|
425 for (reg=mthree;reg<seven;reg++) {
|
|
426 if (zero<=reg && reg<=three)
|
550
|
427 printf("#0424:reg=%d code_ge 0<=reg && reg <=3\n",reg);
|
441
|
428 }
|
|
429 for (reg=mthree;reg<seven;reg++) {
|
|
430 if (mtwo<=reg && reg<=zero)
|
550
|
431 printf("#0428:reg=%d code_ge -2<=reg && reg <=0\n",reg);
|
280
|
432 }
|
197
|
433 }
|
|
434
|
196
|
435 // code_uge(int cond)
|
550
|
436 INLINE void
|
227
|
437 code_uge()
|
197
|
438 {
|
441
|
439 unsigned reg,zero=0,one=1,seven=7,three=3,five=5;
|
197
|
440 if (ui1>=ui2)
|
550
|
441 printf("#0438:code_uge 1\n");
|
197
|
442 else
|
550
|
443 printf("#0440:code_uge 0\n");
|
280
|
444 for (reg=0;reg<7;reg++) {
|
|
445 if (0<=reg && reg<=3)
|
550
|
446 printf("#0443:reg=%d code_uge 0<=reg && reg <=3\n",reg);
|
280
|
447 }
|
|
448 for (reg=0;reg<7;reg++) {
|
|
449 if (1<=reg && reg<=5)
|
550
|
450 printf("#0447:reg=%d code_uge 1<=reg && reg <=5\n",reg);
|
441
|
451 }
|
|
452 for (reg=zero;reg<seven;reg++) {
|
|
453 if (zero<=reg && reg<=three)
|
550
|
454 printf("#0451:reg=%d code_uge 0<=reg && reg <=3\n",reg);
|
441
|
455 }
|
|
456 for (reg=zero;reg<seven;reg++) {
|
|
457 if (one<=reg && reg<=five)
|
550
|
458 printf("#0455:reg=%d code_uge 1<=reg && reg <=5\n",reg);
|
280
|
459 }
|
197
|
460 }
|
|
461
|
196
|
462 // code_eq(int cond)
|
550
|
463 INLINE void
|
227
|
464 code_eq()
|
197
|
465 {
|
441
|
466 unsigned int ui3 = 3;
|
|
467 int i3 = 3;
|
|
468
|
197
|
469 if (ui1==ui2)
|
550
|
470 printf("#0467:code_eq 1\n");
|
441
|
471 else
|
550
|
472 printf("#0469:code_eq 0\n");
|
441
|
473 if (i1!=i2)
|
550
|
474 printf("#0471:code_neq 1\n");
|
197
|
475 else
|
550
|
476 printf("#0473:code_neq 0\n");
|
441
|
477
|
|
478 if (3==ui3)
|
550
|
479 printf("#0476:code_eq 1\n");
|
197
|
480 else
|
550
|
481 printf("#0478:code_eq 0\n");
|
441
|
482 if (3!=i3)
|
550
|
483 printf("#0480:code_neq 1\n");
|
441
|
484 else
|
550
|
485 printf("#0482:code_neq 0\n");
|
197
|
486 }
|
|
487
|
|
488 // code_bool(int e1)
|
|
489
|
550
|
490 INLINE void
|
197
|
491 code_bool()
|
|
492 {
|
276
|
493 int i1l,i2l;
|
|
494 unsigned int ui1l,ui2l;
|
|
495
|
288
|
496 ui2 = ui1-3;
|
|
497 for(i2=i1-3;i2<i1+3;i2++) {
|
550
|
498 printf("#0495:code_bool %d>%d gvar %d\n",i1,i2,i1>i2);
|
|
499 printf("#0496:code_bool %u>%u gvar %d u\n",ui1,ui2,ui1>ui2);
|
|
500 printf("#0497:code_bool %d>=%d gvar %d\n",i1,i2,i1>=i2);
|
|
501 printf("#0498:code_bool %u>=%u gvar %d u\n",ui1,ui2,ui1>=ui2);
|
|
502 printf("#0499:code_bool %d<%d gvar %d\n",i1,i2,i1<i2);
|
|
503 printf("#0500:code_bool %u<%u gvar %d u\n",ui1,ui2,ui1<ui2);
|
|
504 printf("#0501:code_bool %d<=%d gvar %d\n",i1,i2,i1<=i2);
|
|
505 printf("#0502:code_bool %u<=%u gvar %d u\n",ui1,ui2,ui1<=ui2);
|
|
506 printf("#0503:code_bool %u==%u gvar %d u\n",ui1,ui2,ui1==ui2);
|
|
507 printf("#0504:code_bool %u!=%u gvar %d\n",i1,i2,i1!=i2);
|
288
|
508 ui2++;
|
|
509 }
|
|
510 ui1l = ui1;
|
|
511 i1l = i1;
|
|
512 ui2l = ui1-3;
|
|
513 for(i2l=i1-3;i2l<i1l+3;i2l++) {
|
550
|
514 printf("#0511:code_bool %d>%d lvar %d\n",i1l,i2l,i1l>i2l);
|
|
515 printf("#0512:code_bool %u>%u lvar %d u\n",ui1l,ui2l,ui1l>ui2l);
|
|
516 printf("#0513:code_bool %d>=%d lvar %d\n",i1l,i2l,i1l>=i2l);
|
|
517 printf("#0514:code_bool %u>=%u lvar %d u\n",ui1l,ui2l,ui1l>=ui2l);
|
|
518 printf("#0515:code_bool %d<%d lvar %d\n",i1l,i2l,i1l<i2l);
|
|
519 printf("#0516:code_bool %u<%u lvar %d u\n",ui1l,ui2l,ui1l<ui2l);
|
|
520 printf("#0517:code_bool %d<=%d lvar %d\n",i1l,i2l,i1l<=i2l);
|
|
521 printf("#0518:code_bool %u<=%u lvar %d u\n",ui1l,ui2l,ui1l<=ui2l);
|
|
522 printf("#0519:code_bool %u==%u lvar %d u\n",ui1l,ui2l,ui1l==ui2l);
|
|
523 printf("#0520:code_bool %u!=%u lvar %d\n",i1l,i2l,i1l!=i2l);
|
441
|
524 ui2l++;
|
|
525 }
|
|
526 }
|
|
527
|
550
|
528 INLINE void
|
441
|
529 code_bool_const()
|
|
530 {
|
|
531 int i1l,i2l;
|
|
532 unsigned int ui1l,ui2l;
|
|
533
|
|
534 ui2 = ui1-3;
|
|
535 for(i2=i1-3;i2<i1+3;i2++) {
|
550
|
536 printf("#0533:code_bool_const %d>%d gvar %d\n",-4,i2,-4>i2);
|
|
537 printf("#0534:code_bool_const %u>%u gvar %d u\n",0,ui2,0>ui2);
|
|
538 printf("#0535:code_bool_const %d>=%d gvar %d\n",-4,i2,-4>=i2);
|
|
539 printf("#0536:code_bool_const %u>=%u gvar %d u\n",0,ui2,0>=ui2);
|
|
540 printf("#0537:code_bool_const %d<%d gvar %d\n",-4,i2,-4<i2);
|
|
541 printf("#0538:code_bool_const %u<%u gvar %d u\n",0,ui2,0<ui2);
|
|
542 printf("#0539:code_bool_const %d<=%d gvar %d\n",-4,i2,-4<=i2);
|
|
543 printf("#0540:code_bool_const %u<=%u gvar %d u\n",0,ui2,0<=ui2);
|
|
544 printf("#0541:code_bool_const %u==%u gvar %d u\n",0,ui2,0==ui2);
|
|
545 printf("#0542:code_bool_const %u!=%u gvar %d\n",-4,i2,-4!=i2);
|
|
546 printf("#0543:code_bool_const %d>%d gvar %d\n",-3,i2,-3>i2);
|
|
547 printf("#0544:code_bool_const %u>%u gvar %d u\n",1,ui2,1>ui2);
|
|
548 printf("#0545:code_bool_const %d>=%d gvar %d\n",-3,i2,-3>=i2);
|
|
549 printf("#0546:code_bool_const %u>=%u gvar %d u\n",1,ui2,1>=ui2);
|
|
550 printf("#0547:code_bool_const %d<%d gvar %d\n",-3,i2,-3<i2);
|
|
551 printf("#0548:code_bool_const %u<%u gvar %d u\n",1,ui2,1<ui2);
|
|
552 printf("#0549:code_bool_const %d<=%d gvar %d\n",-3,i2,-3<=i2);
|
|
553 printf("#0550:code_bool_const %u<=%u gvar %d u\n",1,ui2,1<=ui2);
|
|
554 printf("#0551:code_bool_const %u==%u gvar %d u\n",1,ui2,1==ui2);
|
|
555 printf("#0552:code_bool_const %u!=%u gvar %d\n",-3,i2,-3!=i2);
|
|
556 printf("#0553:code_bool_const %d>%d gvar %d\n",-2,i2,-2>i2);
|
|
557 printf("#0554:code_bool_const %u>%u gvar %d u\n",2,ui2,2>ui2);
|
|
558 printf("#0555:code_bool_const %d>=%d gvar %d\n",-2,i2,-2>=i2);
|
|
559 printf("#0556:code_bool_const %u>=%u gvar %d u\n",2,ui2,2>=ui2);
|
|
560 printf("#0557:code_bool_const %d<%d gvar %d\n",-2,i2,-2<i2);
|
|
561 printf("#0558:code_bool_const %u<%u gvar %d u\n",2,ui2,2<ui2);
|
|
562 printf("#0559:code_bool_const %d<=%d gvar %d\n",-2,i2,-2<=i2);
|
|
563 printf("#0560:code_bool_const %u<=%u gvar %d u\n",2,ui2,2<=ui2);
|
|
564 printf("#0561:code_bool_const %u==%u gvar %d u\n",2,ui2,2==ui2);
|
|
565 printf("#0562:code_bool_const %u!=%u gvar %d\n",-2,i2,-2!=i2);
|
|
566 printf("#0563:code_bool_const %d>%d gvar %d\n",-1,i2,-1>i2);
|
|
567 printf("#0564:code_bool_const %u>%u gvar %d u\n",3,ui2,3>ui2);
|
|
568 printf("#0565:code_bool_const %d>=%d gvar %d\n",-1,i2,-1>=i2);
|
|
569 printf("#0566:code_bool_const %u>=%u gvar %d u\n",3,ui2,3>=ui2);
|
|
570 printf("#0567:code_bool_const %d<%d gvar %d\n",-1,i2,-1<i2);
|
|
571 printf("#0568:code_bool_const %u<%u gvar %d u\n",3,ui2,3<ui2);
|
|
572 printf("#0569:code_bool_const %d<=%d gvar %d\n",-1,i2,-1<=i2);
|
|
573 printf("#0570:code_bool_const %u<=%u gvar %d u\n",3,ui2,3<=ui2);
|
|
574 printf("#0571:code_bool_const %u==%u gvar %d u\n",3,ui2,3==ui2);
|
|
575 printf("#0572:code_bool_const %u!=%u gvar %d\n",-1,i2,-1!=i2);
|
|
576 printf("#0573:code_bool_const %d>%d gvar %d\n",0,i2,0>i2);
|
|
577 printf("#0574:code_bool_const %u>%u gvar %d u\n",4,ui2,4>ui2);
|
|
578 printf("#0575:code_bool_const %d>=%d gvar %d\n",0,i2,0>=i2);
|
|
579 printf("#0576:code_bool_const %u>=%u gvar %d u\n",4,ui2,4>=ui2);
|
|
580 printf("#0577:code_bool_const %d<%d gvar %d\n",0,i2,0<i2);
|
|
581 printf("#0578:code_bool_const %u<%u gvar %d u\n",4,ui2,4<ui2);
|
|
582 printf("#0579:code_bool_const %d<=%d gvar %d\n",0,i2,0<=i2);
|
|
583 printf("#0580:code_bool_const %u<=%u gvar %d u\n",4,ui2,4<=ui2);
|
|
584 printf("#0581:code_bool_const %u==%u gvar %d u\n",4,ui2,4==ui2);
|
|
585 printf("#0582:code_bool_const %u!=%u gvar %d\n",0,i2,0!=i2);
|
|
586 printf("#0583:code_bool_const %d>%d gvar %d\n",1,i2,1>i2);
|
|
587 printf("#0584:code_bool_const %u>%u gvar %d u\n",5,ui2,5>ui2);
|
|
588 printf("#0585:code_bool_const %d>=%d gvar %d\n",1,i2,1>=i2);
|
|
589 printf("#0586:code_bool_const %u>=%u gvar %d u\n",5,ui2,5>=ui2);
|
|
590 printf("#0587:code_bool_const %d<%d gvar %d\n",1,i2,1<i2);
|
|
591 printf("#0588:code_bool_const %u<%u gvar %d u\n",5,ui2,5<ui2);
|
|
592 printf("#0589:code_bool_const %d<=%d gvar %d\n",1,i2,1<=i2);
|
|
593 printf("#0590:code_bool_const %u<=%u gvar %d u\n",5,ui2,5<=ui2);
|
|
594 printf("#0591:code_bool_const %u==%u gvar %d u\n",5,ui2,5==ui2);
|
|
595 printf("#0592:code_bool_const %u!=%u gvar %d\n",1,i2,1!=i2);
|
|
596 printf("#0593:code_bool_const %d>%d gvar %d\n",2,i2,2>i2);
|
|
597 printf("#0594:code_bool_const %u>%u gvar %d u\n",6,ui2,6>ui2);
|
|
598 printf("#0595:code_bool_const %d>=%d gvar %d\n",2,i2,2>=i2);
|
|
599 printf("#0596:code_bool_const %u>=%u gvar %d u\n",6,ui2,6>=ui2);
|
|
600 printf("#0597:code_bool_const %d<%d gvar %d\n",2,i2,2<i2);
|
|
601 printf("#0598:code_bool_const %u<%u gvar %d u\n",6,ui2,6<ui2);
|
|
602 printf("#0599:code_bool_const %d<=%d gvar %d\n",2,i2,2<=i2);
|
|
603 printf("#0600:code_bool_const %u<=%u gvar %d u\n",6,ui2,6<=ui2);
|
|
604 printf("#0601:code_bool_const %u==%u gvar %d u\n",6,ui2,6==ui2);
|
|
605 printf("#0602:code_bool_const %u!=%u gvar %d\n",2,i2,2!=i2);
|
|
606 printf("#0603:code_bool_const %d>%d gvar %d\n",3,i2,3>i2);
|
|
607 printf("#0604:code_bool_const %u>%u gvar %d u\n",7,ui2,7>ui2);
|
|
608 printf("#0605:code_bool_const %d>=%d gvar %d\n",3,i2,3>=i2);
|
|
609 printf("#0606:code_bool_const %u>=%u gvar %d u\n",7,ui2,7>=ui2);
|
|
610 printf("#0607:code_bool_const %d<%d gvar %d\n",3,i2,3<i2);
|
|
611 printf("#0608:code_bool_const %u<%u gvar %d u\n",7,ui2,7<ui2);
|
|
612 printf("#0609:code_bool_const %d<=%d gvar %d\n",3,i2,3<=i2);
|
|
613 printf("#0610:code_bool_const %u<=%u gvar %d u\n",7,ui2,7<=ui2);
|
|
614 printf("#0611:code_bool_const %u==%u gvar %d u\n",7,ui2,7==ui2);
|
|
615 printf("#0612:code_bool_const %u!=%u gvar %d\n",3,i2,3!=i2);
|
441
|
616 ui2++;
|
|
617 }
|
|
618 ui1l = ui1;
|
|
619 i1l = i1;
|
|
620 ui2l = ui1-3;
|
|
621 for(i2l=i1-3;i2l<i1l+3;i2l++) {
|
550
|
622 printf("#0619:code_bool_const %d>%d gvar %d\n",-4,i2l,-4>i2l);
|
|
623 printf("#0620:code_bool_const %u>%u gvar %d u\n",0,ui2l,0>ui2l);
|
|
624 printf("#0621:code_bool_const %d>=%d gvar %d\n",-4,i2l,-4>=i2l);
|
|
625 printf("#0622:code_bool_const %u>=%u gvar %d u\n",0,ui2l,0>=ui2l);
|
|
626 printf("#0623:code_bool_const %d<%d gvar %d\n",-4,i2l,-4<i2l);
|
|
627 printf("#0624:code_bool_const %u<%u gvar %d u\n",0,ui2l,0<ui2l);
|
|
628 printf("#0625:code_bool_const %d<=%d gvar %d\n",-4,i2l,-4<=i2l);
|
|
629 printf("#0626:code_bool_const %u<=%u gvar %d u\n",0,ui2l,0<=ui2l);
|
|
630 printf("#0627:code_bool_const %u==%u gvar %d u\n",0,ui2l,0==ui2l);
|
|
631 printf("#0628:code_bool_const %u!=%u gvar %d\n",-4,i2l,-4!=i2l);
|
|
632 printf("#0629:code_bool_const %d>%d gvar %d\n",-3,i2l,-3>i2l);
|
|
633 printf("#0630:code_bool_const %u>%u gvar %d u\n",1,ui2l,1>ui2l);
|
|
634 printf("#0631:code_bool_const %d>=%d gvar %d\n",-3,i2l,-3>=i2l);
|
|
635 printf("#0632:code_bool_const %u>=%u gvar %d u\n",1,ui2l,1>=ui2l);
|
|
636 printf("#0633:code_bool_const %d<%d gvar %d\n",-3,i2l,-3<i2l);
|
|
637 printf("#0634:code_bool_const %u<%u gvar %d u\n",1,ui2l,1<ui2l);
|
|
638 printf("#0635:code_bool_const %d<=%d gvar %d\n",-3,i2l,-3<=i2l);
|
|
639 printf("#0636:code_bool_const %u<=%u gvar %d u\n",1,ui2l,1<=ui2l);
|
|
640 printf("#0637:code_bool_const %u==%u gvar %d u\n",1,ui2l,1==ui2l);
|
|
641 printf("#0638:code_bool_const %u!=%u gvar %d\n",-3,i2l,-3!=i2l);
|
|
642 printf("#0639:code_bool_const %d>%d gvar %d\n",-2,i2l,-2>i2l);
|
|
643 printf("#0640:code_bool_const %u>%u gvar %d u\n",2,ui2l,2>ui2l);
|
|
644 printf("#0641:code_bool_const %d>=%d gvar %d\n",-2,i2l,-2>=i2l);
|
|
645 printf("#0642:code_bool_const %u>=%u gvar %d u\n",2,ui2l,2>=ui2l);
|
|
646 printf("#0643:code_bool_const %d<%d gvar %d\n",-2,i2l,-2<i2l);
|
|
647 printf("#0644:code_bool_const %u<%u gvar %d u\n",2,ui2l,2<ui2l);
|
|
648 printf("#0645:code_bool_const %d<=%d gvar %d\n",-2,i2l,-2<=i2l);
|
|
649 printf("#0646:code_bool_const %u<=%u gvar %d u\n",2,ui2l,2<=ui2l);
|
|
650 printf("#0647:code_bool_const %u==%u gvar %d u\n",2,ui2l,2==ui2l);
|
|
651 printf("#0648:code_bool_const %u!=%u gvar %d\n",-2,i2l,-2!=i2l);
|
|
652 printf("#0649:code_bool_const %d>%d gvar %d\n",-1,i2l,-1>i2l);
|
|
653 printf("#0650:code_bool_const %u>%u gvar %d u\n",3,ui2l,3>ui2l);
|
|
654 printf("#0651:code_bool_const %d>=%d gvar %d\n",-1,i2l,-1>=i2l);
|
|
655 printf("#0652:code_bool_const %u>=%u gvar %d u\n",3,ui2l,3>=ui2l);
|
|
656 printf("#0653:code_bool_const %d<%d gvar %d\n",-1,i2l,-1<i2l);
|
|
657 printf("#0654:code_bool_const %u<%u gvar %d u\n",3,ui2l,3<ui2l);
|
|
658 printf("#0655:code_bool_const %d<=%d gvar %d\n",-1,i2l,-1<=i2l);
|
|
659 printf("#0656:code_bool_const %u<=%u gvar %d u\n",3,ui2l,3<=ui2l);
|
|
660 printf("#0657:code_bool_const %u==%u gvar %d u\n",3,ui2l,3==ui2l);
|
|
661 printf("#0658:code_bool_const %u!=%u gvar %d\n",-1,i2l,-1!=i2l);
|
|
662 printf("#0659:code_bool_const %d>%d gvar %d\n",0,i2l,0>i2l);
|
|
663 printf("#0660:code_bool_const %u>%u gvar %d u\n",4,ui2l,4>ui2l);
|
|
664 printf("#0661:code_bool_const %d>=%d gvar %d\n",0,i2l,0>=i2l);
|
|
665 printf("#0662:code_bool_const %u>=%u gvar %d u\n",4,ui2l,4>=ui2l);
|
|
666 printf("#0663:code_bool_const %d<%d gvar %d\n",0,i2l,0<i2l);
|
|
667 printf("#0664:code_bool_const %u<%u gvar %d u\n",4,ui2l,4<ui2l);
|
|
668 printf("#0665:code_bool_const %d<=%d gvar %d\n",0,i2l,0<=i2l);
|
|
669 printf("#0666:code_bool_const %u<=%u gvar %d u\n",4,ui2l,4<=ui2l);
|
|
670 printf("#0667:code_bool_const %u==%u gvar %d u\n",4,ui2l,4==ui2l);
|
|
671 printf("#0668:code_bool_const %u!=%u gvar %d\n",0,i2l,0!=i2l);
|
|
672 printf("#0669:code_bool_const %d>%d gvar %d\n",1,i2l,1>i2l);
|
|
673 printf("#0670:code_bool_const %u>%u gvar %d u\n",5,ui2l,5>ui2l);
|
|
674 printf("#0671:code_bool_const %d>=%d gvar %d\n",1,i2l,1>=i2l);
|
|
675 printf("#0672:code_bool_const %u>=%u gvar %d u\n",5,ui2l,5>=ui2l);
|
|
676 printf("#0673:code_bool_const %d<%d gvar %d\n",1,i2l,1<i2l);
|
|
677 printf("#0674:code_bool_const %u<%u gvar %d u\n",5,ui2l,5<ui2l);
|
|
678 printf("#0675:code_bool_const %d<=%d gvar %d\n",1,i2l,1<=i2l);
|
|
679 printf("#0676:code_bool_const %u<=%u gvar %d u\n",5,ui2l,5<=ui2l);
|
|
680 printf("#0677:code_bool_const %u==%u gvar %d u\n",5,ui2l,5==ui2l);
|
|
681 printf("#0678:code_bool_const %u!=%u gvar %d\n",1,i2l,1!=i2l);
|
|
682 printf("#0679:code_bool_const %d>%d gvar %d\n",2,i2l,2>i2l);
|
|
683 printf("#0680:code_bool_const %u>%u gvar %d u\n",6,ui2l,6>ui2l);
|
|
684 printf("#0681:code_bool_const %d>=%d gvar %d\n",2,i2l,2>=i2l);
|
|
685 printf("#0682:code_bool_const %u>=%u gvar %d u\n",6,ui2l,6>=ui2l);
|
|
686 printf("#0683:code_bool_const %d<%d gvar %d\n",2,i2l,2<i2l);
|
|
687 printf("#0684:code_bool_const %u<%u gvar %d u\n",6,ui2l,6<ui2l);
|
|
688 printf("#0685:code_bool_const %d<=%d gvar %d\n",2,i2l,2<=i2l);
|
|
689 printf("#0686:code_bool_const %u<=%u gvar %d u\n",6,ui2l,6<=ui2l);
|
|
690 printf("#0687:code_bool_const %u==%u gvar %d u\n",6,ui2l,6==ui2l);
|
|
691 printf("#0688:code_bool_const %u!=%u gvar %d\n",2,i2l,2!=i2l);
|
|
692 printf("#0689:code_bool_const %d>%d gvar %d\n",3,i2l,3>i2l);
|
|
693 printf("#0690:code_bool_const %u>%u gvar %d u\n",7,ui2l,7>ui2l);
|
|
694 printf("#0691:code_bool_const %d>=%d gvar %d\n",3,i2l,3>=i2l);
|
|
695 printf("#0692:code_bool_const %u>=%u gvar %d u\n",7,ui2l,7>=ui2l);
|
|
696 printf("#0693:code_bool_const %d<%d gvar %d\n",3,i2l,3<i2l);
|
|
697 printf("#0694:code_bool_const %u<%u gvar %d u\n",7,ui2l,7<ui2l);
|
|
698 printf("#0695:code_bool_const %d<=%d gvar %d\n",3,i2l,3<=i2l);
|
|
699 printf("#0696:code_bool_const %u<=%u gvar %d u\n",7,ui2l,7<=ui2l);
|
|
700 printf("#0697:code_bool_const %u==%u gvar %d u\n",7,ui2l,7==ui2l);
|
|
701 printf("#0698:code_bool_const %u!=%u gvar %d\n",3,i2l,3!=i2l);
|
288
|
702 ui2l++;
|
|
703 }
|
197
|
704 }
|
|
705
|
550
|
706 INLINE void
|
197
|
707 code_cmp()
|
|
708 {
|
|
709 char c1,c2;
|
|
710 unsigned char uc1,uc2;
|
|
711 int i1,i2;
|
|
712 short s1,s2;
|
201
|
713 unsigned short us1,us2;
|
200
|
714
|
197
|
715 i1 = 1; i2 = -2;
|
|
716 s1 = -1; s2 = -3; us1 = 65535; us2 = 65535;
|
201
|
717 c1 = -1; c2 = -3; uc1 = 200; uc2 = 202;
|
550
|
718 i1 && printf("#0715:code_bool local 1\n");
|
|
719 s1 && printf("#0716:code_bool local 2\n");
|
|
720 us1 && printf("#0717:code_bool local 3\n");
|
|
721 c1 && printf("#0718:code_bool local 4\n");
|
|
722 uc1 && printf("#0719:code_bool local 5\n");
|
197
|
723
|
|
724 }
|
550
|
725 INLINE void
|
197
|
726 code_cmp_global()
|
|
727 {
|
|
728 i1 = 1; i2 = -2;
|
|
729 s1 = -1; s2 = -3; us1 = 65535; us2 = 65535;
|
201
|
730 c1 = -1; c2 = -3; uc1 = 200; uc2 = 202;
|
550
|
731 i1 && printf("#0728:code_bool global 1\n");
|
|
732 s1 && printf("#0729:code_bool global 2\n");
|
|
733 us1 && printf("#0730:code_bool global 3\n");
|
|
734 c1 && printf("#0731:code_bool global 4\n");
|
|
735 uc1 && printf("#0732:code_bool global 5\n");
|
197
|
736 }
|
|
737
|
550
|
738 INLINE void
|
197
|
739 code_cmp_register()
|
|
740 {
|
|
741 register char c1,c2;
|
|
742 register unsigned char uc1,uc2;
|
|
743 register int i1,i2;
|
|
744 register short s1,s2;
|
201
|
745 register unsigned short us1,us2;
|
200
|
746
|
197
|
747 i1 = 1; i2 = -2;
|
|
748 s1 = -1; s2 = -3; us1 = 65535; us2 = 65535;
|
201
|
749 c1 = -1; c2 = -3; uc1 = 200; uc2 = 202;
|
550
|
750 i1 && printf("#0747:code_bool register 1\n");
|
|
751 s1 && printf("#0748:code_bool register 2\n");
|
|
752 us1 && printf("#0749:code_bool register 3\n");
|
|
753 c1 && printf("#0750:code_bool register 4\n");
|
|
754 uc1 && printf("#0751:code_bool register 5\n");
|
197
|
755
|
|
756 }
|
|
757
|
|
758
|
196
|
759 // code_string(int e1,int creg)
|
197
|
760
|
550
|
761 INLINE void
|
201
|
762 code_string()
|
197
|
763 {
|
550
|
764 printf("#0761:code_string test\n");
|
197
|
765 }
|
|
766
|
196
|
767 // struct_push(int e4,int t,int arg)
|
550
|
768 INLINE
|
197
|
769 struct aa
|
201
|
770 struct_push0(int i,struct aa a)
|
197
|
771 {
|
|
772 a.a[55]++;
|
|
773 if (i==0) {
|
201
|
774 return struct_push0(1,a0);
|
197
|
775 }
|
|
776 return a0;
|
|
777 }
|
550
|
778 INLINE void
|
197
|
779 struct_push()
|
|
780 {
|
|
781 a0.a[55]=3;
|
|
782 a0 = struct_push0(0,a0);
|
550
|
783 printf("#0780:struct_push %d\n",a0.a[55]);
|
197
|
784 }
|
|
785
|
196
|
786 // code_jmp(char *s)
|
|
787 // code_indirect_jmp(int e2)
|
197
|
788
|
196
|
789 // code_rindirect(int e1, int offset, int us);
|
550
|
790 INLINE void
|
197
|
791 code_rindirect()
|
|
792 {
|
|
793 int i1,i2;
|
|
794 unsigned int ui1,ui2;
|
|
795 int *pi1,*pi2;
|
|
796 unsigned int *pui1,*pui2;
|
|
797
|
|
798 i1 = -555; i2= 555;
|
|
799 ui1 = 632423423; ui2= 32394234;
|
|
800 pi1 = &i1;
|
|
801 pi2 = &i2;
|
|
802 pui1 = &ui1;
|
|
803 pui2 = &ui2;
|
550
|
804 printf("#0801:code_rindirect %d %d %u %u\n",*pi1,*pi2,*pui1,*pui2);
|
197
|
805 }
|
|
806
|
196
|
807 // code_crindirect(int e1, int offset, int us);
|
550
|
808 INLINE void
|
197
|
809 code_crindirect()
|
|
810 {
|
|
811 char i1,i2;
|
|
812 unsigned char ui1,ui2;
|
|
813 char *pi1,*pi2;
|
|
814 unsigned char *pui1,*pui2;
|
|
815
|
|
816 i1 = -55; i2= 55;
|
|
817 ui1 = 200; ui2= 128;
|
|
818 pi1 = &i1;
|
|
819 pi2 = &i2;
|
|
820 pui1 = &ui1;
|
|
821 pui2 = &ui2;
|
550
|
822 printf("#0819:code_cindirect %d %d %u %u\n",*pi1,*pi2,*pui1,*pui2);
|
197
|
823 }
|
|
824
|
196
|
825 // code_srindirect(int e1, int offset, int us);
|
550
|
826 INLINE void
|
197
|
827 code_srindirect()
|
|
828 {
|
|
829 short i1,i2;
|
|
830 unsigned short ui1,ui2;
|
|
831 short *pi1,*pi2;
|
|
832 unsigned short *pui1,*pui2;
|
|
833
|
|
834 i1 = -55; i2= 55;
|
|
835 ui1 = 200; ui2= 128;
|
|
836 pi1 = &i1;
|
|
837 pi2 = &i2;
|
|
838 pui1 = &ui1;
|
|
839 pui2 = &ui2;
|
550
|
840 printf("#0837:code_sindirect %d %d %u %u\n",*pi1,*pi2,*pui1,*pui2);
|
197
|
841 }
|
|
842
|
196
|
843 #if FLOAT_CODE
|
|
844 // code_drindirect(int e1, int offset, int d);
|
550
|
845 INLINE void
|
197
|
846 code_drindirect()
|
|
847 {
|
|
848 float i1,i2;
|
|
849 double ui1,ui2;
|
|
850 float *pi1,*pi2;
|
|
851 double *pui1,*pui2;
|
|
852
|
|
853 i1 = -55; i2= 55;
|
|
854 ui1 = 200; ui2= 128;
|
|
855 pi1 = &i1;
|
|
856 pi2 = &i2;
|
|
857 pui1 = &ui1;
|
|
858 pui2 = &ui2;
|
550
|
859 printf("#0856:code_dindirect %g %g %g %g\n",*pi1,*pi2,*pui1,*pui2);
|
197
|
860 }
|
|
861
|
196
|
862 #endif
|
197
|
863
|
196
|
864 #if LONGLONG_CODE
|
|
865 // code_lrindirect(int e1, int offset, int us);
|
550
|
866 INLINE void
|
197
|
867 code_lrindirect()
|
|
868 {
|
|
869 long long i1,i2;
|
|
870 unsigned long long ui1,ui2;
|
|
871 long long *pi1,*pi2;
|
|
872 unsigned long long *pui1,*pui2;
|
|
873
|
|
874 i1 = -55; i2= 55;
|
|
875 ui1 = 200; ui2= 128;
|
|
876 pi1 = &i1;
|
|
877 pi2 = &i2;
|
|
878 pui1 = &ui1;
|
|
879 pui2 = &ui2;
|
550
|
880 printf("#0877:code_lrindirect %llx %llx %llx %llx\n",*pi1,*pi2,*pui1,*pui2);
|
|
881 printf("#0878:code_lrindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2);
|
197
|
882 }
|
|
883
|
196
|
884 #endif
|
|
885
|
|
886 // code_assign_gvar(int e2,int creg,int byte)
|
|
887 // code_assign_lvar(int e2,int creg,int byte)
|
|
888 // code_assign_register(int e2,int byte,int creg)
|
|
889 // code_assign(int e2,int byte,int creg)
|
198
|
890
|
550
|
891 INLINE void
|
198
|
892 code_assign()
|
|
893 {
|
|
894 int i1,i2;
|
|
895 unsigned int ui1,ui2;
|
|
896 int *pi1,*pi2;
|
|
897 unsigned int *pui1,*pui2;
|
|
898
|
|
899 i1 = -555; i2= 555;
|
|
900 ui1 = 632423423; ui2= 32394234;
|
|
901 pi1 = &i1;
|
|
902 pi2 = &i2;
|
|
903 pui1 = &ui1;
|
|
904 pui2 = &ui2;
|
|
905
|
|
906 *(pi2+i1+i2) = 3;
|
|
907 *(pui2+i1+i2) = 3;
|
550
|
908 printf("#0905:code_rindirect %d %d %u %u\n",*pi1,*pi2,*pui1,*pui2);
|
198
|
909 }
|
|
910
|
550
|
911 INLINE void
|
274
|
912 code_assign_register()
|
|
913 {
|
|
914 int i1,i2;
|
|
915 unsigned int ui1,ui2;
|
|
916 register int *pi1,*pi2;
|
|
917 register unsigned int *pui1,*pui2;
|
|
918
|
|
919 i1 = -555; i2= 555;
|
|
920 ui1 = 632423423; ui2= 32394234;
|
|
921 pi1 = &i1;
|
|
922 pi2 = &i2;
|
|
923 pui1 = &ui1;
|
|
924 pui2 = &ui2;
|
|
925
|
|
926 *(pi2+i1+i2) = 3;
|
|
927 *(pui2+i1+i2) = 3;
|
550
|
928 printf("#0925:code_rindirect %d %d %u %u\n",*pi1,*pi2,*pui1,*pui2);
|
274
|
929 }
|
|
930
|
196
|
931 // code_register_assop(int e2,int op,int byte)
|
550
|
932 INLINE void
|
198
|
933 code_register_assop()
|
|
934 {
|
|
935 register int i1;
|
|
936 register unsigned int ui1;
|
255
|
937 int a = 3;
|
198
|
938 i1 = -555;
|
|
939 ui1 = 632423423;
|
|
940
|
255
|
941 i1 += a;
|
550
|
942 printf("#0939:code_assop 1 %d\n",i1);
|
255
|
943 i1 -= a;
|
550
|
944 printf("#0941:code_assop 2 %d\n",i1);
|
255
|
945 i1 /= a;
|
550
|
946 printf("#0943:code_assop 3 %d\n",i1);
|
255
|
947 i1 *= a;
|
550
|
948 printf("#0945:code_assop 4 %d\n",i1);
|
255
|
949 i1 |= a;
|
550
|
950 printf("#0947:code_assop 5 %d\n",i1);
|
255
|
951 i1 &= a;
|
550
|
952 printf("#0949:code_assop 6 %d\n",i1);
|
255
|
953 i1 ^= a;
|
550
|
954 printf("#0951:code_assop 7 %d\n",i1);
|
255
|
955 i1 <<= a;
|
550
|
956 printf("#0953:code_assop 8 %d\n",i1);
|
255
|
957 i1 >>= a;
|
550
|
958 printf("#0955:code_assop 9 %d\n",i1);
|
198
|
959
|
255
|
960 ui1 += a;
|
550
|
961 printf("#0958:code_assop 1 %u\n",ui1);
|
255
|
962 ui1 -= a;
|
550
|
963 printf("#0960:code_assop 2 %u\n",ui1);
|
255
|
964 ui1 /= a;
|
550
|
965 printf("#0962:code_assop 3 %u\n",ui1);
|
255
|
966 ui1 *= a;
|
550
|
967 printf("#0964:code_assop 4 %u\n",ui1);
|
255
|
968 ui1 |= a;
|
550
|
969 printf("#0966:code_assop 5 %u\n",ui1);
|
255
|
970 ui1 &= a;
|
550
|
971 printf("#0968:code_assop 6 %u\n",ui1);
|
255
|
972 ui1 ^= a;
|
550
|
973 printf("#0970:code_assop 7 %u\n",ui1);
|
255
|
974 ui1 <<= a;
|
550
|
975 printf("#0972:code_assop 8 %u\n",ui1);
|
255
|
976 ui1 >>= a;
|
550
|
977 printf("#0974:code_assop 9 %u\n",ui1);
|
198
|
978 }
|
|
979
|
469
|
980 // iassop_l(int op,int byte,int sign)
|
550
|
981 INLINE void
|
469
|
982 code_iassop_l()
|
|
983 {
|
|
984 struct hoge { int i1,i2;
|
|
985 unsigned int ui1,ui2;
|
|
986 } s, *p;
|
|
987 int a = 3;
|
|
988 p = &s;
|
|
989
|
|
990 p->i1 = -555; p->i2= 555;
|
|
991 p->ui1 = 632423423; p->ui2= 32394234;
|
|
992
|
|
993 p->i1 += a;
|
550
|
994 printf("#0991:iassop 1 %d\n",p->i1);
|
469
|
995 p->i1 -= a;
|
550
|
996 printf("#0993:iassop 2 %d\n",p->i1);
|
469
|
997 p->i1 /= a;
|
550
|
998 printf("#0995:iassop 3 %d\n",p->i1);
|
469
|
999 p->i1 *= a;
|
550
|
1000 printf("#0997:iassop 4 %d\n",p->i1);
|
469
|
1001 p->i1 |= a;
|
550
|
1002 printf("#0999:iassop 5 %d\n",p->i1);
|
469
|
1003 p->i1 &= a;
|
550
|
1004 printf("#1001:iassop 6 %d\n",p->i1);
|
469
|
1005 p->i1 ^= a;
|
550
|
1006 printf("#1003:iassop 7 %d\n",p->i1);
|
469
|
1007 p->i1 <<= a;
|
550
|
1008 printf("#1005:iassop 8 %d\n",p->i1);
|
469
|
1009 p->i1 >>= a;
|
550
|
1010 printf("#1007:iassop 9 %d\n",p->i1);
|
469
|
1011
|
|
1012 p->ui1 += a;
|
550
|
1013 printf("#1010:iassop 1 %u\n",p->ui1);
|
469
|
1014 p->ui1 -= a;
|
550
|
1015 printf("#1012:iassop 2 %u\n",p->ui1);
|
469
|
1016 p->ui1 /= a;
|
550
|
1017 printf("#1014:iassop 3 %u\n",p->ui1);
|
469
|
1018 p->ui1 *= a;
|
550
|
1019 printf("#1016:iassop 4 %u\n",p->ui1);
|
469
|
1020 p->ui1 |= a;
|
550
|
1021 printf("#1018:iassop 5 %u\n",p->ui1);
|
469
|
1022 p->ui1 &= a;
|
550
|
1023 printf("#1020:iassop 6 %u\n",p->ui1);
|
469
|
1024 p->ui1 ^= a;
|
550
|
1025 printf("#1022:iassop 7 %u\n",p->ui1);
|
469
|
1026 p->ui1 <<= a;
|
550
|
1027 printf("#1024:iassop 8 %u\n",p->ui1);
|
469
|
1028 p->ui1 >>= a;
|
550
|
1029 printf("#1026:iassop 9 %u\n",p->ui1);
|
469
|
1030 }
|
|
1031
|
|
1032 // iassop_l(int op,int byte,int sign)
|
|
1033
|
|
1034 struct ghoge { int i1,i2;
|
|
1035 unsigned int ui1,ui2;
|
|
1036 } gs, *gp;
|
|
1037
|
550
|
1038 INLINE void
|
469
|
1039 code_iassop_g()
|
|
1040 {
|
|
1041 int a = 3;
|
|
1042 gp = &gs;
|
|
1043
|
|
1044 gp->i1 = -555; gp->i2= 555;
|
|
1045 gp->ui1 = 632423423; gp->ui2= 32394234;
|
|
1046
|
|
1047 gp->i1 += a;
|
550
|
1048 printf("#1045:iassop 1 %d\n",gp->i1);
|
469
|
1049 gp->i1 -= a;
|
550
|
1050 printf("#1047:iassop 2 %d\n",gp->i1);
|
469
|
1051 gp->i1 /= a;
|
550
|
1052 printf("#1049:iassop 3 %d\n",gp->i1);
|
469
|
1053 gp->i1 *= a;
|
550
|
1054 printf("#1051:iassop 4 %d\n",gp->i1);
|
469
|
1055 gp->i1 |= a;
|
550
|
1056 printf("#1053:iassop 5 %d\n",gp->i1);
|
469
|
1057 gp->i1 &= a;
|
550
|
1058 printf("#1055:iassop 6 %d\n",gp->i1);
|
469
|
1059 gp->i1 ^= a;
|
550
|
1060 printf("#1057:iassop 7 %d\n",gp->i1);
|
469
|
1061 gp->i1 <<= a;
|
550
|
1062 printf("#1059:iassop 8 %d\n",gp->i1);
|
469
|
1063 gp->i1 >>= a;
|
550
|
1064 printf("#1061:iassop 9 %d\n",gp->i1);
|
469
|
1065
|
|
1066 gp->ui1 += a;
|
550
|
1067 printf("#1064:iassop 1 %u\n",gp->ui1);
|
469
|
1068 gp->ui1 -= a;
|
550
|
1069 printf("#1066:iassop 2 %u\n",gp->ui1);
|
469
|
1070 gp->ui1 /= a;
|
550
|
1071 printf("#1068:iassop 3 %u\n",gp->ui1);
|
469
|
1072 gp->ui1 *= a;
|
550
|
1073 printf("#1070:iassop 4 %u\n",gp->ui1);
|
469
|
1074 gp->ui1 |= a;
|
550
|
1075 printf("#1072:iassop 5 %u\n",gp->ui1);
|
469
|
1076 gp->ui1 &= a;
|
550
|
1077 printf("#1074:iassop 6 %u\n",gp->ui1);
|
469
|
1078 gp->ui1 ^= a;
|
550
|
1079 printf("#1076:iassop 7 %u\n",gp->ui1);
|
469
|
1080 gp->ui1 <<= a;
|
550
|
1081 printf("#1078:iassop 8 %u\n",gp->ui1);
|
469
|
1082 gp->ui1 >>= a;
|
550
|
1083 printf("#1080:iassop 9 %u\n",gp->ui1);
|
469
|
1084 }
|
|
1085
|
550
|
1086 INLINE void
|
469
|
1087 code_iassop_g_c()
|
|
1088 {
|
|
1089 const int a = 3;
|
|
1090 gp = &gs;
|
|
1091
|
|
1092 gp->i1 = -555; gp->i2= 555;
|
|
1093 gp->ui1 = 632423423; gp->ui2= 32394234;
|
|
1094
|
|
1095 gp->i1 += a;
|
550
|
1096 printf("#1093:iassop 1 %d\n",gp->i1);
|
469
|
1097 gp->i1 -= a;
|
550
|
1098 printf("#1095:iassop 2 %d\n",gp->i1);
|
469
|
1099 gp->i1 /= a;
|
550
|
1100 printf("#1097:iassop 3 %d\n",gp->i1);
|
469
|
1101 gp->i1 *= a;
|
550
|
1102 printf("#1099:iassop 4 %d\n",gp->i1);
|
469
|
1103 gp->i1 |= a;
|
550
|
1104 printf("#1101:iassop 5 %d\n",gp->i1);
|
469
|
1105 gp->i1 &= a;
|
550
|
1106 printf("#1103:iassop 6 %d\n",gp->i1);
|
469
|
1107 gp->i1 ^= a;
|
550
|
1108 printf("#1105:iassop 7 %d\n",gp->i1);
|
469
|
1109 gp->i1 <<= a;
|
550
|
1110 printf("#1107:iassop 8 %d\n",gp->i1);
|
469
|
1111 gp->i1 >>= a;
|
550
|
1112 printf("#1109:iassop 9 %d\n",gp->i1);
|
469
|
1113
|
|
1114 gp->ui1 += a;
|
550
|
1115 printf("#1112:iassop 1 %u\n",gp->ui1);
|
469
|
1116 gp->ui1 -= a;
|
550
|
1117 printf("#1114:iassop 2 %u\n",gp->ui1);
|
469
|
1118 gp->ui1 /= a;
|
550
|
1119 printf("#1116:iassop 3 %u\n",gp->ui1);
|
469
|
1120 gp->ui1 *= a;
|
550
|
1121 printf("#1118:iassop 4 %u\n",gp->ui1);
|
469
|
1122 gp->ui1 |= a;
|
550
|
1123 printf("#1120:iassop 5 %u\n",gp->ui1);
|
469
|
1124 gp->ui1 &= a;
|
550
|
1125 printf("#1122:iassop 6 %u\n",gp->ui1);
|
469
|
1126 gp->ui1 ^= a;
|
550
|
1127 printf("#1124:iassop 7 %u\n",gp->ui1);
|
469
|
1128 gp->ui1 <<= a;
|
550
|
1129 printf("#1126:iassop 8 %u\n",gp->ui1);
|
469
|
1130 gp->ui1 >>= a;
|
550
|
1131 printf("#1128:iassop 9 %u\n",gp->ui1);
|
469
|
1132 }
|
|
1133
|
|
1134
|
196
|
1135 // code_assop(int op,int byte,int sign)
|
550
|
1136 INLINE void
|
198
|
1137 code_assop()
|
|
1138 {
|
|
1139 int i1,i2;
|
|
1140 unsigned int ui1,ui2;
|
255
|
1141 int a = 3;
|
|
1142 i1 = -555; i2= 555;
|
|
1143 ui1 = 632423423; ui2= 32394234;
|
|
1144
|
|
1145 i1 += a;
|
550
|
1146 printf("#1143:code_assop 1 %d\n",i1);
|
255
|
1147 i1 -= a;
|
550
|
1148 printf("#1145:code_assop 2 %d\n",i1);
|
255
|
1149 i1 /= a;
|
550
|
1150 printf("#1147:code_assop 3 %d\n",i1);
|
255
|
1151 i1 *= a;
|
550
|
1152 printf("#1149:code_assop 4 %d\n",i1);
|
255
|
1153 i1 |= a;
|
550
|
1154 printf("#1151:code_assop 5 %d\n",i1);
|
255
|
1155 i1 &= a;
|
550
|
1156 printf("#1153:code_assop 6 %d\n",i1);
|
255
|
1157 i1 ^= a;
|
550
|
1158 printf("#1155:code_assop 7 %d\n",i1);
|
255
|
1159 i1 <<= a;
|
550
|
1160 printf("#1157:code_assop 8 %d\n",i1);
|
255
|
1161 i1 >>= a;
|
550
|
1162 printf("#1159:code_assop 9 %d\n",i1);
|
255
|
1163
|
|
1164 ui1 += a;
|
550
|
1165 printf("#1162:code_assop 1 %u\n",ui1);
|
255
|
1166 ui1 -= a;
|
550
|
1167 printf("#1164:code_assop 2 %u\n",ui1);
|
255
|
1168 ui1 /= a;
|
550
|
1169 printf("#1166:code_assop 3 %u\n",ui1);
|
255
|
1170 ui1 *= a;
|
550
|
1171 printf("#1168:code_assop 4 %u\n",ui1);
|
255
|
1172 ui1 |= a;
|
550
|
1173 printf("#1170:code_assop 5 %u\n",ui1);
|
255
|
1174 ui1 &= a;
|
550
|
1175 printf("#1172:code_assop 6 %u\n",ui1);
|
255
|
1176 ui1 ^= a;
|
550
|
1177 printf("#1174:code_assop 7 %u\n",ui1);
|
255
|
1178 ui1 <<= a;
|
550
|
1179 printf("#1176:code_assop 8 %u\n",ui1);
|
255
|
1180 ui1 >>= a;
|
550
|
1181 printf("#1178:code_assop 9 %u\n",ui1);
|
255
|
1182 }
|
|
1183
|
|
1184
|
|
1185 // code_register_assop(int e2,int op,int byte)
|
550
|
1186 INLINE void
|
255
|
1187 code_register_assop_const()
|
|
1188 {
|
|
1189 register int i1;
|
|
1190 register unsigned int ui1;
|
|
1191 i1 = -555;
|
|
1192 ui1 = 632423423;
|
|
1193
|
|
1194 i1 += 3;
|
550
|
1195 printf("#1192:code_assop c 1 %d\n",i1);
|
255
|
1196 i1 -= 3;
|
550
|
1197 printf("#1194:code_assop c 2 %d\n",i1);
|
255
|
1198 i1 /= 3;
|
550
|
1199 printf("#1196:code_assop c 3 %d\n",i1);
|
255
|
1200 i1 *= 3;
|
550
|
1201 printf("#1198:code_assop c 4 %d\n",i1);
|
255
|
1202 i1 |= 234;
|
550
|
1203 printf("#1200:code_assop c 5 %d\n",i1);
|
255
|
1204 i1 &= 23244234;
|
550
|
1205 printf("#1202:code_assop c 6 %d\n",i1);
|
255
|
1206 i1 ^= 55244234;
|
550
|
1207 printf("#1204:code_assop c 7 %d\n",i1);
|
255
|
1208 i1 <<= 3;
|
550
|
1209 printf("#1206:code_assop c 8 %d\n",i1);
|
255
|
1210 i1 >>= 3;
|
550
|
1211 printf("#1208:code_assop c 9 %d\n",i1);
|
255
|
1212
|
|
1213 ui1 += 3;
|
550
|
1214 printf("#1211:code_assop c 1 %u\n",ui1);
|
255
|
1215 ui1 -= 3;
|
550
|
1216 printf("#1213:code_assop c 2 %u\n",ui1);
|
255
|
1217 ui1 /= 3;
|
550
|
1218 printf("#1215:code_assop c 3 %u\n",ui1);
|
255
|
1219 ui1 *= 3;
|
550
|
1220 printf("#1217:code_assop c 4 %u\n",ui1);
|
255
|
1221 ui1 |= 234;
|
550
|
1222 printf("#1219:code_assop c 5 %u\n",ui1);
|
255
|
1223 ui1 &= 23234234;
|
550
|
1224 printf("#1221:code_assop c 6 %u\n",ui1);
|
255
|
1225 ui1 ^= 55234234;
|
550
|
1226 printf("#1223:code_assop c 7 %u\n",ui1);
|
255
|
1227 ui1 <<= 3;
|
550
|
1228 printf("#1225:code_assop c 8 %u\n",ui1);
|
255
|
1229 ui1 >>= 3;
|
550
|
1230 printf("#1227:code_assop c 9 %u\n",ui1);
|
255
|
1231 }
|
|
1232
|
|
1233 // code_assop(int op,int byte,int sign)
|
550
|
1234 INLINE void
|
255
|
1235 code_assop_const()
|
|
1236 {
|
|
1237 int i1,i2;
|
|
1238 unsigned int ui1,ui2;
|
198
|
1239 i1 = -555; i2= 555;
|
|
1240 ui1 = 632423423; ui2= 32394234;
|
|
1241
|
|
1242 i1 += 3;
|
550
|
1243 printf("#1240:code_assop c 1 %d\n",i1);
|
198
|
1244 i1 -= 3;
|
550
|
1245 printf("#1242:code_assop c 2 %d\n",i1);
|
198
|
1246 i1 /= 3;
|
550
|
1247 printf("#1244:code_assop c 3 %d\n",i1);
|
198
|
1248 i1 *= 3;
|
550
|
1249 printf("#1246:code_assop c 4 %d\n",i1);
|
198
|
1250 i1 |= 234;
|
550
|
1251 printf("#1248:code_assop c 5 %d\n",i1);
|
201
|
1252 i1 &= 23234234;
|
550
|
1253 printf("#1250:code_assop c 6 %d\n",i1);
|
201
|
1254 i1 ^= 55444234;
|
550
|
1255 printf("#1252:code_assop c 7 %d\n",i1);
|
198
|
1256 i1 <<= 3;
|
550
|
1257 printf("#1254:code_assop c 8 %d\n",i1);
|
198
|
1258 i1 >>= 3;
|
550
|
1259 printf("#1256:code_assop c 9 %d\n",i1);
|
198
|
1260
|
|
1261 ui1 += 3;
|
550
|
1262 printf("#1259:code_assop c 1 %u\n",ui1);
|
198
|
1263 ui1 -= 3;
|
550
|
1264 printf("#1261:code_assop c 2 %u\n",ui1);
|
198
|
1265 ui1 /= 3;
|
550
|
1266 printf("#1263:code_assop c 3 %u\n",ui1);
|
198
|
1267 ui1 *= 3;
|
550
|
1268 printf("#1265:code_assop c 4 %u\n",ui1);
|
198
|
1269 ui1 |= 234;
|
550
|
1270 printf("#1267:code_assop c 5 %u\n",ui1);
|
201
|
1271 ui1 &= 23234234;
|
550
|
1272 printf("#1269:code_assop c 6 %u\n",ui1);
|
201
|
1273 ui1 ^= 54234234;
|
550
|
1274 printf("#1271:code_assop c 7 %u\n",ui1);
|
198
|
1275 ui1 <<= 3;
|
550
|
1276 printf("#1273:code_assop c 8 %u\n",ui1);
|
198
|
1277 ui1 >>= 3;
|
550
|
1278 printf("#1275:code_assop c 9 %u\n",ui1);
|
198
|
1279 }
|
|
1280
|
|
1281
|
196
|
1282 // tosop(int op,int oreg)
|
550
|
1283 INLINE void
|
198
|
1284 tosop()
|
|
1285 {
|
|
1286 int i1,i2,i;
|
201
|
1287 unsigned int u1,u2,u;
|
198
|
1288 i1 = -555; i2= 555;
|
201
|
1289 u1 = 632423423; u2= 32394234;
|
198
|
1290
|
|
1291 i = i1 + i2;
|
550
|
1292 printf("#1289:tosop 1 %d\n",i);
|
198
|
1293 i = i1 - i2;
|
550
|
1294 printf("#1291:tosop 2 %d\n",i);
|
198
|
1295 i = i1 / i2;
|
550
|
1296 printf("#1293:tosop 3 %d\n",i);
|
198
|
1297 i = i1 * i2;
|
550
|
1298 printf("#1295:tosop 4 %d\n",i);
|
198
|
1299 i = i1 | i2;
|
550
|
1300 printf("#1297:tosop 5 %d\n",i);
|
198
|
1301 i = i1 & i2;
|
550
|
1302 printf("#1299:tosop 6 %d\n",i);
|
198
|
1303 i = i1 ^ i2;
|
550
|
1304 printf("#1301:tosop 7 %d\n",i);
|
198
|
1305 i = i1 << i2;
|
550
|
1306 printf("#1303:tosop 8 %d\n",i);
|
198
|
1307 i = i1 >> i2;
|
550
|
1308 printf("#1305:tosop 9 %d\n",i);
|
214
|
1309 i = i1 % i2;
|
550
|
1310 printf("#1307:tosop 10 %d\n",i);
|
198
|
1311
|
|
1312 u = u1 + u2;
|
550
|
1313 printf("#1310:tosop 1 %u\n",u);
|
198
|
1314 u = u1 - u2;
|
550
|
1315 printf("#1312:tosop 2 %u\n",u);
|
198
|
1316 u = u1 / u2;
|
550
|
1317 printf("#1314:tosop 3 %u\n",u);
|
198
|
1318 u = u1 * u2;
|
550
|
1319 printf("#1316:tosop 4 %u\n",u);
|
198
|
1320 u = u1 | u2;
|
550
|
1321 printf("#1318:tosop 5 %u\n",u);
|
198
|
1322 u = u1 & u2;
|
550
|
1323 printf("#1320:tosop 6 %u\n",u);
|
198
|
1324 u = u1 ^ u2;
|
550
|
1325 printf("#1322:tosop 7 %u\n",u);
|
198
|
1326 u = u1 << u2;
|
550
|
1327 printf("#1324:tosop 8 %u\n",u);
|
198
|
1328 u = u1 >> u2;
|
550
|
1329 printf("#1326:tosop 9 %u\n",u);
|
214
|
1330 u = u1 % u2;
|
550
|
1331 printf("#1328:tosop 10 %u\n",u);
|
198
|
1332 }
|
196
|
1333
|
|
1334 // oprtc(int op,int v)
|
550
|
1335 INLINE void
|
198
|
1336 oprtc()
|
|
1337 {
|
|
1338 int i1,i;
|
201
|
1339 unsigned int u1,u;
|
198
|
1340 i1 = -555;
|
201
|
1341 u1 = 632423423;
|
196
|
1342
|
198
|
1343 i = i1 + 3;
|
550
|
1344 printf("#1341:oprtc 1 %d\n",i);
|
198
|
1345 i = i1 - 3;
|
550
|
1346 printf("#1343:oprtc 2 %d\n",i);
|
198
|
1347 i = i1 / 3;
|
550
|
1348 printf("#1345:oprtc 3 %d\n",i);
|
198
|
1349 i = i1 * 3;
|
550
|
1350 printf("#1347:oprtc 4 %d\n",i);
|
198
|
1351 i = i1 | 234234234;
|
550
|
1352 printf("#1349:oprtc 5 %d\n",i);
|
201
|
1353 i = i1 & 23234234;
|
550
|
1354 printf("#1351:oprtc 6 %d\n",i);
|
201
|
1355 i = i1 ^ 23234234;
|
550
|
1356 printf("#1353:oprtc 7 %d\n",i);
|
198
|
1357 i = i1 << 5;
|
550
|
1358 printf("#1355:oprtc 8 %d\n",i);
|
198
|
1359 i = i1 >> 5;
|
550
|
1360 printf("#1357:oprtc 9 %d\n",i);
|
214
|
1361 i = i1 % 5;
|
550
|
1362 printf("#1359:oprtc 10 %d\n",i);
|
196
|
1363
|
198
|
1364 u = u1 + 3;
|
550
|
1365 printf("#1362:oprtc 1 %u\n",u);
|
198
|
1366 u = u1 - 3;
|
550
|
1367 printf("#1364:oprtc 2 %u\n",u);
|
198
|
1368 u = u1 / 3;
|
550
|
1369 printf("#1366:oprtc 3 %u\n",u);
|
198
|
1370 u = u1 * 3;
|
550
|
1371 printf("#1368:oprtc 4 %u\n",u);
|
198
|
1372 u = u1 | 234234234;
|
550
|
1373 printf("#1370:oprtc 5 %u\n",u);
|
198
|
1374 u = u1 & 234234234;
|
550
|
1375 printf("#1372:oprtc 6 %u\n",u);
|
201
|
1376 u = u1 ^ 234234234;
|
550
|
1377 printf("#1374:oprtc 7 %u\n",u);
|
198
|
1378 u = u1 << 5;
|
550
|
1379 printf("#1376:oprtc 8 %u\n",u);
|
198
|
1380 u = u1 >> 5;
|
550
|
1381 printf("#1378:oprtc 9 %u\n",u);
|
214
|
1382 u = u1 % 5;
|
550
|
1383 printf("#1380:oprtc 10 %u\n",u);
|
198
|
1384 }
|
|
1385
|
196
|
1386
|
274
|
1387 // tosop(int op,int oreg)
|
550
|
1388 INLINE void
|
274
|
1389 register_tosop()
|
|
1390 {
|
|
1391 register int i1,i2,i;
|
|
1392 register unsigned int u1,u2,u;
|
|
1393 i1 = -555; i2= 555;
|
|
1394 u1 = 632423423; u2= 32394234;
|
|
1395
|
|
1396 i = i1 + i2;
|
550
|
1397 printf("#1394:tosop r 1 %d\n",i);
|
274
|
1398 i = i1 - i2;
|
550
|
1399 printf("#1396:tosop r 2 %d\n",i);
|
274
|
1400 i = i1 / i2;
|
550
|
1401 printf("#1398:tosop r 3 %d\n",i);
|
274
|
1402 i = i1 * i2;
|
550
|
1403 printf("#1400:tosop r 4 %d\n",i);
|
274
|
1404 i = i1 | i2;
|
550
|
1405 printf("#1402:tosop r 5 %d\n",i);
|
274
|
1406 i = i1 & i2;
|
550
|
1407 printf("#1404:tosop r 6 %d\n",i);
|
274
|
1408 i = i1 ^ i2;
|
550
|
1409 printf("#1406:tosop r 7 %d\n",i);
|
274
|
1410 i = i1 << i2;
|
550
|
1411 printf("#1408:tosop r 8 %d\n",i);
|
274
|
1412 i = i1 >> i2;
|
550
|
1413 printf("#1410:tosop r 9 %d\n",i);
|
274
|
1414 i = i1 % i2;
|
550
|
1415 printf("#1412:tosop r 10 %d\n",i);
|
274
|
1416
|
|
1417 u = u1 + u2;
|
550
|
1418 printf("#1415:tosop r 1 %u\n",u);
|
274
|
1419 u = u1 - u2;
|
550
|
1420 printf("#1417:tosop r 2 %u\n",u);
|
274
|
1421 u = u1 / u2;
|
550
|
1422 printf("#1419:tosop r 3 %u\n",u);
|
274
|
1423 u = u1 * u2;
|
550
|
1424 printf("#1421:tosop r 4 %u\n",u);
|
274
|
1425 u = u1 | u2;
|
550
|
1426 printf("#1423:tosop r 5 %u\n",u);
|
274
|
1427 u = u1 & u2;
|
550
|
1428 printf("#1425:tosop r 6 %u\n",u);
|
274
|
1429 u = u1 ^ u2;
|
550
|
1430 printf("#1427:tosop r 7 %u\n",u);
|
274
|
1431 u = u1 << u2;
|
550
|
1432 printf("#1429:tosop r 8 %u\n",u);
|
274
|
1433 u = u1 >> u2;
|
550
|
1434 printf("#1431:tosop r 9 %u\n",u);
|
274
|
1435 u = u1 % u2;
|
550
|
1436 printf("#1433:tosop r 10 %u\n",u);
|
274
|
1437 }
|
|
1438
|
|
1439 // oprtc(int op,int v)
|
550
|
1440 INLINE void
|
274
|
1441 register_oprtc()
|
|
1442 {
|
|
1443 register int i1,i;
|
|
1444 register unsigned int u1,u;
|
|
1445 i1 = -555;
|
|
1446 u1 = 632423423;
|
|
1447
|
|
1448 i = i1 + 3;
|
550
|
1449 printf("#1446:oprtc r 1 %d\n",i);
|
274
|
1450 i = i1 - 3;
|
550
|
1451 printf("#1448:oprtc r 2 %d\n",i);
|
274
|
1452 i = i1 / 3;
|
550
|
1453 printf("#1450:oprtc r 3 %d\n",i);
|
274
|
1454 i = i1 * 3;
|
550
|
1455 printf("#1452:oprtc r 4 %d\n",i);
|
274
|
1456 i = i1 | 234234234;
|
550
|
1457 printf("#1454:oprtc r 5 %d\n",i);
|
274
|
1458 i = i1 & 23234234;
|
550
|
1459 printf("#1456:oprtc r 6 %d\n",i);
|
274
|
1460 i = i1 ^ 23234234;
|
550
|
1461 printf("#1458:oprtc r 7 %d\n",i);
|
274
|
1462 i = i1 << 5;
|
550
|
1463 printf("#1460:oprtc r 8 %d\n",i);
|
274
|
1464 i = i1 >> 5;
|
550
|
1465 printf("#1462:oprtc r 9 %d\n",i);
|
274
|
1466 i = i1 % 5;
|
550
|
1467 printf("#1464:oprtc r 10 %d\n",i);
|
274
|
1468
|
|
1469 u = u1 + 3;
|
550
|
1470 printf("#1467:oprtc r 1 %u\n",u);
|
274
|
1471 u = u1 - 3;
|
550
|
1472 printf("#1469:oprtc r 2 %u\n",u);
|
274
|
1473 u = u1 / 3;
|
550
|
1474 printf("#1471:oprtc r 3 %u\n",u);
|
274
|
1475 u = u1 * 3;
|
550
|
1476 printf("#1473:oprtc r 4 %u\n",u);
|
274
|
1477 u = u1 | 234234234;
|
550
|
1478 printf("#1475:oprtc r 5 %u\n",u);
|
274
|
1479 u = u1 & 234234234;
|
550
|
1480 printf("#1477:oprtc r 6 %u\n",u);
|
274
|
1481 u = u1 ^ 234234234;
|
550
|
1482 printf("#1479:oprtc r 7 %u\n",u);
|
274
|
1483 u = u1 << 5;
|
550
|
1484 printf("#1481:oprtc r 8 %u\n",u);
|
274
|
1485 u = u1 >> 5;
|
550
|
1486 printf("#1483:oprtc r 9 %u\n",u);
|
274
|
1487 u = u1 % 5;
|
550
|
1488 printf("#1485:oprtc r 10 %u\n",u);
|
274
|
1489 }
|
|
1490
|
|
1491
|
196
|
1492 #if FLOAT_CODE
|
|
1493 // code_cmp_dregister(int e2,int d)
|
550
|
1494 INLINE void
|
198
|
1495 code_cmp_dregister()
|
|
1496 {
|
|
1497 register float f0,f1;
|
|
1498 register double d0,d1;
|
|
1499 f0 = 0.0; f1 = 0.2;
|
|
1500 d0 = 10; d1 = 10e10;
|
550
|
1501 f0 && printf("#1498:code_bool register 6\n");
|
|
1502 d0 && printf("#1499:code_bool register 7\n");
|
198
|
1503
|
|
1504 }
|
|
1505
|
196
|
1506 // code_dregister(int e2,int freg,int d)
|
550
|
1507 INLINE void
|
198
|
1508 code_dregister()
|
|
1509 {
|
|
1510 register float f0,f1;
|
|
1511 register double d0,d1;
|
|
1512 f0 = 0.0; f1 = 0.2;
|
|
1513 d0 = 10; d1 = 10e10;
|
550
|
1514 printf("#1511:code_lvar float r %f %f %g %g\n",f0,f1,d0,d1);
|
198
|
1515 }
|
|
1516
|
196
|
1517 // code_dassign_gvar(int e2,int freg,int d)
|
|
1518 // code_dassign_lvar(int e2,int freg,int d)
|
198
|
1519 // code_dassign_dregister(int e2,int d,int freg)
|
|
1520
|
196
|
1521 // code_dassign(int e2,int freg,int d)
|
550
|
1522 INLINE void
|
198
|
1523 code_dassign()
|
|
1524 {
|
201
|
1525 int i1,i2;
|
|
1526 float f1,f2;
|
198
|
1527 double ui1,ui2;
|
|
1528 float *pi1,*pi2;
|
|
1529 double *pui1,*pui2;
|
|
1530
|
|
1531 i1 = -555; i2= 555;
|
201
|
1532 f1 = -555; f2= 555;
|
198
|
1533 ui1 = 632423423; ui2= 32394234;
|
201
|
1534 pi1 = &f1;
|
|
1535 pi2 = &f2;
|
198
|
1536 pui1 = &ui1;
|
|
1537 pui2 = &ui2;
|
|
1538
|
|
1539 *(pi2+i1+i2) = 3;
|
|
1540 *(pui2+i1+i2) = 3;
|
550
|
1541 printf("#1538:code_dassign %g %g %g %g\n",*pi1,*pi2,*pui1,*pui2);
|
198
|
1542 }
|
|
1543
|
550
|
1544 INLINE void
|
274
|
1545 code_register_dassign()
|
|
1546 {
|
|
1547 int i1,i2;
|
|
1548 float f1,f2;
|
|
1549 double ui1,ui2;
|
|
1550 register float *pi1,*pi2;
|
|
1551 register double *pui1,*pui2;
|
|
1552
|
|
1553 i1 = -555; i2= 555;
|
|
1554 f1 = -555; f2= 555;
|
|
1555 ui1 = 632423423; ui2= 32394234;
|
|
1556 pi1 = &f1;
|
|
1557 pi2 = &f2;
|
|
1558 pui1 = &ui1;
|
|
1559 pui2 = &ui2;
|
|
1560
|
|
1561 *(pi2+i1+i2) = 3;
|
|
1562 *(pui2+i1+i2) = 3;
|
550
|
1563 printf("#1560:code_dassign %g %g %g %g\n",*pi1,*pi2,*pui1,*pui2);
|
274
|
1564 }
|
|
1565
|
196
|
1566 // code_dconst(int e2,int freg,int d)
|
|
1567 // code_dneg(int freg,int d)
|
198
|
1568 // code_dneg(int creg)
|
550
|
1569 INLINE void
|
198
|
1570 code_dneg()
|
|
1571 {
|
|
1572 float i,j;
|
|
1573 double di,dj;
|
|
1574 i = 123123123;j = -32423;
|
|
1575 di = 123123123;dj = -32423;
|
550
|
1576 printf("#1573:code_dneg %g %g\n",-i,-j);
|
|
1577 printf("#1574:code_dneg %g %g\n",-di,-dj);
|
198
|
1578 }
|
|
1579
|
196
|
1580 // code_d2i(int freg0)
|
550
|
1581 INLINE void
|
227
|
1582 code_d2i()
|
198
|
1583 {
|
276
|
1584 double d,z;
|
198
|
1585 int i;
|
|
1586 d = 0.1;
|
276
|
1587 z = 555;
|
198
|
1588 i = d;
|
550
|
1589 printf("#1586:code_d2i %d\n",i);
|
198
|
1590 }
|
196
|
1591 // code_i2d(int creg0)
|
550
|
1592 INLINE void
|
227
|
1593 code_i2d()
|
198
|
1594 {
|
|
1595 double d;
|
276
|
1596 int i,z;
|
201
|
1597 i = 242342342;
|
276
|
1598 z = -1;
|
198
|
1599 d = i;
|
550
|
1600 printf("#1597:code_i2d %g\n",d);
|
198
|
1601 }
|
196
|
1602 // code_d2u(int freg0)
|
550
|
1603 INLINE void
|
227
|
1604 code_d2u()
|
198
|
1605 {
|
276
|
1606 double d,z;
|
198
|
1607 unsigned int i;
|
|
1608 d = 0.1;
|
276
|
1609 z = 555;
|
198
|
1610 i = d;
|
550
|
1611 printf("#1608:code_d2u %ud\n",i);
|
198
|
1612 }
|
196
|
1613 // code_u2d(int creg0)
|
550
|
1614 INLINE void
|
227
|
1615 code_u2d()
|
198
|
1616 {
|
|
1617 double d;
|
276
|
1618 unsigned int i,z;
|
201
|
1619 i = 242342342;
|
276
|
1620 z = 3;
|
198
|
1621 d = i;
|
550
|
1622 printf("#1619:code_u2d %g\n",d);
|
198
|
1623 }
|
|
1624 // code_f2i(int freg0)
|
550
|
1625 INLINE void
|
227
|
1626 code_f2i()
|
198
|
1627 {
|
276
|
1628 float d,z;
|
198
|
1629 int i;
|
|
1630 d = 0.1;
|
276
|
1631 z = 555;
|
198
|
1632 i = d;
|
550
|
1633 printf("#1630:code_d2i %d\n",i);
|
198
|
1634 }
|
|
1635 // code_i2f(int creg0)
|
550
|
1636 INLINE void
|
227
|
1637 code_i2f()
|
198
|
1638 {
|
|
1639 float d;
|
276
|
1640 int i,z;
|
201
|
1641 i = 24234342;
|
276
|
1642 z = 555;
|
198
|
1643 d = i;
|
550
|
1644 printf("#1641:code_i2f %g\n",d);
|
198
|
1645 }
|
|
1646 // code_f2u(int freg0)
|
550
|
1647 INLINE void
|
227
|
1648 code_f2u()
|
198
|
1649 {
|
276
|
1650 float d,z;
|
198
|
1651 unsigned int i;
|
|
1652 d = 0.1;
|
276
|
1653 z = 555;
|
198
|
1654 i = d;
|
550
|
1655 printf("#1652:code_f2u %ud\n",i);
|
198
|
1656 }
|
|
1657 // code_u2f(int creg0)
|
550
|
1658 INLINE void
|
227
|
1659 code_u2f()
|
198
|
1660 {
|
|
1661 float d;
|
276
|
1662 unsigned int i,z;
|
201
|
1663 i = 242342342;
|
276
|
1664 z = 555;
|
198
|
1665 d = i;
|
550
|
1666 printf("#1663:code_u2f %g\n",d);
|
198
|
1667 }
|
|
1668
|
196
|
1669
|
|
1670 // code_drgvar(int e2,int d,int freg)
|
550
|
1671 INLINE void
|
198
|
1672 code_dgvar()
|
|
1673 {
|
|
1674 f0 = 0.0; f1 = 0.2;
|
|
1675 d0 = 10; d1 = 10e10;
|
550
|
1676 printf("#1673:code_gvar float 1 %f %f %g %g\n",f0,f1,d0,d1);
|
198
|
1677 s_f0 = 0.0; s_f1 = 0.2;
|
|
1678 s_d0 = 10; s_d1 = 10e10;
|
550
|
1679 printf("#1676:code_gvar float 2 %f %f %g %g\n",s_f0,s_f1,s_d0,s_d1);
|
198
|
1680 }
|
|
1681
|
196
|
1682 // code_drlvar(int e2,int d,int freg)
|
550
|
1683 INLINE void
|
198
|
1684 code_dlvar()
|
|
1685 {
|
|
1686 float f0,f1;
|
|
1687 double d0,d1;
|
|
1688 f0 = 0.0; f1 = 0.2;
|
|
1689 d0 = 10; d1 = 10e10;
|
550
|
1690 printf("#1687:code_lvar float %f %f %g %g\n",f0,f1,d0,d1);
|
|
1691 printf("#1688:code_bool > lvar float %d %d %d %d\n",
|
227
|
1692 f0>f1,f0>=f1,f0==f1,f0!=f1);
|
550
|
1693 printf("#1690:code_bool > lvar double %d %d %d %d\n",
|
227
|
1694 d0>d1,d0>=d1,d0==d1,d0!=d1);
|
550
|
1695 printf("#1692:code_bool < lvar float %d %d %d %d\n",
|
227
|
1696 f0<f1,f0<=f1,f0==f1,f0!=f1);
|
550
|
1697 printf("#1694:code_bool < lvar double %d %d %d %d\n",
|
227
|
1698 d0<d1,d0<=d1,d0==d1,d0!=d1);
|
198
|
1699 }
|
|
1700
|
|
1701
|
196
|
1702 // code_cmp_drgvar(int e2,int d)
|
550
|
1703 INLINE void
|
198
|
1704 code_cmp_d_global()
|
|
1705 {
|
|
1706 f0 = 0.0; f1 = 0.2;
|
|
1707 d0 = 10; d1 = 10e10;
|
550
|
1708 f0 && printf("#1705:code_bool global 6\n");
|
|
1709 d0 && printf("#1706:code_bool global 7\n");
|
198
|
1710 }
|
|
1711
|
|
1712
|
196
|
1713 // code_cmp_drlvar(int e2,int d)
|
550
|
1714 INLINE void
|
198
|
1715 code_cmp_d()
|
|
1716 {
|
|
1717 float f0,f1;
|
|
1718 double d0,d1;
|
|
1719 f0 = 0.0; f1 = 0.2;
|
|
1720 d0 = 10; d1 = 10e10;
|
550
|
1721 f0 && printf("#1718:code_bool local 6\n");
|
|
1722 d0 && printf("#1719:code_bool local 7\n");
|
198
|
1723 }
|
|
1724
|
196
|
1725 // dtosop(int op,int e1)
|
550
|
1726 INLINE void
|
198
|
1727 dtosop()
|
|
1728 {
|
|
1729 double i1,i2,i;
|
201
|
1730 float u1,u2,u;
|
198
|
1731 i1 = -555; i2= 555;
|
201
|
1732 u1 = 632423423; u2= 32394234;
|
198
|
1733
|
|
1734 i = i1 + i2;
|
550
|
1735 printf("#1732:dtosop 1 %g\n",i);
|
198
|
1736 i = i1 - i2;
|
550
|
1737 printf("#1734:dtosop 2 %g\n",i);
|
198
|
1738 i = i1 / i2;
|
550
|
1739 printf("#1736:dtosop 3 %g\n",i);
|
198
|
1740 i = i1 * i2;
|
550
|
1741 printf("#1738:dtosop 4 %g\n",i);
|
198
|
1742 u = u1 + u2;
|
550
|
1743 printf("#1740:dtosop 1 %g\n",u);
|
198
|
1744 u = u1 - u2;
|
550
|
1745 printf("#1742:dtosop 2 %g\n",u);
|
198
|
1746 u = u1 / u2;
|
550
|
1747 printf("#1744:dtosop 3 %g\n",u);
|
198
|
1748 u = u1 * u2;
|
550
|
1749 printf("#1746:dtosop 4 %g\n",u);
|
198
|
1750 }
|
|
1751
|
196
|
1752
|
274
|
1753 // dtosop(int op,int e1)
|
550
|
1754 INLINE void
|
274
|
1755 dtosop_register()
|
|
1756 {
|
|
1757 register double i1,i2,i;
|
|
1758 register float u1,u2,u;
|
|
1759 i1 = -555; i2= 555;
|
|
1760 u1 = 632423423; u2= 32394234;
|
|
1761
|
|
1762 i = i1 + i2;
|
550
|
1763 printf("#1760:dtosop 1 %g\n",i);
|
274
|
1764 i = i1 - i2;
|
550
|
1765 printf("#1762:dtosop 2 %g\n",i);
|
274
|
1766 i = i1 / i2;
|
550
|
1767 printf("#1764:dtosop 3 %g\n",i);
|
274
|
1768 i = i1 * i2;
|
550
|
1769 printf("#1766:dtosop 4 %g\n",i);
|
274
|
1770 u = u1 + u2;
|
550
|
1771 printf("#1768:dtosop 1 %g\n",u);
|
274
|
1772 u = u1 - u2;
|
550
|
1773 printf("#1770:dtosop 2 %g\n",u);
|
274
|
1774 u = u1 / u2;
|
550
|
1775 printf("#1772:dtosop 3 %g\n",u);
|
274
|
1776 u = u1 * u2;
|
550
|
1777 printf("#1774:dtosop 4 %g\n",u);
|
274
|
1778 }
|
|
1779
|
|
1780
|
196
|
1781 // code_dassop(int op,int d)
|
550
|
1782 INLINE void
|
198
|
1783 code_dassop()
|
|
1784 {
|
|
1785 double i1,i2;
|
|
1786 float ui1,ui2;
|
|
1787 i1 = -555; i2= 555;
|
|
1788 ui1 = 632423423; ui2= 32394234;
|
|
1789
|
|
1790 i1 += 3;
|
550
|
1791 printf("#1788:code_dassop 1 %g\n",i1);
|
198
|
1792 i1 -= 3;
|
550
|
1793 printf("#1790:code_dassop 2 %g\n",i1);
|
198
|
1794 i1 /= 3;
|
550
|
1795 printf("#1792:code_dassop 3 %g\n",i1);
|
198
|
1796 i1 *= 3;
|
550
|
1797 printf("#1794:code_dassop 4 %g\n",i1);
|
198
|
1798
|
|
1799 ui1 += 3;
|
550
|
1800 printf("#1797:code_dassop f 1 %g\n",ui1);
|
198
|
1801 ui1 -= 3;
|
550
|
1802 printf("#1799:code_dassop f 2 %g\n",ui1);
|
198
|
1803 ui1 /= 3;
|
550
|
1804 printf("#1801:code_dassop f 3 %g\n",ui1);
|
198
|
1805 ui1 *= 3;
|
550
|
1806 printf("#1803:code_dassop f 4 %g\n",ui1);
|
198
|
1807 }
|
|
1808
|
273
|
1809 // code_dassop(int op,int d)
|
550
|
1810 INLINE void
|
273
|
1811 code_register_dassop()
|
|
1812 {
|
|
1813 register double i1,i2;
|
|
1814 register float ui1,ui2;
|
|
1815 i1 = -555; i2= 555;
|
|
1816 ui1 = 632423423; ui2= 32394234;
|
|
1817
|
|
1818 i1 += 3;
|
550
|
1819 printf("#1816:code_dassop r 1 %g\n",i1);
|
273
|
1820 i1 -= 3;
|
550
|
1821 printf("#1818:code_dassop r 2 %g\n",i1);
|
273
|
1822 i1 /= 3;
|
550
|
1823 printf("#1820:code_dassop r 3 %g\n",i1);
|
273
|
1824 i1 *= 3;
|
550
|
1825 printf("#1822:code_dassop r 4 %g\n",i1);
|
273
|
1826
|
|
1827 ui1 += 3;
|
550
|
1828 printf("#1825:code_dassop f r 1 %g\n",ui1);
|
273
|
1829 ui1 -= 3;
|
550
|
1830 printf("#1827:code_dassop f r 2 %g\n",ui1);
|
273
|
1831 ui1 /= 3;
|
550
|
1832 printf("#1829:code_dassop f r 3 %g\n",ui1);
|
273
|
1833 ui1 *= 3;
|
550
|
1834 printf("#1831:code_dassop f r 4 %g\n",ui1);
|
273
|
1835 }
|
|
1836
|
198
|
1837
|
196
|
1838 // code_dpreinc(int e1,int e2,int d,int reg)
|
550
|
1839 INLINE void
|
199
|
1840 code_dpreinc()
|
|
1841 {
|
|
1842 double i,j;
|
|
1843 float ui,uj;
|
|
1844 i = 123123123;j = 0;
|
550
|
1845 printf("#1842:code_dpreinc d %g %g",++i,--j);
|
|
1846 printf("#1843: %g %g\n",i,j);
|
199
|
1847 ui = 123123123;uj = 0;
|
550
|
1848 printf("#1845:code_dpreinc f %g %g",++ui,--uj);
|
|
1849 printf("#1846: %g %g\n",ui,uj);
|
199
|
1850 }
|
|
1851
|
196
|
1852 // code_dpostinc(int e1,int e2,int d,int reg)
|
550
|
1853 INLINE void
|
199
|
1854 code_dpostinc()
|
|
1855 {
|
|
1856 double i,j;
|
|
1857 float ui,uj;
|
274
|
1858 i = 123123;j = 0;
|
550
|
1859 printf("#1856:code_dpostinc d %g %g",i--,j--);
|
|
1860 printf("#1857: %g %g\n",i,j);
|
274
|
1861 ui = 123123;uj = 0;
|
550
|
1862 printf("#1859:code_dpostinc f %g %g",ui++,uj--);
|
|
1863 printf("#1860: %g %g\n",ui,uj);
|
273
|
1864 }
|
|
1865
|
|
1866 // code_dpreinc(int e1,int e2,int d,int reg)
|
550
|
1867 INLINE void
|
273
|
1868 code_register_dpreinc()
|
|
1869 {
|
|
1870 register double i,j;
|
|
1871 register float ui,uj;
|
274
|
1872 i = 123123;j = 0;
|
550
|
1873 printf("#1870:code_dpreinc r d %g %g",++i,--j);
|
|
1874 printf("#1871: %g %g\n",i,j);
|
274
|
1875 ui = 123123;uj = 0;
|
550
|
1876 printf("#1873:code_dpreinc r f %g %g",++ui,--uj);
|
|
1877 printf("#1874: %g %g\n",ui,uj);
|
273
|
1878 }
|
|
1879
|
|
1880 // code_dpostinc(int e1,int e2,int d,int reg)
|
550
|
1881 INLINE void
|
273
|
1882 code_register_dpostinc()
|
|
1883 {
|
|
1884 register double i,j;
|
|
1885 register float ui,uj;
|
274
|
1886 i = 123123;j = 0;
|
550
|
1887 printf("#1884:code_dpostinc r d %g %g",i--,j--);
|
|
1888 printf("#1885: %g %g\n",i,j);
|
274
|
1889 ui = 123123;uj = 0;
|
550
|
1890 printf("#1887:code_dpostinc r f %g %g",ui++,uj--);
|
|
1891 printf("#1888: %g %g\n",ui,uj);
|
199
|
1892 }
|
|
1893
|
196
|
1894 // drexpr(int e1, int e2,int l1, int op)
|
|
1895
|
|
1896 // case DOP+GE:
|
|
1897 // case FOP+GE:
|
|
1898 // case DOP+GT:
|
|
1899 // case FOP+GT:
|
|
1900 // case DOP+EQ:
|
|
1901 // case FOP+EQ:
|
|
1902 // case DOP+NEQ:
|
|
1903 // case FOP+NEQ:
|
199
|
1904 // code_gt(int cond)
|
|
1905
|
550
|
1906 INLINE void
|
227
|
1907 code_dgt()
|
199
|
1908 {
|
280
|
1909 double reg;
|
199
|
1910 if (d0>d1)
|
550
|
1911 printf("#1908:code_dgt 1\n");
|
199
|
1912 else
|
550
|
1913 printf("#1910:code_dgt 0\n");
|
280
|
1914 for (reg=-3;reg<7;reg++) {
|
|
1915 if (0<reg && reg<3)
|
550
|
1916 printf("#1913:reg=%g code_dgt 0<reg && reg <3\n",reg);
|
280
|
1917 }
|
|
1918 for (reg=-3;reg<7;reg++) {
|
|
1919 if (-2<reg && reg<0)
|
550
|
1920 printf("#1917:reg=%g code_dgt -2<reg && reg <0\n",reg);
|
280
|
1921 }
|
199
|
1922 }
|
|
1923
|
|
1924 // code_ugt(int cond)
|
550
|
1925 INLINE void
|
227
|
1926 code_fgt()
|
199
|
1927 {
|
280
|
1928 float reg;
|
199
|
1929 if (f0>f1)
|
550
|
1930 printf("#1927:code_fgt 1\n");
|
199
|
1931 else
|
550
|
1932 printf("#1929:code_fgt 0\n");
|
280
|
1933 for (reg=-3;reg<7;reg++) {
|
|
1934 if (0<reg && reg<3)
|
550
|
1935 printf("#1932:reg=%g code_fgt 0<reg && reg <3\n",reg);
|
280
|
1936 }
|
|
1937 for (reg=-3;reg<7;reg++) {
|
|
1938 if (-2<reg && reg<0)
|
550
|
1939 printf("#1936:reg=%g code_fgt -2<reg && reg <0\n",reg);
|
280
|
1940 }
|
199
|
1941 }
|
|
1942
|
|
1943 // code_ge(int cond)
|
550
|
1944 INLINE void
|
227
|
1945 code_dge()
|
199
|
1946 {
|
280
|
1947 double reg;
|
199
|
1948 if (d0>=d1)
|
550
|
1949 printf("#1946:code_dge 1\n");
|
199
|
1950 else
|
550
|
1951 printf("#1948:code_dge 0\n");
|
280
|
1952 for (reg=-3;reg<7;reg++) {
|
|
1953 if (0<=reg && reg<=3)
|
550
|
1954 printf("#1951:reg=%g code_dge 0<reg && reg <=3\n",reg);
|
280
|
1955 }
|
|
1956 for (reg=-3;reg<7;reg++) {
|
|
1957 if (-2<=reg && reg<=0)
|
550
|
1958 printf("#1955:reg=%g code_dge -2<reg && reg <=0\n",reg);
|
280
|
1959 }
|
199
|
1960 }
|
|
1961
|
|
1962 // code_uge(int cond)
|
550
|
1963 INLINE void
|
227
|
1964 code_fge()
|
199
|
1965 {
|
280
|
1966 float reg;
|
199
|
1967 if (f0>=f1)
|
550
|
1968 printf("#1965:code_fge 1\n");
|
199
|
1969 else
|
550
|
1970 printf("#1967:code_fge 0\n");
|
280
|
1971 for (reg=-3;reg<7;reg++) {
|
|
1972 if (0<=reg && reg<=3)
|
550
|
1973 printf("#1970:reg=%g code_fge 0<=reg && reg <=3\n",reg);
|
280
|
1974 }
|
|
1975 for (reg=-3;reg<7;reg++) {
|
|
1976 if (-2<=reg && reg<=0)
|
550
|
1977 printf("#1974:reg=%g code_fge -2<=reg && reg <=0\n",reg);
|
280
|
1978 }
|
199
|
1979 }
|
|
1980
|
|
1981 // code_eq(int cond)
|
550
|
1982 INLINE void
|
227
|
1983 code_deq()
|
199
|
1984 {
|
|
1985 if (f0==f1)
|
550
|
1986 printf("#1983:code_feq 1\n");
|
199
|
1987 else
|
550
|
1988 printf("#1985:code_feq 0\n");
|
199
|
1989 if (d0!=d1)
|
550
|
1990 printf("#1987:code_deq 1\n");
|
199
|
1991 else
|
550
|
1992 printf("#1989:code_deq 0\n");
|
199
|
1993 }
|
|
1994
|
|
1995 // code_dbool(int e1)
|
|
1996
|
550
|
1997 INLINE void
|
199
|
1998 code_dbool()
|
|
1999 {
|
288
|
2000 float i1l,i2l;
|
|
2001 double ui1l,ui2l;
|
276
|
2002
|
288
|
2003 d1 = d0-3;
|
|
2004 for(f1=f0-3;f1<f0+3;f1++) {
|
550
|
2005 printf("#2002:code_dbool %g>%g gvar %d\n",f0,f1,f0>f1);
|
|
2006 printf("#2003:code_dbool %g>%g gvar %d d\n",d0,d1,d0>d1);
|
|
2007 printf("#2004:code_dbool %g>=%g gvar %d\n",f0,f1,f0>=f1);
|
|
2008 printf("#2005:code_dbool %g>=%g gvar %d d\n",d0,d1,d0>=d1);
|
|
2009 printf("#2006:code_dbool %g<%g gvar %d\n",f0,f1,f0<f1);
|
|
2010 printf("#2007:code_dbool %g<%g gvar %d d\n",d0,d1,d0<d1);
|
|
2011 printf("#2008:code_dbool %g<=%g gvar %d\n",f0,f1,f0<=f1);
|
|
2012 printf("#2009:code_dbool %g<=%g gvar %d d\n",d0,d1,d0<=d1);
|
|
2013 printf("#2010:code_dbool %g==%g gvar %d d\n",d0,d1,d0==d1);
|
|
2014 printf("#2011:code_dbool %g!=%g gvar %d\n",f0,f1,f0!=f1);
|
288
|
2015 d1++;
|
|
2016 }
|
|
2017 ui1l = d0;
|
|
2018 i1l = f0;
|
|
2019 ui2l = d0-3;
|
|
2020 for(i2l=f0-3;i2l<i1l+3;i2l++) {
|
550
|
2021 printf("#2018:code_dbool %g>%g lvar %d\n",i1l,i2l,i1l>i2l);
|
|
2022 printf("#2019:code_dbool %g>%g lvar %d d\n",ui1l,ui2l,ui1l>ui2l);
|
|
2023 printf("#2020:code_dbool %g>=%g lvar %d\n",i1l,i2l,i1l>=i2l);
|
|
2024 printf("#2021:code_dbool %g>=%g lvar %d d\n",ui1l,ui2l,ui1l>=ui2l);
|
|
2025 printf("#2022:code_dbool %g<%g lvar %d\n",i1l,i2l,i1l<i2l);
|
|
2026 printf("#2023:code_dbool %g<%g lvar %d d\n",ui1l,ui2l,ui1l<ui2l);
|
|
2027 printf("#2024:code_dbool %g<=%g lvar %d\n",i1l,i2l,i1l<=i2l);
|
|
2028 printf("#2025:code_dbool %g<=%g lvar %d d\n",ui1l,ui2l,ui1l<=ui2l);
|
|
2029 printf("#2026:code_dbool %g==%g lvar %d d\n",ui1l,ui2l,ui1l==ui2l);
|
|
2030 printf("#2027:code_dbool %g!=%g lvar %d\n",i1l,i2l,i1l!=i2l);
|
288
|
2031 ui2l++;
|
|
2032 }
|
|
2033 }
|
276
|
2034
|
196
|
2035 #endif
|
|
2036
|
199
|
2037
|
196
|
2038 #if LONGLONG_CODE
|
|
2039 // lrexpr(int e1, int e2,int l1, int op)
|
550
|
2040 INLINE void
|
200
|
2041 code_lbool()
|
|
2042 {
|
276
|
2043 long long l0l,l1l;
|
|
2044 unsigned long long ul0l,ul1l;
|
|
2045
|
550
|
2046 printf("#2043:code_bool > long long %d %d %d %d %d %d\n",
|
200
|
2047 l1>l0,ul1>ul0,l1>=l0,ul1>=ul0,ul1==ul0,l1!=l0);
|
550
|
2048 printf("#2045:code_bool < long long %d %d %d %d %d %d\n",
|
227
|
2049 l1<l0,ul1<ul0,l1<=l0,ul1<=ul0,ul1==ul0,l1!=l0);
|
276
|
2050
|
|
2051 l0l=l1l=l0;
|
|
2052 ul0l=ul1l=ul0;
|
|
2053
|
550
|
2054 printf("#2051:code_bool eq > long long %d %d %d %d %d %d\n",
|
276
|
2055 l1l>l0l,ul1l>ul0l,l1l>=l0l,ul1l>=ul0l,ul1l==ul0l,l1l!=l0l);
|
550
|
2056 printf("#2053:code_bool eq < long long %d %d %d %d %d %d\n",
|
276
|
2057 l1l<l0l,ul1l<ul0l,l1l<=l0l,ul1l<=ul0l,ul1l==ul0l,l1l!=l0l);
|
|
2058
|
200
|
2059 }
|
|
2060
|
196
|
2061 // int lpop_register()
|
|
2062 // code_lregister(int e2,int reg)
|
550
|
2063 INLINE void
|
201
|
2064 code_lregister()
|
200
|
2065 {
|
|
2066 register long long l0,l1;
|
|
2067 register unsigned long long ul0,ul1;
|
|
2068 l0 = 123123123LL;
|
|
2069 l1 = 123123123LL;
|
|
2070 ul0 = 123123123LL;
|
|
2071 ul1 = 123123123LL;
|
550
|
2072 printf("#2069:code_lvar long long %llu %llu %llu %llu\n",l0,l1,ul0,ul1);
|
200
|
2073 }
|
|
2074
|
196
|
2075 // code_cmp_lregister(int reg)
|
550
|
2076 INLINE void
|
200
|
2077 code_cmp_lregister()
|
|
2078 {
|
|
2079 register long long l0,l1;
|
|
2080 register unsigned long long ul0,ul1;
|
|
2081 l0 = 123123123LL;
|
|
2082 l1 = 123123123LL;
|
|
2083 ul0 = 123123123LL;
|
|
2084 ul1 = 123123123LL;
|
550
|
2085 l0 && printf("#2082:code_bool register 8\n");
|
|
2086 ul0 && printf("#2083:code_bool register 9\n");
|
200
|
2087 }
|
|
2088
|
196
|
2089 // code_cmp_lrgvar(int e1,int e2)
|
550
|
2090 INLINE void
|
200
|
2091 code_cmp_lrgvar()
|
|
2092 {
|
|
2093 l0 = 123123123LL;
|
|
2094 l1 = 123123123LL;
|
|
2095 ul0 = 123123123LL;
|
|
2096 ul1 = 123123123LL;
|
550
|
2097 l0 && printf("#2094:code_bool global 8\n");
|
|
2098 ul0 && printf("#2095:code_bool global 9\n");
|
200
|
2099 }
|
196
|
2100 // code_cmp_lrlvar(int e1,int e2)
|
550
|
2101 INLINE void
|
200
|
2102 code_cmp_lrlvar()
|
|
2103 {
|
|
2104 long long l0,l1;
|
|
2105 unsigned long long ul0,ul1;
|
|
2106 l0 = 123123123LL;
|
|
2107 l1 = 123123123LL;
|
|
2108 ul0 = 123123123LL;
|
|
2109 ul1 = 123123123LL;
|
550
|
2110 l0 && printf("#2107:code_bool local 8\n");
|
|
2111 ul0 && printf("#2108:code_bool local 9\n");
|
200
|
2112 }
|
|
2113
|
196
|
2114 // code_lassign(int e1,int e2)
|
|
2115 // code_lassign_gvar(int e1,int e2)
|
|
2116 // code_lassign_lvar(int e1,int e2)
|
|
2117 // code_lassign_lregister(int e2,int reg)
|
550
|
2118 INLINE void
|
200
|
2119 code_lassign()
|
|
2120 {
|
|
2121 long long i1,i2;
|
|
2122 unsigned long long ui1,ui2;
|
|
2123 long long *pi1,*pi2;
|
|
2124 unsigned long long *pui1,*pui2;
|
|
2125
|
|
2126 i1 = -555; i2= 555;
|
|
2127 ui1 = 632423423; ui2= 32394234;
|
|
2128 pi1 = &i1;
|
|
2129 pi2 = &i2;
|
|
2130 pui1 = &ui1;
|
|
2131 pui2 = &ui2;
|
|
2132
|
|
2133 *(pi2+i1+i2) = 3;
|
|
2134 *(pui2+i1+i2) = 3;
|
550
|
2135 printf("#2132:code_rindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2);
|
200
|
2136 }
|
|
2137
|
550
|
2138 INLINE void
|
274
|
2139 code_lassign_register()
|
|
2140 {
|
|
2141 long long i1,i2;
|
|
2142 unsigned long long ui1,ui2;
|
|
2143 register long long *pi1,*pi2;
|
|
2144 register unsigned long long *pui1,*pui2;
|
|
2145
|
|
2146 i1 = -555; i2= 555;
|
|
2147 ui1 = 632423423; ui2= 32394234;
|
|
2148 pi1 = &i1;
|
|
2149 pi2 = &i2;
|
|
2150 pui1 = &ui1;
|
|
2151 pui2 = &ui2;
|
|
2152
|
|
2153 *(pi2+i1+i2) = 3;
|
|
2154 *(pui2+i1+i2) = 3;
|
550
|
2155 printf("#2152:code_rindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2);
|
274
|
2156 }
|
|
2157
|
196
|
2158 // code_lconst(int e1,int e2)
|
|
2159 // code_lneg(int e1,int e2)
|
550
|
2160 INLINE void
|
200
|
2161 code_lneg()
|
|
2162 {
|
|
2163 long long i,j;
|
|
2164 i = 123123123;j = -32423;
|
550
|
2165 printf("#2162:code_neg %lld %lld\n",-i,-j);
|
200
|
2166 }
|
|
2167
|
196
|
2168 // code_lrgvar(int e1,int e2)
|
550
|
2169 INLINE void
|
200
|
2170 code_lrgvar()
|
|
2171 {
|
|
2172 l0 = 123123123LL;
|
|
2173 l1 = 123123123LL;
|
|
2174 ul0 = 123123123LL;
|
|
2175 ul1 = 123123123LL;
|
550
|
2176 printf("#2173:code_lrgvar long long %lld %lld %llu %llu\n",l0,l1,ul0,ul1);
|
200
|
2177 s_l0 = 123123123LL;
|
|
2178 s_l1 = 123123123LL;
|
|
2179 s_ul0 = 123123123LL;
|
|
2180 s_ul1 = 123123123LL;
|
550
|
2181 printf("#2178:code_lrgvar long long %lld %lld %llu %llu\n",s_l0,s_l1,s_ul0,s_ul1);
|
200
|
2182 }
|
|
2183
|
196
|
2184 // code_lrlvar(int e1,int e2)
|
550
|
2185 INLINE void
|
200
|
2186 code_lrlvar()
|
|
2187 {
|
|
2188 long long l0,l1;
|
|
2189 unsigned long long ul0,ul1;
|
|
2190 l0 = 123123123LL;
|
|
2191 l1 = 123123123LL;
|
|
2192 ul0 = 123123123LL;
|
|
2193 ul1 = 123123123LL;
|
550
|
2194 printf("#2191:code_lvar long long %lld %lld %llu %llu\n",l0,l1,ul0,ul1);
|
|
2195 printf("#2192:code_bool lvar > long long %d %d %d %d %d %d\n",
|
227
|
2196 l1>l0,ul1>ul0,l1>=l0,ul1>=ul0,ul1==ul0,l1!=l0);
|
550
|
2197 printf("#2194:code_bool lvar < long long %d %d %d %d %d %d\n",
|
227
|
2198 l1<l0,ul1<ul0,l1<=l0,ul1<=ul0,ul1==ul0,l1!=l0);
|
200
|
2199 }
|
|
2200
|
196
|
2201 // ltosop(int e1,int e2)
|
550
|
2202 INLINE void
|
200
|
2203 ltosop()
|
|
2204 {
|
|
2205 long long i1,i2,i;
|
201
|
2206 unsigned long long u1,u2,u;
|
214
|
2207 int ii2;
|
|
2208 unsigned int uu2;
|
200
|
2209 i1 = -555; i2= 555;
|
201
|
2210 u1 = 632423423; u2= 32394234;
|
214
|
2211 ii2 = -33;
|
|
2212 uu2 = 33;
|
242
|
2213 u = 0;
|
200
|
2214
|
|
2215 i = i1 + i2;
|
550
|
2216 printf("#2213:ltosop 1 %lld\n",i);
|
200
|
2217 i = i1 - i2;
|
550
|
2218 printf("#2215:ltosop 2 %lld\n",i);
|
200
|
2219 i = i1 / i2;
|
550
|
2220 printf("#2217:ltosop 3 %lld\n",i);
|
200
|
2221 i = i1 * i2;
|
550
|
2222 printf("#2219:ltosop 4 %lld\n",i);
|
200
|
2223 i = i1 | i2;
|
550
|
2224 printf("#2221:ltosop 5 %lld\n",i);
|
200
|
2225 i = i1 & i2;
|
550
|
2226 printf("#2223:ltosop 6 %lld\n",i);
|
200
|
2227 i = i1 ^ i2;
|
550
|
2228 printf("#2225:ltosop 7 %lld\n",i);
|
200
|
2229 i = i1 << i2;
|
550
|
2230 printf("#2227:ltosop 8 %lld\n",i);
|
200
|
2231 i = i1 >> i2;
|
550
|
2232 printf("#2229:ltosop 9 %lld\n",i);
|
214
|
2233 i = i1 % i2;
|
550
|
2234 printf("#2231:ltosop 10 %lld\n",i);
|
200
|
2235
|
|
2236 u = u1 + u2;
|
550
|
2237 printf("#2234:ltosop u 1 %llu\n",u);
|
200
|
2238 u = u1 - u2;
|
550
|
2239 printf("#2236:ltosop u 2 %llu\n",u);
|
200
|
2240 u = u1 / u2;
|
550
|
2241 printf("#2238:ltosop u 3 %llu\n",u);
|
200
|
2242 u = u1 * u2;
|
550
|
2243 printf("#2240:ltosop u 4 %llu\n",u);
|
200
|
2244 u = u1 | u2;
|
550
|
2245 printf("#2242:ltosop u 5 %llu\n",u);
|
200
|
2246 u = u1 & u2;
|
550
|
2247 printf("#2244:ltosop u 6 %llu\n",u);
|
200
|
2248 u = u1 ^ u2;
|
550
|
2249 printf("#2246:ltosop u 7 %llu\n",u);
|
405
|
2250 u2 = 3;
|
200
|
2251 u = u1 << u2;
|
550
|
2252 printf("#2249:ltosop u 8 %llu\n",u);
|
200
|
2253 u = u1 >> u2;
|
550
|
2254 printf("#2251:ltosop u 9 %llu\n",u);
|
214
|
2255 u = u1 % u2;
|
550
|
2256 printf("#2253:ltosop u 10 %llu\n",u);
|
214
|
2257
|
|
2258 i = i1 + ii2;
|
550
|
2259 printf("#2256:litosop 1 %lld\n",i);
|
214
|
2260 i = i1 - ii2;
|
550
|
2261 printf("#2258:litosop 2 %lld\n",i);
|
214
|
2262 i = i1 / ii2;
|
550
|
2263 printf("#2260:litosop 3 %lld\n",i);
|
214
|
2264 i = i1 * ii2;
|
550
|
2265 printf("#2262:litosop 4 %lld\n",i);
|
214
|
2266 i = i1 | ii2;
|
550
|
2267 printf("#2264:litosop 5 %lld\n",i);
|
214
|
2268 i = i1 & ii2;
|
550
|
2269 printf("#2266:litosop 6 %lld\n",i);
|
214
|
2270 i = i1 ^ ii2;
|
550
|
2271 printf("#2268:litosop 7 %lld\n",i);
|
405
|
2272 ii2 = 3;
|
214
|
2273 i = i1 << ii2;
|
550
|
2274 printf("#2271:litosop 8 %lld\n",i);
|
214
|
2275 i = i1 >> ii2;
|
550
|
2276 printf("#2273:litosop 9 %lld\n",i);
|
214
|
2277 i = i1 % ii2;
|
550
|
2278 printf("#2275:litosop 10 %lld\n",i);
|
214
|
2279
|
|
2280 u = u1 + uu2;
|
550
|
2281 printf("#2278:litosop u 1 %llu\n",u);
|
214
|
2282 u = u1 - uu2;
|
550
|
2283 printf("#2280:litosop u 2 %llu\n",u);
|
214
|
2284 u = u1 / uu2;
|
550
|
2285 printf("#2282:litosop u 3 %llu\n",u);
|
214
|
2286 u = u1 * uu2;
|
550
|
2287 printf("#2284:litosop u 4 %llu\n",u);
|
214
|
2288 u = u1 | uu2;
|
550
|
2289 printf("#2286:litosop u 5 %llu\n",u);
|
214
|
2290 u = u1 & uu2;
|
550
|
2291 printf("#2288:litosop u 6 %llu\n",u);
|
214
|
2292 u = u1 ^ uu2;
|
550
|
2293 printf("#2290:litosop u 7 %llu\n",u);
|
405
|
2294 uu2 = 3;
|
214
|
2295 u = u1 << uu2;
|
550
|
2296 printf("#2293:litosop u 8 %llu\n",u);
|
214
|
2297 u = u1 >> uu2;
|
550
|
2298 printf("#2295:litosop u 9 %llu\n",u);
|
214
|
2299 u = u1 % uu2;
|
550
|
2300 printf("#2297:litosop u 10 %llu\n",u);
|
200
|
2301 }
|
|
2302
|
214
|
2303 // loprtc(int op,int v)
|
550
|
2304 INLINE void
|
214
|
2305 loprtc()
|
|
2306 {
|
|
2307 long long i1,i;
|
|
2308 unsigned long long u1,u;
|
|
2309 i1 = -555;
|
|
2310 u1 = 632423423;
|
|
2311
|
|
2312 i = i1 + 3;
|
550
|
2313 printf("#2310:loprtc 1 %lld\n",i);
|
214
|
2314 i = i1 - 3;
|
550
|
2315 printf("#2312:loprtc 2 %lld\n",i);
|
214
|
2316 i = i1 / 32323423423LL;
|
550
|
2317 printf("#2314:loprtc 3 %lld\n",i);
|
214
|
2318 i = i1 * 323423423423LL;
|
550
|
2319 printf("#2316:loprtc 4 %lld\n",i);
|
214
|
2320 i = i1 | 234234234;
|
550
|
2321 printf("#2318:loprtc 5 %lld\n",i);
|
214
|
2322 i = i1 & 23234234;
|
550
|
2323 printf("#2320:loprtc 6 %lld\n",i);
|
214
|
2324 i = i1 ^ 23234234;
|
550
|
2325 printf("#2322:loprtc 7 %lld\n",i);
|
214
|
2326 i = i1 << 5;
|
550
|
2327 printf("#2324:loprtc 8 %lld\n",i);
|
214
|
2328 i = i1 >> 5;
|
550
|
2329 printf("#2326:loprtc 9 %lld\n",i);
|
435
|
2330 i = i1 << 38;
|
550
|
2331 printf("#2328:loprtc 8 %lld\n",i);
|
435
|
2332 i = i1 >> 38;
|
550
|
2333 printf("#2330:loprtc 9 %lld\n",i);
|
214
|
2334 i = i1 % 5;
|
550
|
2335 printf("#2332:loprtc 10 %lld\n",i);
|
436
|
2336 i = i1 / 8;
|
550
|
2337 printf("#2334:loprtc 3 %lld\n",i);
|
436
|
2338 i = i1 / 256;
|
550
|
2339 printf("#2336:loprtc 3 %lld\n",i);
|
436
|
2340 i = i1 % 8;
|
550
|
2341 printf("#2338:loprtc 3 %lld\n",i);
|
436
|
2342 i = i1 % 256;
|
550
|
2343 printf("#2340:loprtc 3 %lld\n",i);
|
436
|
2344 i = i1 * 8;
|
550
|
2345 printf("#2342:loprtc 3 %lld\n",i);
|
436
|
2346 i = i1 * 256;
|
550
|
2347 printf("#2344:loprtc 3 %lld\n",i);
|
214
|
2348
|
|
2349 u = u1 + 3;
|
550
|
2350 printf("#2347:loprtc 1 u %llu\n",u);
|
214
|
2351 u = u1 - 3;
|
550
|
2352 printf("#2349:loprtc 2 u %llu\n",u);
|
214
|
2353 u = u1 / 32342342344234LL;
|
550
|
2354 printf("#2351:loprtc 3 u %llu\n",u);
|
214
|
2355 u = u1 * 243234234232324LL;
|
550
|
2356 printf("#2353:loprtc 4 u %llu\n",u);
|
214
|
2357 u = u1 | 234234234;
|
550
|
2358 printf("#2355:loprtc 5 u %llu\n",u);
|
214
|
2359 u = u1 & 234234234;
|
550
|
2360 printf("#2357:loprtc 6 u %llu\n",u);
|
214
|
2361 u = u1 ^ 234234234;
|
550
|
2362 printf("#2359:loprtc 7 u %llu\n",u);
|
214
|
2363 u = u1 << 5;
|
550
|
2364 printf("#2361:loprtc 8 u %llu\n",u);
|
214
|
2365 u = u1 >> 5;
|
490
|
2366 printf("#2363:loprtc 9 u %llu\n",u);
|
550
|
2367 u = u1 << 38;
|
|
2368 printf("#2365:loprtc 8 u %llu\n",u);
|
|
2369 u = u1 >> 38;
|
|
2370 printf("#2367:loprtc 9 u %llu\n",u);
|
214
|
2371 u = u1 % 5;
|
550
|
2372 printf("#2369:loprtc 10 u %llu\n",u);
|
436
|
2373 u = u1 / 8;
|
490
|
2374 printf("#2371:loprtc 3 %lld\n",i);
|
436
|
2375 u = u1 / 256;
|
490
|
2376 printf("#2373:loprtc 3 %lld\n",i);
|
550
|
2377 u = u1 / 8;
|
490
|
2378 printf("#2375:loprtc 3 %lld\n",i);
|
550
|
2379 u = u1 / 256;
|
490
|
2380 printf("#2377:loprtc 3 %lld\n",i);
|
550
|
2381 u = u1 % 8;
|
490
|
2382 printf("#2379:loprtc 3 %lld\n",i);
|
550
|
2383 u = u1 % 256;
|
|
2384 printf("#2381:loprtc 3 %lld\n",i);
|
|
2385 u = u1 * 8;
|
|
2386 printf("#2383:loprtc 3 %lld\n",i);
|
436
|
2387 u = u1 * 256;
|
550
|
2388 printf("#2385:loprtc 3 %lld\n",i);
|
214
|
2389 }
|
|
2390
|
|
2391
|
274
|
2392 // ltosop(int e1,int e2)
|
550
|
2393 INLINE void
|
274
|
2394 ltosop_register()
|
|
2395 {
|
|
2396 register long long i1,i2,i;
|
|
2397 register unsigned long long u1,u2,u;
|
|
2398 register int ii2;
|
|
2399 register unsigned int uu2;
|
|
2400 i1 = -555; i2= 555;
|
|
2401 u1 = 632423423; u2= 32394234;
|
|
2402 ii2 = -33;
|
|
2403 uu2 = 33;
|
|
2404 u = 0;
|
|
2405
|
|
2406 i = i1 + i2;
|
550
|
2407 printf("#2404:ltosop r 1 %lld\n",i);
|
274
|
2408 i = i1 - i2;
|
550
|
2409 printf("#2406:ltosop r 2 %lld\n",i);
|
274
|
2410 i = i1 / i2;
|
550
|
2411 printf("#2408:ltosop r 3 %lld\n",i);
|
274
|
2412 i = i1 * i2;
|
550
|
2413 printf("#2410:ltosop r 4 %lld\n",i);
|
274
|
2414 i = i1 | i2;
|
550
|
2415 printf("#2412:ltosop r 5 %lld\n",i);
|
274
|
2416 i = i1 & i2;
|
550
|
2417 printf("#2414:ltosop r 6 %lld\n",i);
|
274
|
2418 i = i1 ^ i2;
|
550
|
2419 printf("#2416:ltosop r 7 %lld\n",i);
|
405
|
2420 i2 = 3;
|
274
|
2421 i = i1 << i2;
|
550
|
2422 printf("#2419:ltosop r 8 %lld\n",i);
|
274
|
2423 i = i1 >> i2;
|
550
|
2424 printf("#2421:ltosop r 9 %lld\n",i);
|
274
|
2425 i = i1 % i2;
|
550
|
2426 printf("#2423:ltosop r 10 %lld\n",i);
|
274
|
2427
|
|
2428 u = u1 + u2;
|
550
|
2429 printf("#2426:ltosop r u 1 %llu\n",u);
|
274
|
2430 u = u1 - u2;
|
550
|
2431 printf("#2428:ltosop r u 2 %llu\n",u);
|
274
|
2432 u = u1 / u2;
|
550
|
2433 printf("#2430:ltosop r u 3 %llu\n",u);
|
274
|
2434 u = u1 * u2;
|
550
|
2435 printf("#2432:ltosop r u 4 %llu\n",u);
|
274
|
2436 u = u1 | u2;
|
550
|
2437 printf("#2434:ltosop r u 5 %llu\n",u);
|
274
|
2438 u = u1 & u2;
|
550
|
2439 printf("#2436:ltosop r u 6 %llu\n",u);
|
274
|
2440 u = u1 ^ u2;
|
550
|
2441 printf("#2438:ltosop r u 7 %llu\n",u);
|
405
|
2442 u2 = 3;
|
274
|
2443 u = u1 << u2;
|
550
|
2444 printf("#2441:ltosop r u 8 %llu\n",u);
|
274
|
2445 u = u1 >> u2;
|
550
|
2446 printf("#2443:ltosop r u 9 %llu\n",u);
|
274
|
2447 u = u1 % u2;
|
550
|
2448 printf("#2445:ltosop r u 10 %llu\n",u);
|
274
|
2449
|
|
2450 i = i1 + ii2;
|
550
|
2451 printf("#2448:litosop r 1 %lld\n",i);
|
274
|
2452 i = i1 - ii2;
|
550
|
2453 printf("#2450:litosop r 2 %lld\n",i);
|
274
|
2454 i = i1 / ii2;
|
550
|
2455 printf("#2452:litosop r 3 %lld\n",i);
|
274
|
2456 i = i1 * ii2;
|
550
|
2457 printf("#2454:litosop r 4 %lld\n",i);
|
274
|
2458 i = i1 | ii2;
|
550
|
2459 printf("#2456:litosop r 5 %lld\n",i);
|
274
|
2460 i = i1 & ii2;
|
550
|
2461 printf("#2458:litosop r 6 %lld\n",i);
|
274
|
2462 i = i1 ^ ii2;
|
550
|
2463 printf("#2460:litosop r 7 %lld\n",i);
|
405
|
2464 ii2 = 3;
|
274
|
2465 i = i1 << ii2;
|
550
|
2466 printf("#2463:litosop r 8 %lld\n",i);
|
274
|
2467 i = i1 >> ii2;
|
550
|
2468 printf("#2465:litosop r 9 %lld\n",i);
|
274
|
2469 i = i1 % ii2;
|
550
|
2470 printf("#2467:litosop r 10 %lld\n",i);
|
274
|
2471
|
|
2472 u = u1 + uu2;
|
550
|
2473 printf("#2470:litosop r u 1 %llu\n",u);
|
274
|
2474 u = u1 - uu2;
|
550
|
2475 printf("#2472:litosop r u 2 %llu\n",u);
|
274
|
2476 u = u1 / uu2;
|
550
|
2477 printf("#2474:litosop r u 3 %llu\n",u);
|
274
|
2478 u = u1 * uu2;
|
550
|
2479 printf("#2476:litosop r u 4 %llu\n",u);
|
274
|
2480 u = u1 | uu2;
|
550
|
2481 printf("#2478:litosop r u 5 %llu\n",u);
|
274
|
2482 u = u1 & uu2;
|
550
|
2483 printf("#2480:litosop r u 6 %llu\n",u);
|
274
|
2484 u = u1 ^ uu2;
|
550
|
2485 printf("#2482:litosop r u 7 %llu\n",u);
|
405
|
2486 uu2 = 3;
|
274
|
2487 u = u1 << uu2;
|
550
|
2488 printf("#2485:litosop r u 8 %llu\n",u);
|
274
|
2489 u = u1 >> uu2;
|
550
|
2490 printf("#2487:litosop r u 9 %llu\n",u);
|
274
|
2491 u = u1 % uu2;
|
550
|
2492 printf("#2489:litosop r u 10 %llu\n",u);
|
274
|
2493 }
|
|
2494
|
|
2495 // loprtc(int op,int v)
|
550
|
2496 INLINE void
|
274
|
2497 loprtc_register()
|
|
2498 {
|
|
2499 register long long i1,i;
|
|
2500 register unsigned long long u1,u;
|
|
2501 i1 = -555;
|
|
2502 u1 = 632423423;
|
|
2503
|
|
2504 i = i1 + 3;
|
550
|
2505 printf("#2502:loprtc r 1 %lld\n",i);
|
274
|
2506 i = i1 - 3;
|
550
|
2507 printf("#2504:loprtc r 2 %lld\n",i);
|
274
|
2508 i = i1 / 32323423423LL;
|
550
|
2509 printf("#2506:loprtc r 3 %lld\n",i);
|
274
|
2510 i = i1 * 323423423423LL;
|
550
|
2511 printf("#2508:loprtc r 4 %lld\n",i);
|
274
|
2512 i = i1 | 234234234;
|
550
|
2513 printf("#2510:loprtc r 5 %lld\n",i);
|
274
|
2514 i = i1 & 23234234;
|
550
|
2515 printf("#2512:loprtc r 6 %lld\n",i);
|
274
|
2516 i = i1 ^ 23234234;
|
550
|
2517 printf("#2514:loprtc r 7 %lld\n",i);
|
274
|
2518 i = i1 << 5;
|
550
|
2519 printf("#2516:loprtc r 8 %lld\n",i);
|
274
|
2520 i = i1 >> 5;
|
550
|
2521 printf("#2518:loprtc r 9 %lld\n",i);
|
435
|
2522 i = i1 << 38;
|
550
|
2523 printf("#2520:loprtc r 8 %lld\n",i);
|
435
|
2524 i = i1 >> 38;
|
550
|
2525 printf("#2522:loprtc r 9 %lld\n",i);
|
274
|
2526 i = i1 % 5;
|
550
|
2527 printf("#2524:loprtc r 10 %lld\n",i);
|
436
|
2528 i = i1 / 8;
|
550
|
2529 printf("#2526:loprtc r 10 %lld\n",i);
|
436
|
2530 i = i1 / 256;
|
550
|
2531 printf("#2528:loprtc r 10 %lld\n",i);
|
436
|
2532 i = i1 * 8;
|
550
|
2533 printf("#2530:loprtc r 10 %lld\n",i);
|
436
|
2534 i = i1 * 256;
|
550
|
2535 printf("#2532:loprtc r 10 %lld\n",i);
|
274
|
2536
|
|
2537 u = u1 + 3;
|
550
|
2538 printf("#2535:loprtc r 1 u %llu\n",u);
|
274
|
2539 u = u1 - 3;
|
550
|
2540 printf("#2537:loprtc r 2 u %llu\n",u);
|
274
|
2541 u = u1 / 32342342344234LL;
|
550
|
2542 printf("#2539:loprtc r 3 u %llu\n",u);
|
274
|
2543 u = u1 * 243234234232324LL;
|
550
|
2544 printf("#2541:loprtc r 4 u %llu\n",u);
|
274
|
2545 u = u1 | 234234234;
|
550
|
2546 printf("#2543:loprtc r 5 u %llu\n",u);
|
274
|
2547 u = u1 & 234234234;
|
550
|
2548 printf("#2545:loprtc r 6 u %llu\n",u);
|
274
|
2549 u = u1 ^ 234234234;
|
550
|
2550 printf("#2547:loprtc r 7 u %llu\n",u);
|
274
|
2551 u = u1 << 5;
|
550
|
2552 printf("#2549:loprtc r 8 u %llu\n",u);
|
274
|
2553 u = u1 >> 5;
|
550
|
2554 printf("#2551:loprtc r 9 u %llu\n",u);
|
435
|
2555 u = u1 << 38;
|
550
|
2556 printf("#2553:loprtc r 8 u %llu\n",u);
|
435
|
2557 u = u1 >> 38;
|
550
|
2558 printf("#2555:loprtc r 9 u %llu\n",u);
|
274
|
2559 u = u1 % 5;
|
550
|
2560 printf("#2557:loprtc r 10 u %llu\n",u);
|
436
|
2561 u = u1 / 8;
|
550
|
2562 printf("#2559:loprtc r 10 u %lld\n",u);
|
436
|
2563 u = u1 / 256;
|
550
|
2564 printf("#2561:loprtc r 10 u %lld\n",u);
|
436
|
2565 u = u1 * 8;
|
550
|
2566 printf("#2563:loprtc r 10 u %lld\n",u);
|
436
|
2567 u = u1 * 256;
|
550
|
2568 printf("#2565:loprtc r 10 u %lld\n",u);
|
274
|
2569 }
|
|
2570
|
|
2571
|
196
|
2572 // code_i2ll(int creg)
|
550
|
2573 INLINE void
|
227
|
2574 code_i2ll()
|
200
|
2575 {
|
|
2576 long long d;
|
|
2577 int i;
|
201
|
2578 i = 23442342;
|
200
|
2579 d = i;
|
550
|
2580 printf("#2577:code_i2ll %lld\n",d);
|
200
|
2581 }
|
196
|
2582 // code_i2ull(int creg)
|
550
|
2583 INLINE void
|
227
|
2584 code_i2ull()
|
200
|
2585 {
|
|
2586 unsigned long long d;
|
|
2587 int i;
|
201
|
2588 i = 23442342;
|
200
|
2589 d = i;
|
550
|
2590 printf("#2587:code_i2ull %lld\n",d);
|
200
|
2591 }
|
196
|
2592 // code_u2ll(int creg)
|
550
|
2593 INLINE void
|
227
|
2594 code_u2ll()
|
200
|
2595 {
|
|
2596 long long d;
|
|
2597 unsigned int i;
|
201
|
2598 i = 23442342;
|
200
|
2599 d = i;
|
550
|
2600 printf("#2597:code_u2ll %lld\n",d);
|
200
|
2601 }
|
196
|
2602 // code_u2ull(int creg)
|
550
|
2603 INLINE void
|
227
|
2604 code_u2ull()
|
200
|
2605 {
|
|
2606 unsigned long long d;
|
|
2607 unsigned int i;
|
201
|
2608 i = 23342342;
|
200
|
2609 d = i;
|
550
|
2610 printf("#2607:code_u2ull %llu\n",d);
|
200
|
2611 }
|
196
|
2612 // code_ll2i(int creg)
|
550
|
2613 INLINE void
|
227
|
2614 code_ll2i()
|
200
|
2615 {
|
|
2616 long long d;
|
|
2617 int i;
|
201
|
2618 d = 2342342342LL;
|
200
|
2619 i = d;
|
550
|
2620 printf("#2617:code_ll2i %d\n",i);
|
200
|
2621 }
|
196
|
2622 // code_ll2u(int creg)
|
550
|
2623 INLINE void
|
227
|
2624 code_ll2u()
|
200
|
2625 {
|
|
2626 long long d;
|
|
2627 unsigned int i;
|
201
|
2628 d = 2342342342LL;
|
200
|
2629 i = d;
|
550
|
2630 printf("#2627:code_ll2i %ud\n",i);
|
200
|
2631 }
|
196
|
2632 // code_ull2i(int creg)
|
550
|
2633 INLINE void
|
227
|
2634 code_ull2i()
|
200
|
2635 {
|
|
2636 unsigned long long d;
|
|
2637 int i;
|
201
|
2638 d = 2342342342LL;
|
200
|
2639 i = d;
|
550
|
2640 printf("#2637:code_ull2i %d\n",i);
|
200
|
2641 }
|
196
|
2642 // code_ull2u(int creg)
|
550
|
2643 INLINE void
|
227
|
2644 code_ull2u()
|
200
|
2645 {
|
|
2646 unsigned long long d;
|
|
2647 unsigned int i;
|
201
|
2648 d = 2342342342LL;
|
200
|
2649 i = d;
|
550
|
2650 printf("#2647:code_ll2i %ud\n",i);
|
200
|
2651 }
|
196
|
2652 #if FLOAT_CODE
|
|
2653 // code_d2ll(int creg)
|
550
|
2654 INLINE void
|
227
|
2655 code_d2ll()
|
200
|
2656 {
|
|
2657 long long d;
|
|
2658 double i;
|
201
|
2659 i = 2342342342LL;
|
200
|
2660 d = i;
|
550
|
2661 printf("#2658:code_d2ll %lld\n",d);
|
200
|
2662 }
|
196
|
2663 // code_d2ull(int creg)
|
550
|
2664 INLINE void
|
227
|
2665 code_d2ull()
|
200
|
2666 {
|
|
2667 unsigned long long d;
|
|
2668 double i;
|
201
|
2669 i = 2342342342LL;
|
200
|
2670 d = i;
|
550
|
2671 printf("#2668:code_d2ll %llu\n",d);
|
200
|
2672 }
|
196
|
2673 // code_f2ll(int creg)
|
550
|
2674 INLINE void
|
227
|
2675 code_f2ll()
|
200
|
2676 {
|
|
2677 long long d;
|
|
2678 float i;
|
201
|
2679 i = 2342342342LL;
|
200
|
2680 d = i;
|
550
|
2681 printf("#2678:code_f2ll %lld\n",d);
|
200
|
2682 }
|
196
|
2683 // code_f2ull(int creg)
|
550
|
2684 INLINE void
|
227
|
2685 code_f2ull()
|
200
|
2686 {
|
|
2687 unsigned long long d;
|
|
2688 float i;
|
201
|
2689 i = 2342342342LL;
|
200
|
2690 d = i;
|
550
|
2691 printf("#2688:code_f2ull %llu\n",d);
|
200
|
2692 }
|
196
|
2693 // code_ll2d(int creg)
|
550
|
2694 INLINE void
|
227
|
2695 code_ll2d()
|
200
|
2696 {
|
|
2697 long long d;
|
|
2698 double i;
|
201
|
2699 d = 2342342342LL;
|
200
|
2700 i = d;
|
550
|
2701 printf("#2698:code_ll2d %g\n",i);
|
200
|
2702 }
|
196
|
2703 // code_ll2f(int creg)
|
550
|
2704 INLINE void
|
227
|
2705 code_ll2f()
|
200
|
2706 {
|
|
2707 long long d;
|
|
2708 float i;
|
201
|
2709 d = 2342342342LL;
|
200
|
2710 i = d;
|
550
|
2711 printf("#2708:code_ll2f %g\n",i);
|
200
|
2712 }
|
196
|
2713 // code_ull2d(int creg)
|
550
|
2714 INLINE void
|
227
|
2715 code_ull2d()
|
200
|
2716 {
|
|
2717 long long d;
|
|
2718 double i;
|
201
|
2719 d = 2342342342LL;
|
200
|
2720 i = d;
|
550
|
2721 printf("#2718:code_ull2f %g\n",i);
|
200
|
2722 }
|
196
|
2723 // code_ull2f(int creg)
|
550
|
2724 INLINE void
|
227
|
2725 code_ull2f()
|
200
|
2726 {
|
|
2727 long long d;
|
|
2728 float i;
|
201
|
2729 d = 2342342342LL;
|
200
|
2730 i = d;
|
550
|
2731 printf("#2728:code_ull2f %g\n",i);
|
200
|
2732 }
|
196
|
2733 #endif
|
|
2734
|
|
2735 // code_lpreinc(int e1,int e2,int reg)
|
550
|
2736 INLINE void
|
200
|
2737 code_lpreinc()
|
|
2738 {
|
|
2739 long long i,j;
|
|
2740 i = 123123123;j = 0;
|
550
|
2741 printf("#2738:code_preinc l %lld %lld",++i,--j);
|
|
2742 printf("#2739: %lld %lld\n",i,j);
|
200
|
2743 }
|
|
2744
|
196
|
2745 // code_lpostinc(int e1,int e2,int reg)
|
550
|
2746 INLINE void
|
200
|
2747 code_lpostinc()
|
|
2748 {
|
|
2749 long long i,j;
|
|
2750 i = 123123123;j = 0;
|
550
|
2751 printf("#2748:code_postinc l %lld %lld",i++,j--);
|
|
2752 printf("#2749: %lld %lld\n",i,j);
|
200
|
2753 }
|
|
2754
|
|
2755 // code_lpreinc(int e1,int e2,int reg)
|
550
|
2756 INLINE void
|
200
|
2757 code_lupreinc()
|
|
2758 {
|
273
|
2759 register unsigned long long i,j;
|
200
|
2760 i = 123123123;j = 0;
|
550
|
2761 printf("#2758:code_preinc l %llu %llu",++i,--j);
|
|
2762 printf("#2759: %lld %lld\n",i,j);
|
200
|
2763 }
|
|
2764
|
|
2765 // code_lpostinc(int e1,int e2,int reg)
|
550
|
2766 INLINE void
|
200
|
2767 code_lupostinc()
|
|
2768 {
|
273
|
2769 register unsigned long long i,j;
|
|
2770 i = 123123123;j = 0;
|
550
|
2771 printf("#2768:code_postinc lu %llu %llu",i++,j--);
|
|
2772 printf("#2769: %lld %lld\n",i,j);
|
273
|
2773 }
|
|
2774
|
|
2775 // code_lpreinc(int e1,int e2,int reg)
|
550
|
2776 INLINE void
|
273
|
2777 code_register_lpreinc()
|
|
2778 {
|
|
2779 register long long i,j;
|
|
2780 i = 123123123;j = 0;
|
550
|
2781 printf("#2778:code_preinc l r %lld %lld",++i,--j);
|
|
2782 printf("#2779: %lld %lld\n",i,j);
|
273
|
2783 }
|
|
2784
|
|
2785 // code_lpostinc(int e1,int e2,int reg)
|
550
|
2786 INLINE void
|
273
|
2787 code_register_lpostinc()
|
|
2788 {
|
|
2789 register long long i,j;
|
200
|
2790 i = 123123123;j = 0;
|
550
|
2791 printf("#2788:code_postinc l r %lld %lld",i++,j--);
|
|
2792 printf("#2789: %lld %lld\n",i,j);
|
273
|
2793 }
|
|
2794
|
|
2795 // code_lpreinc(int e1,int e2,int reg)
|
550
|
2796 INLINE void
|
273
|
2797 code_register_lupreinc()
|
|
2798 {
|
|
2799 register unsigned long long i,j;
|
|
2800 i = 123123123;j = 0;
|
550
|
2801 printf("#2798:code_preinc l r %llu %llu",++i,--j);
|
|
2802 printf("#2799: %lld %lld\n",i,j);
|
273
|
2803 }
|
|
2804
|
|
2805 // code_lpostinc(int e1,int e2,int reg)
|
550
|
2806 INLINE void
|
273
|
2807 code_register_lupostinc()
|
|
2808 {
|
|
2809 register unsigned long long i,j;
|
|
2810 i = 123123123;j = 0;
|
550
|
2811 printf("#2808:code_postinc lu r %llu %llu",i++,j--);
|
|
2812 printf("#2809: %lld %lld\n",i,j);
|
200
|
2813 }
|
|
2814
|
196
|
2815 // code_lassop(int op)
|
|
2816
|
200
|
2817 // code_register_assop(int e2,int op,int byte)
|
550
|
2818 INLINE void
|
200
|
2819 code_register_lassop()
|
|
2820 {
|
|
2821 register long long i1;
|
|
2822 register unsigned long long ui1;
|
255
|
2823 long long a = 3;
|
200
|
2824 i1 = -555;
|
|
2825 ui1 = 632423423;
|
|
2826
|
255
|
2827 i1 += a;
|
550
|
2828 printf("#2825:code_register_lassop 1 %lld\n",i1);
|
255
|
2829 i1 -= a;
|
550
|
2830 printf("#2827:code_register_lassop 2 %lld\n",i1);
|
255
|
2831 i1 /= a;
|
550
|
2832 printf("#2829:code_register_lassop 3 %lld\n",i1);
|
255
|
2833 i1 *= a;
|
550
|
2834 printf("#2831:code_register_lassop 4 %lld\n",i1);
|
255
|
2835 i1 |= a;
|
550
|
2836 printf("#2833:code_register_lassop 5 %lld\n",i1);
|
255
|
2837 i1 &= a;
|
550
|
2838 printf("#2835:code_register_lassop 6 %lld\n",i1);
|
255
|
2839 i1 ^= a;
|
550
|
2840 printf("#2837:code_register_lassop 7 %lld\n",i1);
|
255
|
2841 i1 <<= a;
|
550
|
2842 printf("#2839:code_register_lassop 8 %lld\n",i1);
|
255
|
2843 i1 >>= a;
|
550
|
2844 printf("#2841:code_register_lassop 9 %lld\n",i1);
|
200
|
2845
|
255
|
2846 ui1 += a;
|
550
|
2847 printf("#2844:code_register_lassop 1 %llu\n",ui1);
|
255
|
2848 ui1 -= a;
|
550
|
2849 printf("#2846:code_register_lassop 2 %llu\n",ui1);
|
255
|
2850 ui1 /= a;
|
550
|
2851 printf("#2848:code_register_lassop 3 %llu\n",ui1);
|
255
|
2852 ui1 *= a;
|
550
|
2853 printf("#2850:code_register_lassop 4 %llu\n",ui1);
|
255
|
2854 ui1 |= a;
|
550
|
2855 printf("#2852:code_register_lassop 5 %llu\n",ui1);
|
255
|
2856 ui1 &= a;
|
550
|
2857 printf("#2854:code_register_lassop 6 %llu\n",ui1);
|
255
|
2858 ui1 ^= a;
|
550
|
2859 printf("#2856:code_register_lassop 7 %llu\n",ui1);
|
255
|
2860 ui1 <<= a;
|
550
|
2861 printf("#2858:code_register_lassop 8 %llu\n",ui1);
|
255
|
2862 ui1 >>= a;
|
550
|
2863 printf("#2860:code_register_lassop 9 %llu\n",ui1);
|
200
|
2864 }
|
|
2865
|
|
2866 // code_lassop(int op,int byte,int sign)
|
550
|
2867 INLINE void
|
200
|
2868 code_lassop()
|
|
2869 {
|
|
2870 long long i1,i2;
|
|
2871 unsigned long long ui1,ui2;
|
255
|
2872 long long a = 3;
|
|
2873 i1 = -555; i2= 555;
|
|
2874 ui1 = 632423423; ui2= 32394234;
|
|
2875
|
|
2876 i1 += a;
|
550
|
2877 printf("#2874:code_lassop 1 %lld\n",i1);
|
255
|
2878 i1 -= a;
|
550
|
2879 printf("#2876:code_lassop 2 %lld\n",i1);
|
255
|
2880 i1 /= a;
|
550
|
2881 printf("#2878:code_lassop 3 %lld\n",i1);
|
255
|
2882 i1 *= a;
|
550
|
2883 printf("#2880:code_lassop 4 %lld\n",i1);
|
255
|
2884 i1 |= a;
|
550
|
2885 printf("#2882:code_lassop 5 %lld\n",i1);
|
255
|
2886 i1 &= a;
|
550
|
2887 printf("#2884:code_lassop 6 %lld\n",i1);
|
255
|
2888 i1 ^= a;
|
550
|
2889 printf("#2886:code_lassop 7 %lld\n",i1);
|
255
|
2890 i1 <<= a;
|
550
|
2891 printf("#2888:code_lassop 8 %lld\n",i1);
|
255
|
2892 i1 >>= a;
|
550
|
2893 printf("#2890:code_lassop 9 %lld\n",i1);
|
255
|
2894
|
|
2895 ui1 += a;
|
550
|
2896 printf("#2893:code_lassop 1 %llu\n",ui1);
|
255
|
2897 ui1 -= a;
|
550
|
2898 printf("#2895:code_lassop 2 %llu\n",ui1);
|
255
|
2899 ui1 /= a;
|
550
|
2900 printf("#2897:code_lassop 3 %llu\n",ui1);
|
255
|
2901 ui1 *= a;
|
550
|
2902 printf("#2899:code_lassop 4 %llu\n",ui1);
|
255
|
2903 ui1 |= a;
|
550
|
2904 printf("#2901:code_lassop 5 %llu\n",ui1);
|
255
|
2905 ui1 &= a;
|
550
|
2906 printf("#2903:code_lassop 6 %llu\n",ui1);
|
255
|
2907 ui1 ^= a;
|
550
|
2908 printf("#2905:code_lassop 7 %llu\n",ui1);
|
255
|
2909 ui1 <<= a;
|
550
|
2910 printf("#2907:code_lassop 8 %llu\n",ui1);
|
255
|
2911 ui1 >>= a;
|
550
|
2912 printf("#2909:code_lassop 9 %llu\n",ui1);
|
255
|
2913 }
|
|
2914
|
|
2915 // code_register_assop(int e2,int op,int byte)
|
550
|
2916 INLINE void
|
255
|
2917 code_register_lassop_const()
|
|
2918 {
|
|
2919 register long long i1;
|
|
2920 register unsigned long long ui1;
|
|
2921 i1 = -555;
|
|
2922 ui1 = 632423423;
|
|
2923
|
|
2924 i1 += 3;
|
550
|
2925 printf("#2922:code_register_lassop c 1 %lld\n",i1);
|
255
|
2926 i1 -= 3;
|
550
|
2927 printf("#2924:code_register_lassop c 2 %lld\n",i1);
|
255
|
2928 i1 /= 3;
|
550
|
2929 printf("#2926:code_register_lassop c 3 %lld\n",i1);
|
255
|
2930 i1 *= 3;
|
550
|
2931 printf("#2928:code_register_lassop c 4 %lld\n",i1);
|
255
|
2932 i1 |= 234;
|
550
|
2933 printf("#2930:code_register_lassop c 5 %lld\n",i1);
|
255
|
2934 i1 &= 2324234234234234LL;
|
550
|
2935 printf("#2932:code_register_lassop c 6 %lld\n",i1);
|
255
|
2936 i1 ^= 5523234234234234LL;
|
550
|
2937 printf("#2934:code_register_lassop c 7 %lld\n",i1);
|
255
|
2938 i1 <<= 3;
|
550
|
2939 printf("#2936:code_register_lassop c 8 %lld\n",i1);
|
255
|
2940 i1 >>= 3;
|
550
|
2941 printf("#2938:code_register_lassop c 9 %lld\n",i1);
|
255
|
2942
|
|
2943 ui1 += 3;
|
550
|
2944 printf("#2941:code_register_lassop c 1 %llu\n",ui1);
|
255
|
2945 ui1 -= 3;
|
550
|
2946 printf("#2943:code_register_lassop c 2 %llu\n",ui1);
|
255
|
2947 ui1 /= 3;
|
550
|
2948 printf("#2945:code_register_lassop c 3 %llu\n",ui1);
|
255
|
2949 ui1 *= 3;
|
550
|
2950 printf("#2947:code_register_lassop c 4 %llu\n",ui1);
|
255
|
2951 ui1 |= 234;
|
550
|
2952 printf("#2949:code_register_lassop c 5 %llu\n",ui1);
|
255
|
2953 ui1 &= 2324234234234234LL;
|
550
|
2954 printf("#2951:code_register_lassop c 6 %llu\n",ui1);
|
255
|
2955 ui1 ^= 5523234234234234LL;
|
550
|
2956 printf("#2953:code_register_lassop c 7 %llu\n",ui1);
|
255
|
2957 ui1 <<= 3;
|
550
|
2958 printf("#2955:code_register_lassop c 8 %llu\n",ui1);
|
255
|
2959 ui1 >>= 3;
|
550
|
2960 printf("#2957:code_register_lassop c 9 %llu\n",ui1);
|
255
|
2961 }
|
|
2962
|
|
2963 // code_lassop(int op,int byte,int sign)
|
550
|
2964 INLINE void
|
255
|
2965 code_lassop_const()
|
|
2966 {
|
|
2967 long long i1,i2;
|
|
2968 unsigned long long ui1,ui2;
|
200
|
2969 i1 = -555; i2= 555;
|
|
2970 ui1 = 632423423; ui2= 32394234;
|
|
2971
|
|
2972 i1 += 3;
|
550
|
2973 printf("#2970:code_lassop c 1 %lld\n",i1);
|
200
|
2974 i1 -= 3;
|
550
|
2975 printf("#2972:code_lassop c 2 %lld\n",i1);
|
200
|
2976 i1 /= 3;
|
550
|
2977 printf("#2974:code_lassop c 3 %lld\n",i1);
|
200
|
2978 i1 *= 3;
|
550
|
2979 printf("#2976:code_lassop c 4 %lld\n",i1);
|
200
|
2980 i1 |= 234;
|
550
|
2981 printf("#2978:code_lassop c 5 %lld\n",i1);
|
201
|
2982 i1 &= 2324234234234234LL;
|
550
|
2983 printf("#2980:code_lassop c 6 %lld\n",i1);
|
201
|
2984 i1 ^= 5523234234234234LL;
|
550
|
2985 printf("#2982:code_lassop c 7 %lld\n",i1);
|
200
|
2986 i1 <<= 3;
|
550
|
2987 printf("#2984:code_lassop c 8 %lld\n",i1);
|
200
|
2988 i1 >>= 3;
|
550
|
2989 printf("#2986:code_lassop c 9 %lld\n",i1);
|
200
|
2990
|
|
2991 ui1 += 3;
|
550
|
2992 printf("#2989:code_lassop c 1 %llu\n",ui1);
|
200
|
2993 ui1 -= 3;
|
550
|
2994 printf("#2991:code_lassop c 2 %llu\n",ui1);
|
200
|
2995 ui1 /= 3;
|
550
|
2996 printf("#2993:code_lassop c 3 %llu\n",ui1);
|
200
|
2997 ui1 *= 3;
|
550
|
2998 printf("#2995:code_lassop c 4 %llu\n",ui1);
|
200
|
2999 ui1 |= 234;
|
550
|
3000 printf("#2997:code_lassop c 5 %llu\n",ui1);
|
201
|
3001 ui1 &= 2324234234234234LL;
|
550
|
3002 printf("#2999:code_lassop c 6 %llu\n",ui1);
|
201
|
3003 ui1 ^= 5523234234234234LL;
|
550
|
3004 printf("#3001:code_lassop c 7 %llu\n",ui1);
|
200
|
3005 ui1 <<= 3;
|
550
|
3006 printf("#3003:code_lassop c 8 %llu\n",ui1);
|
200
|
3007 ui1 >>= 3;
|
550
|
3008 printf("#3005:code_lassop c 9 %llu\n",ui1);
|
470
|
3009 }
|
|
3010
|
|
3011 // lassop_l(int op,int byte,int sign)
|
550
|
3012 INLINE void
|
470
|
3013 code_lassop_l()
|
|
3014 {
|
|
3015 struct hoge { long long i1,i2;
|
|
3016 unsigned long long ui1,ui2;
|
|
3017 } s, *p;
|
|
3018 long long a = 3;
|
|
3019 p = &s;
|
|
3020
|
|
3021 p->i1 = -555; p->i2= 555;
|
|
3022 p->ui1 = 632423423; p->ui2= 32394234;
|
|
3023
|
|
3024 p->i1 += a;
|
550
|
3025 printf("#3022:lassop 1 %lld\n",p->i1);
|
470
|
3026 p->i1 -= a;
|
550
|
3027 printf("#3024:lassop 2 %lld\n",p->i1);
|
470
|
3028 p->i1 /= a;
|
550
|
3029 printf("#3026:lassop 3 %lld\n",p->i1);
|
470
|
3030 p->i1 *= a;
|
550
|
3031 printf("#3028:lassop 4 %lld\n",p->i1);
|
470
|
3032 p->i1 |= a;
|
550
|
3033 printf("#3030:lassop 5 %lld\n",p->i1);
|
470
|
3034 p->i1 &= a;
|
550
|
3035 printf("#3032:lassop 6 %lld\n",p->i1);
|
470
|
3036 p->i1 ^= a;
|
550
|
3037 printf("#3034:lassop 7 %lld\n",p->i1);
|
470
|
3038 p->i1 <<= a;
|
550
|
3039 printf("#3036:lassop 8 %lld\n",p->i1);
|
470
|
3040 p->i1 >>= a;
|
550
|
3041 printf("#3038:lassop 9 %lld\n",p->i1);
|
470
|
3042
|
|
3043 p->ui1 += a;
|
550
|
3044 printf("#3041:lassop 1 %llu\n",p->ui1);
|
470
|
3045 p->ui1 -= a;
|
550
|
3046 printf("#3043:lassop 2 %llu\n",p->ui1);
|
470
|
3047 p->ui1 /= a;
|
550
|
3048 printf("#3045:lassop 3 %llu\n",p->ui1);
|
470
|
3049 p->ui1 *= a;
|
550
|
3050 printf("#3047:lassop 4 %llu\n",p->ui1);
|
470
|
3051 p->ui1 |= a;
|
550
|
3052 printf("#3049:lassop 5 %llu\n",p->ui1);
|
470
|
3053 p->ui1 &= a;
|
550
|
3054 printf("#3051:lassop 6 %llu\n",p->ui1);
|
470
|
3055 p->ui1 ^= a;
|
550
|
3056 printf("#3053:lassop 7 %llu\n",p->ui1);
|
470
|
3057 p->ui1 <<= a;
|
550
|
3058 printf("#3055:lassop 8 %llu\n",p->ui1);
|
470
|
3059 p->ui1 >>= a;
|
550
|
3060 printf("#3057:lassop 9 %llu\n",p->ui1);
|
200
|
3061 }
|
|
3062
|
470
|
3063 // lassop_g(int op,int byte,int sign)
|
|
3064
|
|
3065 struct lghoge { long long i1,i2;
|
|
3066 unsigned long long ui1,ui2;
|
|
3067 } gls, *glp;
|
|
3068
|
550
|
3069 INLINE void
|
470
|
3070 code_lassop_g()
|
|
3071 {
|
|
3072 long long a = 3;
|
|
3073 glp = &gls;
|
|
3074
|
|
3075 glp->i1 = -555; glp->i2= 555;
|
|
3076 glp->ui1 = 632423423; glp->ui2= 32394234;
|
|
3077
|
|
3078 glp->i1 += a;
|
550
|
3079 printf("#3076:lassop 1 %lld\n",glp->i1);
|
470
|
3080 glp->i1 -= a;
|
550
|
3081 printf("#3078:lassop 2 %lld\n",glp->i1);
|
470
|
3082 glp->i1 /= a;
|
550
|
3083 printf("#3080:lassop 3 %lld\n",glp->i1);
|
470
|
3084 glp->i1 *= a;
|
550
|
3085 printf("#3082:lassop 4 %lld\n",glp->i1);
|
470
|
3086 glp->i1 |= a;
|
550
|
3087 printf("#3084:lassop 5 %lld\n",glp->i1);
|
470
|
3088 glp->i1 ^= a;
|
550
|
3089 printf("#3086:lassop 7 %lld\n",glp->i1);
|
470
|
3090 glp->i1 <<= a;
|
550
|
3091 printf("#3088:lassop 8 %lld\n",glp->i1);
|
470
|
3092 glp->i1 >>= a;
|
550
|
3093 printf("#3090:lassop 9 %lld\n",glp->i1);
|
470
|
3094 glp->i1 &= a;
|
550
|
3095 printf("#3092:lassop 6 %lld\n",glp->i1);
|
470
|
3096
|
|
3097 glp->ui1 += a;
|
550
|
3098 printf("#3095:lassop 1 %llu\n",glp->ui1);
|
470
|
3099 glp->ui1 -= a;
|
550
|
3100 printf("#3097:lassop 2 %llu\n",glp->ui1);
|
470
|
3101 glp->ui1 /= a;
|
550
|
3102 printf("#3099:lassop 3 %llu\n",glp->ui1);
|
470
|
3103 glp->ui1 *= a;
|
550
|
3104 printf("#3101:lassop 4 %llu\n",glp->ui1);
|
470
|
3105 glp->ui1 |= a;
|
550
|
3106 printf("#3103:lassop 5 %llu\n",glp->ui1);
|
470
|
3107 glp->ui1 ^= a;
|
550
|
3108 printf("#3105:lassop 7 %llu\n",glp->ui1);
|
470
|
3109 glp->ui1 <<= a;
|
550
|
3110 printf("#3107:lassop 8 %llu\n",glp->ui1);
|
470
|
3111 glp->ui1 >>= a;
|
550
|
3112 printf("#3109:lassop 9 %llu\n",glp->ui1);
|
470
|
3113 glp->ui1 &= a;
|
550
|
3114 printf("#3111:lassop 6 %llu\n",glp->ui1);
|
470
|
3115 }
|
|
3116
|
550
|
3117 INLINE void
|
470
|
3118 code_lassop_g_c()
|
|
3119 {
|
|
3120 const int a = 3;
|
|
3121 glp = &gls;
|
|
3122
|
|
3123 glp->i1 = -555; glp->i2= 555;
|
|
3124 glp->ui1 = 632423423; glp->ui2= 32394234;
|
|
3125
|
|
3126 glp->i1 += a;
|
550
|
3127 printf("#3124:lassop_gc 1 %lld\n",glp->i1);
|
470
|
3128 glp->i1 -= a;
|
550
|
3129 printf("#3126:lassop_gc 2 %lld\n",glp->i1);
|
470
|
3130 glp->i1 /= a;
|
550
|
3131 printf("#3128:lassop_gc 3 %lld\n",glp->i1);
|
470
|
3132 glp->i1 *= a;
|
550
|
3133 printf("#3130:lassop_gc 4 %lld\n",glp->i1);
|
470
|
3134 glp->i1 |= a;
|
550
|
3135 printf("#3132:lassop_gc 5 %lld\n",glp->i1);
|
470
|
3136 glp->i1 ^= a;
|
550
|
3137 printf("#3134:lassop_gc 7 %lld\n",glp->i1);
|
470
|
3138 glp->i1 <<= a;
|
550
|
3139 printf("#3136:lassop_gc 8 %lld\n",glp->i1);
|
470
|
3140 glp->i1 >>= a;
|
550
|
3141 printf("#3138:lassop_gc 9 %lld\n",glp->i1);
|
470
|
3142 glp->i1 &= a;
|
550
|
3143 printf("#3140:lassop_gc 6 %lld\n",glp->i1);
|
470
|
3144
|
|
3145 glp->ui1 += a;
|
550
|
3146 printf("#3143:lassop_gc 1 %llu\n",glp->ui1);
|
470
|
3147 glp->ui1 -= a;
|
550
|
3148 printf("#3145:lassop_gc 2 %llu\n",glp->ui1);
|
470
|
3149 glp->ui1 /= a;
|
550
|
3150 printf("#3147:lassop_gc 3 %llu\n",glp->ui1);
|
470
|
3151 glp->ui1 *= a;
|
550
|
3152 printf("#3149:lassop_gc 4 %llu\n",glp->ui1);
|
470
|
3153 glp->ui1 |= a;
|
550
|
3154 printf("#3151:lassop_gc 5 %llu\n",glp->ui1);
|
470
|
3155 glp->ui1 ^= a;
|
550
|
3156 printf("#3153:lassop_gc 7 %llu\n",glp->ui1);
|
470
|
3157 glp->ui1 <<= a;
|
550
|
3158 printf("#3155:lassop_gc 8 %llu\n",glp->ui1);
|
470
|
3159 glp->ui1 >>= a;
|
550
|
3160 printf("#3157:lassop_gc 9 %llu\n",glp->ui1);
|
470
|
3161 glp->ui1 &= a;
|
550
|
3162 printf("#3159:lassop_gc 6 %llu\n",glp->ui1);
|
470
|
3163 }
|
|
3164
|
|
3165
|
200
|
3166 // code_lgt(int cond)
|
|
3167
|
550
|
3168 INLINE void
|
227
|
3169 code_lgt()
|
200
|
3170 {
|
280
|
3171 long long reg;
|
200
|
3172 if (l0>l1)
|
550
|
3173 printf("#3170:code_lgt 1\n");
|
200
|
3174 else
|
550
|
3175 printf("#3172:code_lgt 0\n");
|
280
|
3176 for (reg=-3;reg<7;reg++) {
|
|
3177 if (0<reg && reg<3)
|
550
|
3178 printf("#3175:reg=%lld code_lgt 0<reg && reg <3\n",reg);
|
280
|
3179 }
|
|
3180 for (reg=-3;reg<7;reg++) {
|
|
3181 if (-2<reg && reg<0)
|
550
|
3182 printf("#3179:reg=%lld code_lgt -2<reg && reg <0\n",reg);
|
280
|
3183 }
|
200
|
3184 }
|
|
3185
|
|
3186 // code_lugt(int cond)
|
550
|
3187 INLINE void
|
227
|
3188 code_lugt()
|
200
|
3189 {
|
280
|
3190 unsigned long long reg;
|
200
|
3191 if (ul0>ul1)
|
550
|
3192 printf("#3189:code_lugt 1\n");
|
200
|
3193 else
|
550
|
3194 printf("#3191:code_lugt 0\n");
|
280
|
3195 for (reg=0;reg<7;reg++) {
|
|
3196 if (2<reg && reg<4)
|
490
|
3197 printf("#3194:reg=%llu code_lugt 2<reg && reg <4\n",reg);
|
280
|
3198 }
|
550
|
3199 for (reg=0;reg<7;reg++) {
|
|
3200 if (2<reg && reg<4)
|
|
3201 printf("#3198:reg=%llu code_lugt 2<reg && reg <4\n",reg);
|
|
3202 }
|
200
|
3203 }
|
|
3204
|
|
3205 // code_lge(int cond)
|
550
|
3206 INLINE void
|
227
|
3207 code_lge()
|
200
|
3208 {
|
280
|
3209 long long reg;
|
200
|
3210 if (l0>=l1)
|
550
|
3211 printf("#3208:code_lge 1\n");
|
200
|
3212 else
|
550
|
3213 printf("#3210:code_lge 0\n");
|
280
|
3214 for (reg=-3;reg<7;reg++) {
|
|
3215 if (0<=reg && reg<=3)
|
550
|
3216 printf("#3213:reg=%lld code_lge 0<=reg && reg <=3\n",reg);
|
280
|
3217 }
|
|
3218 for (reg=-3;reg<7;reg++) {
|
|
3219 if (-2<=reg && reg<=0)
|
550
|
3220 printf("#3217:reg=%lld code_lge -2<=reg && reg <=0\n",reg);
|
280
|
3221 }
|
200
|
3222 }
|
|
3223
|
|
3224 // code_luge(int cond)
|
550
|
3225 INLINE void
|
227
|
3226 code_luge()
|
200
|
3227 {
|
280
|
3228 unsigned long long reg;
|
200
|
3229 if (ul0>=ul1)
|
550
|
3230 printf("#3227:code_luge 1\n");
|
200
|
3231 else
|
550
|
3232 printf("#3229:code_luge 0\n");
|
280
|
3233 for (reg=0;reg<7;reg++) {
|
|
3234 if (2<reg && reg<4)
|
550
|
3235 printf("#3232:reg=%llu code_luge 2<reg && reg <4\n",reg);
|
280
|
3236 }
|
|
3237 for (reg=0;reg<7;reg++) {
|
|
3238 if (2<reg && reg<4)
|
550
|
3239 printf("#3236:reg=%llu code_luge 2<reg && reg <4\n",reg);
|
280
|
3240 }
|
200
|
3241 }
|
|
3242
|
|
3243 // code_leq(int cond)
|
550
|
3244 INLINE void
|
227
|
3245 code_leq()
|
200
|
3246 {
|
|
3247 if (ul0==ul1)
|
550
|
3248 printf("#3245:code_leq 1\n");
|
200
|
3249 else
|
550
|
3250 printf("#3247:code_leq 0\n");
|
200
|
3251 if (l0!=l1)
|
550
|
3252 printf("#3249:code_lneq 1\n");
|
200
|
3253 else
|
550
|
3254 printf("#3251:code_lneq 0\n");
|
200
|
3255 }
|
|
3256
|
275
|
3257 #if 0
|
550
|
3258 INLINE void
|
275
|
3259 code_lswitch()
|
|
3260 {
|
|
3261 long long i;
|
|
3262 for(i=0;i<6;i++) {
|
|
3263 switch(i) {
|
550
|
3264 case 1: printf("#3261:code_lswitch 1 %d\n",i); break;
|
|
3265 case 2: printf("#3262:code_lswitch 2 %d\n",i); break;
|
|
3266 case 3: printf("#3263:code_lswitch 3 %d\n",i);
|
|
3267 case 4: printf("#3264:code_lswitch 4 %d\n",i); break;
|
|
3268 default: printf("#3265:code_lswitch d %d\n",i);
|
275
|
3269 }
|
|
3270 }
|
|
3271 }
|
|
3272 #endif
|
200
|
3273
|
|
3274
|
196
|
3275 #endif
|
275
|
3276
|
550
|
3277 INLINE void
|
275
|
3278 code_switch()
|
|
3279 {
|
|
3280 int i;
|
|
3281 for(i=0;i<10;i++) {
|
|
3282 switch(i) {
|
550
|
3283 case 1: printf("#3280:code_switch 1 %d\n",i); break;
|
|
3284 case 2: printf("#3281:code_switch 2 %d\n",i); break;
|
|
3285 case 3: printf("#3282:code_switch 3 %d\n",i);
|
|
3286 case 4: printf("#3283:code_switch 4 %d\n",i); break;
|
275
|
3287 case 7:
|
550
|
3288 case 5: printf("#3285:code_switch 5 %d\n",i); break;
|
|
3289 case 6: printf("#3286:code_switch 6 %d\n",i); break;
|
|
3290 default: printf("#3287:code_switch d %d\n",i);
|
275
|
3291 }
|
|
3292 }
|
293
|
3293 for(i=0;i<10;i++) {
|
|
3294 switch(i) {
|
550
|
3295 case 1: printf("#3292:code_switch 1 %d\n",i); break;
|
293
|
3296 case 2:
|
|
3297 i = i* 100;
|
|
3298 switch(i) {
|
550
|
3299 case 100: printf("#3296:code_switch n 1 %d\n",i); break;
|
293
|
3300 case 200:
|
|
3301 for(i=-100;i<10;i++) {
|
|
3302 switch(i) {
|
550
|
3303 case 1234: printf("#3300:code_switch 1 nn %d\n",i); break;
|
|
3304 case 2233: printf("#3301:code_switch 2 nn %d\n",i); break;
|
|
3305 case 3333: printf("#3302:code_switch 3 nn %d\n",i);
|
440
|
3306 case -200: return;
|
550
|
3307 case -4: printf("#3304:code_switch 4 nn %d\n",i); break;
|
293
|
3308 case 733:
|
550
|
3309 case -5: printf("#3306:code_switch 5 nn %d\n",i); break;
|
|
3310 case -326: printf("#3307:code_switch 6 nn %d\n",i);
|
293
|
3311 }
|
|
3312 }
|
550
|
3313 case 300: printf("#3310:code_switch n 3 %d\n",i);
|
|
3314 case 400: printf("#3311:code_switch n 4 %d\n",i); break;
|
293
|
3315 case 700:
|
550
|
3316 case 500: printf("#3313:code_switch n 5 %d\n",i); break;
|
|
3317 case 600: printf("#3314:code_switch n 6 %d\n",i); break;
|
|
3318 default: printf("#3315:code_switch n d %d\n",i);
|
293
|
3319 }
|
550
|
3320 case 3: printf("#3317:code_switch 3 %d\n",i);
|
|
3321 case 4: printf("#3318:code_switch 4 %d\n",i); break;
|
293
|
3322 case 7:
|
550
|
3323 case 5: printf("#3320:code_switch 5 %d\n",i); break;
|
|
3324 case 6: printf("#3321:code_switch 6 %d\n",i); break;
|
|
3325 default: printf("#3322:code_switch d %d\n",i);
|
293
|
3326 }
|
|
3327 }
|
275
|
3328 }
|
|
3329
|
550
|
3330 INLINE void
|
490
|
3331 code_cond_iii()
|
|
3332 {
|
|
3333 int i;
|
|
3334 int j=-4;
|
|
3335 int k=5;
|
275
|
3336
|
490
|
3337 for(i=0;i<2;i++) {
|
|
3338 k = i==0? -4:4;
|
550
|
3339 printf("#3336: cond_iii %d\n",k);
|
|
3340 printf("#3337: cond_iii %d\n",i==0? -8:8);
|
490
|
3341 k = i==0? i:j;
|
550
|
3342 printf("#3339: cond_iii %d\n",k);
|
|
3343 printf("#3340: cond_iii %d\n",i==0? i:j);
|
490
|
3344 }
|
|
3345 }
|
275
|
3346
|
550
|
3347 INLINE void
|
490
|
3348 code_cond_ii0()
|
|
3349 {
|
|
3350 unsigned int i;
|
|
3351 int j=-4;
|
|
3352 int k=5;
|
|
3353
|
|
3354 for(i=0;i<2;i++) {
|
|
3355 k = i==0? -4:4;
|
550
|
3356 printf("#3353: cond_ii0 %d\n",k);
|
|
3357 printf("#3354: cond_ii0 %d\n",i==0? -8:8);
|
490
|
3358 k = i==0? i:j;
|
550
|
3359 printf("#3356: cond_ii0 %d\n",k);
|
|
3360 printf("#3357: cond_ii0 %d\n",i==0? i:j);
|
490
|
3361 }
|
|
3362 }
|
|
3363
|
550
|
3364 INLINE void
|
490
|
3365 code_cond_uuu()
|
|
3366 {
|
|
3367 unsigned int i;
|
|
3368 unsigned int j=4;
|
|
3369 unsigned int k=5;
|
|
3370
|
|
3371 for(i=0;i<2;i++) {
|
|
3372 k = i==0? -4:4;
|
550
|
3373 printf("#3370: cond_uuu %u\n",k);
|
|
3374 printf("#3371: cond_uuu %u\n",i==0? -8:8);
|
490
|
3375 k = i==0? i:j;
|
550
|
3376 printf("#3373: cond_uuu %u\n",k);
|
|
3377 printf("#3374: cond_uuu %u\n",i==0? i:j);
|
490
|
3378 }
|
|
3379 }
|
|
3380
|
550
|
3381 INLINE void
|
490
|
3382 code_cond_uii()
|
|
3383 {
|
|
3384 unsigned int i;
|
|
3385 int j=-4;
|
|
3386 unsigned int k=5;
|
|
3387
|
|
3388 for(i=0;i<2;i++) {
|
|
3389 k = i==0? -4:4;
|
550
|
3390 printf("#3387: cond_uii %d\n",k);
|
|
3391 printf("#3388: cond_uii %u\n",i==0? -8:8);
|
490
|
3392 k = i==0? i:j;
|
550
|
3393 printf("#3390: cond_uii %d\n",k);
|
|
3394 printf("#3391: cond_uii %u\n",i==0? i:j);
|
490
|
3395 }
|
|
3396 }
|
|
3397
|
|
3398 #if FLOAT_CODE
|
550
|
3399 INLINE void
|
490
|
3400 code_cond_fff()
|
|
3401 {
|
|
3402 float i;
|
|
3403 float j=-4;
|
|
3404 float k=5;
|
|
3405
|
|
3406 for(i=0;i<2;i++) {
|
|
3407 k = i==0? -4:4;
|
550
|
3408 printf("#3405: cond_fff %g\n",k);
|
|
3409 printf("#3406: cond_fff %g\n",i==0? -4.0:4.0);
|
|
3410 printf("#3407: cond_fff %g\n",(float)(i==0? -4:4));
|
490
|
3411 k = i==0? i:j;
|
550
|
3412 printf("#3409: cond_fff %g\n",k);
|
|
3413 printf("#3410: cond_fff %g\n",i==0? i:j);
|
490
|
3414 }
|
|
3415 }
|
|
3416
|
550
|
3417 INLINE void
|
490
|
3418 code_cond_ddd()
|
|
3419 {
|
|
3420 double i;
|
|
3421 double j=-4;
|
|
3422 double k=5;
|
|
3423
|
|
3424 for(i=0;i<2;i++) {
|
|
3425 k = i==0? -4:4;
|
550
|
3426 printf("#3423: cond_ddd %g\n",k);
|
|
3427 printf("#3424: cond_ddd %g\n",i==0? -4.0:4.0);
|
|
3428 printf("#3425: cond_ddd %g\n",(double)(i==0? -4:4));
|
490
|
3429 k = i==0? i:j;
|
550
|
3430 printf("#3427: cond_ddd %g\n",k);
|
|
3431 printf("#3428: cond_ddd %g\n",i==0? i:j);
|
490
|
3432 }
|
|
3433 }
|
|
3434
|
550
|
3435 INLINE void
|
491
|
3436 code_cond_float()
|
|
3437 {
|
|
3438 int i=9;
|
|
3439 float f=(i>10) ? 4 : -4;
|
550
|
3440 printf("#3437:%f\n",f);
|
491
|
3441 i=10;
|
|
3442 f=(i>10) ? 4 : -4;
|
550
|
3443 printf("#3440:%f\n",f);
|
491
|
3444 i=11;
|
|
3445 f=(i>10) ? 4 : -4;
|
550
|
3446 printf("#3443:%f\n",f);
|
491
|
3447 }
|
|
3448
|
490
|
3449 #endif
|
|
3450
|
|
3451 #if LONGLONG_CODE
|
550
|
3452 INLINE void
|
490
|
3453 code_cond_lll()
|
|
3454 {
|
|
3455 long long i;
|
|
3456 long long j=-4;
|
|
3457 long long k=5;
|
|
3458
|
|
3459 for(i=0;i<2;i++) {
|
|
3460 k = i==0? -4:4;
|
550
|
3461 printf("#3458: cond_lll %lld\n",k);
|
|
3462 printf("#3459: cond_lll %lld\n",i==0? -4LL:4LL);
|
|
3463 printf("#3460: cond_lll %lld\n",(long long)(i==0? -4:4));
|
490
|
3464 k = i==0? i:j;
|
550
|
3465 printf("#3462: cond_lll %lld\n",k);
|
|
3466 printf("#3463: cond_lll %llu\n",i==0? i:j);
|
490
|
3467 }
|
|
3468 }
|
|
3469
|
550
|
3470 INLINE void
|
490
|
3471 code_cond_ulll()
|
|
3472 {
|
|
3473 unsigned long long i;
|
|
3474 unsigned long long j=4;
|
|
3475 unsigned long long k=5;
|
|
3476
|
|
3477 for(i=0;i<2;i++) {
|
|
3478 k = i==0? -4:4;
|
550
|
3479 printf("#3476: cond_ulll %llu\n",k);
|
|
3480 printf("#3477: cond_ulll %llu\n",i==0? -4LL:4LL);
|
|
3481 printf("#3478: cond_ulll %llu\n",(unsigned long long)(i==0? -4:4));
|
490
|
3482 k = i==0? i:j;
|
550
|
3483 printf("#3480: cond_ulll %llu\n",k);
|
|
3484 printf("#3481: cond_ulll %llu\n",i==0? i:j);
|
490
|
3485 }
|
|
3486 }
|
|
3487
|
550
|
3488 INLINE void
|
490
|
3489 code_cond_luu()
|
|
3490 {
|
|
3491 long long i;
|
|
3492 unsigned long long j=4;
|
|
3493 long long k=-5;
|
|
3494
|
|
3495 for(i=0;i<2;i++) {
|
|
3496 k = i==0? -4:4;
|
550
|
3497 printf("#3494: cond_luu %lld\n",k);
|
|
3498 printf("#3495: cond_luu %lld\n",i==0? -4LL:4LL);
|
|
3499 printf("#3496: cond_luu %lld\n",(unsigned long long)(i==0? -4:4));
|
490
|
3500 k = i==0? i:j;
|
550
|
3501 printf("#3498: cond_luu %lld\n",k);
|
|
3502 printf("#3499: cond_luu %lld\n",i==0? i:j);
|
490
|
3503 }
|
|
3504 }
|
|
3505
|
|
3506 #endif
|
275
|
3507
|