comparison test/code-gen.c @ 227:ed92cef127f1

*** empty log message ***
author kono
date Tue, 27 Apr 2004 18:32:28 +0900
parents 1ac647873577
children 21b311266011
comparison
equal deleted inserted replaced
226:a31e1d24c097 227:ed92cef127f1
248 printf("code_return_struct %d\n", code_return_struct0().a[55]); 248 printf("code_return_struct %d\n", code_return_struct0().a[55]);
249 } 249 }
250 250
251 // code_gt(int cond) 251 // code_gt(int cond)
252 252
253 void code_gt() 253 void
254 code_gt()
254 { 255 {
255 if (i1>i2) 256 if (i1>i2)
256 printf("code_gt 1\n"); 257 printf("code_gt 1\n");
257 else 258 else
258 printf("code_gt 0\n"); 259 printf("code_gt 0\n");
259 } 260 }
260 261
261 // code_ugt(int cond) 262 // code_ugt(int cond)
262 void code_ugt() 263 void
264 code_ugt()
263 { 265 {
264 if (ui1>ui2) 266 if (ui1>ui2)
265 printf("code_ugt 1\n"); 267 printf("code_ugt 1\n");
266 else 268 else
267 printf("code_ugt 0\n"); 269 printf("code_ugt 0\n");
268 } 270 }
269 271
270 // code_ge(int cond) 272 // code_ge(int cond)
271 void code_ge() 273 void
274 code_ge()
272 { 275 {
273 if (i1>=i2) 276 if (i1>=i2)
274 printf("code_ge 1\n"); 277 printf("code_ge 1\n");
275 else 278 else
276 printf("code_ge 0\n"); 279 printf("code_ge 0\n");
277 } 280 }
278 281
279 // code_uge(int cond) 282 // code_uge(int cond)
280 void code_uge() 283 void
284 code_uge()
281 { 285 {
282 if (ui1>=ui2) 286 if (ui1>=ui2)
283 printf("code_uge 1\n"); 287 printf("code_uge 1\n");
284 else 288 else
285 printf("code_uge 0\n"); 289 printf("code_uge 0\n");
286 } 290 }
287 291
288 // code_eq(int cond) 292 // code_eq(int cond)
289 void code_eq() 293 void
294 code_eq()
290 { 295 {
291 if (ui1==ui2) 296 if (ui1==ui2)
292 printf("code_eq 1\n"); 297 printf("code_eq 1\n");
293 else 298 else
294 printf("code_eq 0\n"); 299 printf("code_eq 0\n");
301 // code_bool(int e1) 306 // code_bool(int e1)
302 307
303 void 308 void
304 code_bool() 309 code_bool()
305 { 310 {
306 printf("code_bool %d %d %d %d %d %d\n", 311 printf("code_bool gvar %d %d %d %d %d %d\n",
307 i1>i2,ui1>ui2,i1>=i2,ui1>=ui2,ui1==ui2,i1!=i2); 312 i1>i2,ui1>ui2,i1>=i2,ui1>=ui2,ui1==ui2,i1!=i2);
308 #if FLOAT_CODE 313 printf("code_bool gvar %d %d %d %d %d %d\n",
309 printf("code_bool float %d %d %d %d\n", 314 i1<i2,ui1<ui2,i1<=i2,ui1<=ui2,ui1==ui2,i1!=i2);
310 f0>f1,f0>=f1,f0==f1,f0!=f1);
311 printf("code_bool double %d %d %d %d\n",
312 d0>d1,d0>=d1,d0==d1,d0!=d1);
313 #endif
314 #if LONGLONG_CODE
315 printf("code_bool long long %d %d %d %d %d %d\n",
316 l1>l0,ul1>ul0,l1>=l0,ul1>=ul0,ul1==ul0,l1!=l0);
317 #endif
318 } 315 }
319 316
320 void 317 void
321 code_cmp() 318 code_cmp()
322 { 319 {
490 ui1 = 200; ui2= 128; 487 ui1 = 200; ui2= 128;
491 pi1 = &i1; 488 pi1 = &i1;
492 pi2 = &i2; 489 pi2 = &i2;
493 pui1 = &ui1; 490 pui1 = &ui1;
494 pui2 = &ui2; 491 pui2 = &ui2;
492 printf("code_lrindirect %llx %llx %llx %llx\n",*pi1,*pi2,*pui1,*pui2);
495 printf("code_lrindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2); 493 printf("code_lrindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2);
496 } 494 }
497 495
498 #endif 496 #endif
499 497
790 printf("code_dneg %g %g\n",-i,-j); 788 printf("code_dneg %g %g\n",-i,-j);
791 printf("code_dneg %g %g\n",-di,-dj); 789 printf("code_dneg %g %g\n",-di,-dj);
792 } 790 }
793 791
794 // code_d2i(int freg0) 792 // code_d2i(int freg0)
795 void code_d2i() 793 void
794 code_d2i()
796 { 795 {
797 double d; 796 double d;
798 int i; 797 int i;
799 d = 0.1; 798 d = 0.1;
800 i = d; 799 i = d;
801 printf("code_d2i %d\n",i); 800 printf("code_d2i %d\n",i);
802 } 801 }
803 // code_i2d(int creg0) 802 // code_i2d(int creg0)
804 void code_i2d() 803 void
804 code_i2d()
805 { 805 {
806 double d; 806 double d;
807 int i; 807 int i;
808 i = 242342342; 808 i = 242342342;
809 d = i; 809 d = i;
810 printf("code_i2d %g\n",d); 810 printf("code_i2d %g\n",d);
811 } 811 }
812 // code_d2u(int freg0) 812 // code_d2u(int freg0)
813 void code_d2u() 813 void
814 code_d2u()
814 { 815 {
815 double d; 816 double d;
816 unsigned int i; 817 unsigned int i;
817 d = 0.1; 818 d = 0.1;
818 i = d; 819 i = d;
819 printf("code_d2u %ud\n",i); 820 printf("code_d2u %ud\n",i);
820 } 821 }
821 // code_u2d(int creg0) 822 // code_u2d(int creg0)
822 void code_u2d() 823 void
824 code_u2d()
823 { 825 {
824 double d; 826 double d;
825 unsigned int i; 827 unsigned int i;
826 i = 242342342; 828 i = 242342342;
827 d = i; 829 d = i;
828 printf("code_u2d %g\n",d); 830 printf("code_u2d %g\n",d);
829 } 831 }
830 // code_f2i(int freg0) 832 // code_f2i(int freg0)
831 void code_f2i() 833 void
834 code_f2i()
832 { 835 {
833 float d; 836 float d;
834 int i; 837 int i;
835 d = 0.1; 838 d = 0.1;
836 i = d; 839 i = d;
837 printf("code_d2i %d\n",i); 840 printf("code_d2i %d\n",i);
838 } 841 }
839 // code_i2f(int creg0) 842 // code_i2f(int creg0)
840 void code_i2f() 843 void
844 code_i2f()
841 { 845 {
842 float d; 846 float d;
843 int i; 847 int i;
844 i = 24234342; 848 i = 24234342;
845 d = i; 849 d = i;
846 printf("code_i2f %g\n",d); 850 printf("code_i2f %g\n",d);
847 } 851 }
848 // code_f2u(int freg0) 852 // code_f2u(int freg0)
849 void code_f2u() 853 void
854 code_f2u()
850 { 855 {
851 float d; 856 float d;
852 unsigned int i; 857 unsigned int i;
853 d = 0.1; 858 d = 0.1;
854 i = d; 859 i = d;
855 printf("code_f2u %ud\n",i); 860 printf("code_f2u %ud\n",i);
856 } 861 }
857 // code_u2f(int creg0) 862 // code_u2f(int creg0)
858 void code_u2f() 863 void
864 code_u2f()
859 { 865 {
860 float d; 866 float d;
861 unsigned int i; 867 unsigned int i;
862 i = 242342342; 868 i = 242342342;
863 d = i; 869 d = i;
884 float f0,f1; 890 float f0,f1;
885 double d0,d1; 891 double d0,d1;
886 f0 = 0.0; f1 = 0.2; 892 f0 = 0.0; f1 = 0.2;
887 d0 = 10; d1 = 10e10; 893 d0 = 10; d1 = 10e10;
888 printf("code_lvar float %f %f %g %g\n",f0,f1,d0,d1); 894 printf("code_lvar float %f %f %g %g\n",f0,f1,d0,d1);
895 printf("code_bool lvar float %d %d %d %d\n",
896 f0>f1,f0>=f1,f0==f1,f0!=f1);
897 printf("code_bool lvar double %d %d %d %d\n",
898 d0>d1,d0>=d1,d0==d1,d0!=d1);
899 printf("code_bool lvar float %d %d %d %d\n",
900 f0<f1,f0<=f1,f0==f1,f0!=f1);
901 printf("code_bool lvar double %d %d %d %d\n",
902 d0<d1,d0<=d1,d0==d1,d0!=d1);
889 } 903 }
890 904
891 905
892 // code_cmp_drgvar(int e2,int d) 906 // code_cmp_drgvar(int e2,int d)
893 void 907 void
1003 // case FOP+EQ: 1017 // case FOP+EQ:
1004 // case DOP+NEQ: 1018 // case DOP+NEQ:
1005 // case FOP+NEQ: 1019 // case FOP+NEQ:
1006 // code_gt(int cond) 1020 // code_gt(int cond)
1007 1021
1008 void code_dgt() 1022 void
1023 code_dgt()
1009 { 1024 {
1010 if (d0>d1) 1025 if (d0>d1)
1011 printf("code_gt 1\n"); 1026 printf("code_gt 1\n");
1012 else 1027 else
1013 printf("code_gt 0\n"); 1028 printf("code_gt 0\n");
1014 } 1029 }
1015 1030
1016 // code_ugt(int cond) 1031 // code_ugt(int cond)
1017 void code_fgt() 1032 void
1033 code_fgt()
1018 { 1034 {
1019 if (f0>f1) 1035 if (f0>f1)
1020 printf("code_fgt 1\n"); 1036 printf("code_fgt 1\n");
1021 else 1037 else
1022 printf("code_fgt 0\n"); 1038 printf("code_fgt 0\n");
1023 } 1039 }
1024 1040
1025 // code_ge(int cond) 1041 // code_ge(int cond)
1026 void code_dge() 1042 void
1043 code_dge()
1027 { 1044 {
1028 if (d0>=d1) 1045 if (d0>=d1)
1029 printf("code_dge 1\n"); 1046 printf("code_dge 1\n");
1030 else 1047 else
1031 printf("code_dge 0\n"); 1048 printf("code_dge 0\n");
1032 } 1049 }
1033 1050
1034 // code_uge(int cond) 1051 // code_uge(int cond)
1035 void code_fge() 1052 void
1053 code_fge()
1036 { 1054 {
1037 if (f0>=f1) 1055 if (f0>=f1)
1038 printf("code_fge 1\n"); 1056 printf("code_fge 1\n");
1039 else 1057 else
1040 printf("code_fge 0\n"); 1058 printf("code_fge 0\n");
1041 } 1059 }
1042 1060
1043 // code_eq(int cond) 1061 // code_eq(int cond)
1044 void code_deq() 1062 void
1063 code_deq()
1045 { 1064 {
1046 if (f0==f1) 1065 if (f0==f1)
1047 printf("code_feq 1\n"); 1066 printf("code_feq 1\n");
1048 else 1067 else
1049 printf("code_feq 0\n"); 1068 printf("code_feq 0\n");
1060 { 1079 {
1061 printf("code_bool float %d %d %d %d\n", 1080 printf("code_bool float %d %d %d %d\n",
1062 f0>f1,f0>=f1,f0==f1,f0!=f1); 1081 f0>f1,f0>=f1,f0==f1,f0!=f1);
1063 printf("code_bool double %d %d %d %d\n", 1082 printf("code_bool double %d %d %d %d\n",
1064 d0>d1,d0>=d1,d0==d1,d0!=d1); 1083 d0>d1,d0>=d1,d0==d1,d0!=d1);
1084 printf("code_bool float %d %d %d %d\n",
1085 f0<f1,f0<=f1,f0==f1,f0!=f1);
1086 printf("code_bool double %d %d %d %d\n",
1087 d0<d1,d0<=d1,d0==d1,d0!=d1);
1065 } 1088 }
1066 #endif 1089 #endif
1067 1090
1068 1091
1069 #if LONGLONG_CODE 1092 #if LONGLONG_CODE
1071 void 1094 void
1072 code_lbool() 1095 code_lbool()
1073 { 1096 {
1074 printf("code_bool long long %d %d %d %d %d %d\n", 1097 printf("code_bool long long %d %d %d %d %d %d\n",
1075 l1>l0,ul1>ul0,l1>=l0,ul1>=ul0,ul1==ul0,l1!=l0); 1098 l1>l0,ul1>ul0,l1>=l0,ul1>=ul0,ul1==ul0,l1!=l0);
1099 printf("code_bool long long %d %d %d %d %d %d\n",
1100 l1<l0,ul1<ul0,l1<=l0,ul1<=ul0,ul1==ul0,l1!=l0);
1076 } 1101 }
1077 1102
1078 // int lpop_register() 1103 // int lpop_register()
1079 // code_lregister(int e2,int reg) 1104 // code_lregister(int e2,int reg)
1080 void 1105 void
1187 l0 = 123123123LL; 1212 l0 = 123123123LL;
1188 l1 = 123123123LL; 1213 l1 = 123123123LL;
1189 ul0 = 123123123LL; 1214 ul0 = 123123123LL;
1190 ul1 = 123123123LL; 1215 ul1 = 123123123LL;
1191 printf("code_lvar long long %lld %lld %llu %llu\n",l0,l1,ul0,ul1); 1216 printf("code_lvar long long %lld %lld %llu %llu\n",l0,l1,ul0,ul1);
1217 printf("code_bool lvar long long %d %d %d %d %d %d\n",
1218 l1>l0,ul1>ul0,l1>=l0,ul1>=ul0,ul1==ul0,l1!=l0);
1219 printf("code_bool lvar long long %d %d %d %d %d %d\n",
1220 l1<l0,ul1<ul0,l1<=l0,ul1<=ul0,ul1==ul0,l1!=l0);
1192 } 1221 }
1193 1222
1194 // ltosop(int e1,int e2) 1223 // ltosop(int e1,int e2)
1195 void 1224 void
1196 ltosop() 1225 ltosop()
1341 printf("loprtc 10 %llu\n",u); 1370 printf("loprtc 10 %llu\n",u);
1342 } 1371 }
1343 1372
1344 1373
1345 // code_i2ll(int creg) 1374 // code_i2ll(int creg)
1346 void code_i2ll() 1375 void
1376 code_i2ll()
1347 { 1377 {
1348 long long d; 1378 long long d;
1349 int i; 1379 int i;
1350 i = 23442342; 1380 i = 23442342;
1351 d = i; 1381 d = i;
1352 printf("code_i2ll %lld\n",d); 1382 printf("code_i2ll %lld\n",d);
1353 } 1383 }
1354 // code_i2ull(int creg) 1384 // code_i2ull(int creg)
1355 void code_i2ull() 1385 void
1386 code_i2ull()
1356 { 1387 {
1357 unsigned long long d; 1388 unsigned long long d;
1358 int i; 1389 int i;
1359 i = 23442342; 1390 i = 23442342;
1360 d = i; 1391 d = i;
1361 printf("code_i2ull %lld\n",d); 1392 printf("code_i2ull %lld\n",d);
1362 } 1393 }
1363 // code_u2ll(int creg) 1394 // code_u2ll(int creg)
1364 void code_u2ll() 1395 void
1396 code_u2ll()
1365 { 1397 {
1366 long long d; 1398 long long d;
1367 unsigned int i; 1399 unsigned int i;
1368 i = 23442342; 1400 i = 23442342;
1369 d = i; 1401 d = i;
1370 printf("code_u2ll %lld\n",d); 1402 printf("code_u2ll %lld\n",d);
1371 } 1403 }
1372 // code_u2ull(int creg) 1404 // code_u2ull(int creg)
1373 void code_u2ull() 1405 void
1406 code_u2ull()
1374 { 1407 {
1375 unsigned long long d; 1408 unsigned long long d;
1376 unsigned int i; 1409 unsigned int i;
1377 i = 23342342; 1410 i = 23342342;
1378 d = i; 1411 d = i;
1379 printf("code_u2ull %llu\n",d); 1412 printf("code_u2ull %llu\n",d);
1380 } 1413 }
1381 // code_ll2i(int creg) 1414 // code_ll2i(int creg)
1382 void code_ll2i() 1415 void
1416 code_ll2i()
1383 { 1417 {
1384 long long d; 1418 long long d;
1385 int i; 1419 int i;
1386 d = 2342342342LL; 1420 d = 2342342342LL;
1387 i = d; 1421 i = d;
1388 printf("code_ll2i %d\n",i); 1422 printf("code_ll2i %d\n",i);
1389 } 1423 }
1390 // code_ll2u(int creg) 1424 // code_ll2u(int creg)
1391 void code_ll2u() 1425 void
1426 code_ll2u()
1392 { 1427 {
1393 long long d; 1428 long long d;
1394 unsigned int i; 1429 unsigned int i;
1395 d = 2342342342LL; 1430 d = 2342342342LL;
1396 i = d; 1431 i = d;
1397 printf("code_ll2i %ud\n",i); 1432 printf("code_ll2i %ud\n",i);
1398 } 1433 }
1399 // code_ull2i(int creg) 1434 // code_ull2i(int creg)
1400 void code_ull2i() 1435 void
1436 code_ull2i()
1401 { 1437 {
1402 unsigned long long d; 1438 unsigned long long d;
1403 int i; 1439 int i;
1404 d = 2342342342LL; 1440 d = 2342342342LL;
1405 i = d; 1441 i = d;
1406 printf("code_ull2i %d\n",i); 1442 printf("code_ull2i %d\n",i);
1407 } 1443 }
1408 // code_ull2u(int creg) 1444 // code_ull2u(int creg)
1409 void code_ull2u() 1445 void
1446 code_ull2u()
1410 { 1447 {
1411 unsigned long long d; 1448 unsigned long long d;
1412 unsigned int i; 1449 unsigned int i;
1413 d = 2342342342LL; 1450 d = 2342342342LL;
1414 i = d; 1451 i = d;
1415 printf("code_ll2i %ud\n",i); 1452 printf("code_ll2i %ud\n",i);
1416 } 1453 }
1417 #if FLOAT_CODE 1454 #if FLOAT_CODE
1418 // code_d2ll(int creg) 1455 // code_d2ll(int creg)
1419 void code_d2ll() 1456 void
1457 code_d2ll()
1420 { 1458 {
1421 long long d; 1459 long long d;
1422 double i; 1460 double i;
1423 i = 2342342342LL; 1461 i = 2342342342LL;
1424 d = i; 1462 d = i;
1425 printf("code_d2ll %lld\n",d); 1463 printf("code_d2ll %lld\n",d);
1426 } 1464 }
1427 // code_d2ull(int creg) 1465 // code_d2ull(int creg)
1428 void code_d2ull() 1466 void
1467 code_d2ull()
1429 { 1468 {
1430 unsigned long long d; 1469 unsigned long long d;
1431 double i; 1470 double i;
1432 i = 2342342342LL; 1471 i = 2342342342LL;
1433 d = i; 1472 d = i;
1434 printf("code_d2ll %llu\n",d); 1473 printf("code_d2ll %llu\n",d);
1435 } 1474 }
1436 // code_f2ll(int creg) 1475 // code_f2ll(int creg)
1437 void code_f2ll() 1476 void
1477 code_f2ll()
1438 { 1478 {
1439 long long d; 1479 long long d;
1440 float i; 1480 float i;
1441 i = 2342342342LL; 1481 i = 2342342342LL;
1442 d = i; 1482 d = i;
1443 printf("code_d2ll %lld\n",d); 1483 printf("code_d2ll %lld\n",d);
1444 } 1484 }
1445 // code_f2ull(int creg) 1485 // code_f2ull(int creg)
1446 void code_f2ull() 1486 void
1487 code_f2ull()
1447 { 1488 {
1448 unsigned long long d; 1489 unsigned long long d;
1449 float i; 1490 float i;
1450 i = 2342342342LL; 1491 i = 2342342342LL;
1451 d = i; 1492 d = i;
1452 printf("code_d2ll %llu\n",d); 1493 printf("code_d2ll %llu\n",d);
1453 } 1494 }
1454 // code_ll2d(int creg) 1495 // code_ll2d(int creg)
1455 void code_ll2d() 1496 void
1497 code_ll2d()
1456 { 1498 {
1457 long long d; 1499 long long d;
1458 double i; 1500 double i;
1459 d = 2342342342LL; 1501 d = 2342342342LL;
1460 i = d; 1502 i = d;
1461 printf("code_d2ll %g\n",i); 1503 printf("code_d2ll %g\n",i);
1462 } 1504 }
1463 // code_ll2f(int creg) 1505 // code_ll2f(int creg)
1464 void code_ll2f() 1506 void
1507 code_ll2f()
1465 { 1508 {
1466 long long d; 1509 long long d;
1467 float i; 1510 float i;
1468 d = 2342342342LL; 1511 d = 2342342342LL;
1469 i = d; 1512 i = d;
1470 printf("code_d2ll %g\n",i); 1513 printf("code_d2ll %g\n",i);
1471 } 1514 }
1472 // code_ull2d(int creg) 1515 // code_ull2d(int creg)
1473 void code_ull2d() 1516 void
1517 code_ull2d()
1474 { 1518 {
1475 long long d; 1519 long long d;
1476 double i; 1520 double i;
1477 d = 2342342342LL; 1521 d = 2342342342LL;
1478 i = d; 1522 i = d;
1479 printf("code_d2ll %g\n",i); 1523 printf("code_d2ll %g\n",i);
1480 } 1524 }
1481 // code_ull2f(int creg) 1525 // code_ull2f(int creg)
1482 void code_ull2f() 1526 void
1527 code_ull2f()
1483 { 1528 {
1484 long long d; 1529 long long d;
1485 float i; 1530 float i;
1486 d = 2342342342LL; 1531 d = 2342342342LL;
1487 i = d; 1532 i = d;
1623 printf("code_lassop 9 %llu\n",ui1); 1668 printf("code_lassop 9 %llu\n",ui1);
1624 } 1669 }
1625 1670
1626 // code_lgt(int cond) 1671 // code_lgt(int cond)
1627 1672
1628 void code_lgt() 1673 void
1674 code_lgt()
1629 { 1675 {
1630 if (l0>l1) 1676 if (l0>l1)
1631 printf("code_lgt 1\n"); 1677 printf("code_lgt 1\n");
1632 else 1678 else
1633 printf("code_lgt 0\n"); 1679 printf("code_lgt 0\n");
1634 } 1680 }
1635 1681
1636 // code_lugt(int cond) 1682 // code_lugt(int cond)
1637 void code_lugt() 1683 void
1684 code_lugt()
1638 { 1685 {
1639 if (ul0>ul1) 1686 if (ul0>ul1)
1640 printf("code_lugt 1\n"); 1687 printf("code_lugt 1\n");
1641 else 1688 else
1642 printf("code_lugt 0\n"); 1689 printf("code_lugt 0\n");
1643 } 1690 }
1644 1691
1645 // code_lge(int cond) 1692 // code_lge(int cond)
1646 void code_lge() 1693 void
1694 code_lge()
1647 { 1695 {
1648 if (l0>=l1) 1696 if (l0>=l1)
1649 printf("code_lge 1\n"); 1697 printf("code_lge 1\n");
1650 else 1698 else
1651 printf("code_lge 0\n"); 1699 printf("code_lge 0\n");
1652 } 1700 }
1653 1701
1654 // code_luge(int cond) 1702 // code_luge(int cond)
1655 void code_luge() 1703 void
1704 code_luge()
1656 { 1705 {
1657 if (ul0>=ul1) 1706 if (ul0>=ul1)
1658 printf("code_luge 1\n"); 1707 printf("code_luge 1\n");
1659 else 1708 else
1660 printf("code_luge 0\n"); 1709 printf("code_luge 0\n");
1661 } 1710 }
1662 1711
1663 // code_leq(int cond) 1712 // code_leq(int cond)
1664 void code_leq() 1713 void
1714 code_leq()
1665 { 1715 {
1666 if (ul0==ul1) 1716 if (ul0==ul1)
1667 printf("code_leq 1\n"); 1717 printf("code_leq 1\n");
1668 else 1718 else
1669 printf("code_leq 0\n"); 1719 printf("code_leq 0\n");