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