X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Ftest%2Foptest.c;h=e1a790fec5b3caaf6dcef68dc803fb0e0ea97eef;hb=3c6b9f272fd0d2b2c48a1e34084411c179d08105;hp=f4d2497bebb3a31150192c7de522dab971f81450;hpb=e4691fe2e5046a9b2ae912e23e92ddcdcd2bb6e9;p=libfirm diff --git a/ir/be/test/optest.c b/ir/be/test/optest.c index f4d2497be..e1a790fec 100644 --- a/ir/be/test/optest.c +++ b/ir/be/test/optest.c @@ -1,118 +1,81 @@ #include -typedef int myint; - -#define TESTANZ 16 -#define IMM 23 -#define test16_1 42 -#define test16_2 11 -#define test32_1 0x001200AB -#define test32_2 0x00341500 - - - -myint test_add(myint a, myint b) { - return a+b; -} - -myint test_addi(myint a) { - return a+IMM; -} - -myint test_sub(myint a, myint b) { - return a-b; -} - -myint test_subi(myint a) { - return a-IMM; -} - -myint test_subfi(myint a) { - return IMM-a; -} - -myint test_mul(myint a, myint b) { - return a*b; -} - -myint test_muli(myint a) { - return a*IMM; -} - -myint test_div(myint a, myint b) { - return a/b; -} - -myint test_divi(myint a) { - return a/IMM; -} - -myint test_shl(myint a, myint b) { - return a<>b; -} - -myint test_shri(myint a) { - return a>>IMM; -} - -myint test_cmp(myint a, myint b) { - return (a>b) ? 1 : 0; -} - -myint test_cmpi(myint a) { - return (a>IMM) ? 1 : 0; -} +#define tname(x) x##long +#define T long +#include "optest.h" + +#undef tname +#undef T +#define tname(x) x##int +#define T int +#include "optest.h" + +#undef tname +#undef T +#define tname(x) x##short +#define T short +#include "optest.h" + +#undef tname +#undef T +#define tname(x) x##char +#define T char +#include "optest.h" + +#define TEST_UNSIGNED + +#undef tname +#undef T +#define tname(x) x##unsigned_long +#define T unsigned long +#include "optest.h" + +#undef tname +#undef T +#define tname(x) x##unsigned_int +#define T unsigned int +#include "optest.h" + +#undef tname +#undef T +#define tname(x) x##unsigned_short +#define T unsigned short +#include "optest.h" + +#undef tname +#undef T +#define tname(x) x##unsigned_char +#define T unsigned char +#include "optest.h" + +#if 0 +#undef tname +#undef T +#define tname(x) x##unsigned_long_long +#define T unsigned long long +#include "optest.h" + +#undef TEST_UNSIGNED + +#undef tname +#undef T +#define tname(x) x##long_long +#define T long long +#include "optest.h" +#endif int main(int argc, char *argv[]) { - myint res16[TESTANZ]; - myint res32[TESTANZ]; - int i; - - res16[ 0] = test_add (test16_1, test16_2); - res16[ 1] = test_sub (test16_1, test16_2); - res16[ 2] = test_mul (test16_1, test16_2); - res16[ 3] = test_div (test16_1, test16_2); - res16[ 4] = test_shl (test16_1, test16_2); - res16[ 5] = test_shr (test16_1, test16_2); - res16[ 6] = test_div (test16_1, test16_2); - res16[ 7] = test_cmp (test16_1, test16_2); - res16[ 8] = test_addi (test16_1); - res16[ 9] = test_subi (test16_1); - res16[10] = test_subfi(test16_1); - res16[11] = test_muli (test16_1); - res16[12] = test_divi (test16_1); - res16[13] = test_shli (test16_1); - res16[14] = test_shri (test16_1); - res16[15] = test_cmpi (test16_1); - - res32[ 0] = test_add (test32_1, test32_2); - res32[ 1] = test_sub (test32_1, test32_2); - res32[ 2] = test_mul (test32_1, test32_2); - res32[ 3] = test_div (test32_1, test32_2); - res32[ 4] = test_shl (test32_1, test32_2); - res32[ 5] = test_shr (test32_1, test32_2); - res32[ 6] = test_div (test32_1, test32_2); - res32[ 7] = test_cmp (test32_1, test32_2); - res32[ 8] = test_addi (test32_1); - res32[ 9] = test_subi (test32_1); - res32[10] = test_subfi(test32_1); - res32[11] = test_muli (test32_1); - res32[12] = test_divi (test32_1); - res32[13] = test_shli (test32_1); - res32[14] = test_shri (test32_1); - res32[15] = test_cmpi (test32_1); - - for (i=0; i