diff options
| -rw-r--r-- | functional/binops.c | 141 | ||||
| -rw-r--r-- | validation/backend/binops.c | 146 |
2 files changed, 146 insertions, 141 deletions
diff --git a/functional/binops.c b/functional/binops.c deleted file mode 100644 index bd618e00..00000000 --- a/functional/binops.c +++ /dev/null @@ -1,141 +0,0 @@ -int add(int x, int y) -{ - return x + y; -} - -unsigned int uadd(unsigned int x, unsigned int y) -{ - return x + y; -} - -int sub(int x, int y) -{ - return x - y; -} - -unsigned int usub(unsigned int x, unsigned int y) -{ - return x - y; -} - -int mul(int x, int y) -{ - return x * y; -} - -unsigned int umul(unsigned int x, unsigned int y) -{ - return x * y; -} - -int div(int x, int y) -{ - return x / y; -} - -unsigned int udiv(unsigned int x, unsigned int y) -{ - return x / y; -} - -int mod(int x, int y) -{ - return x % y; -} - -unsigned int umod(unsigned int x, unsigned int y) -{ - return x % y; -} - -int shl(int x, int y) -{ - return x << y; -} - -unsigned int ushl(unsigned int x, unsigned int y) -{ - return x << y; -} - -int shr(int x, int y) -{ - return x >> y; -} - -unsigned int ushr(unsigned int x, unsigned int y) -{ - return x >> y; -} - -int and(int x, int y) -{ - return x & y; -} - -unsigned int uand(unsigned int x, unsigned int y) -{ - return x & y; -} - -int or(int x, int y) -{ - return x | y; -} - -unsigned int uor(unsigned int x, unsigned int y) -{ - return x | y; -} - -int xor(int x, int y) -{ - return x ^ y; -} - -unsigned int uxor(unsigned int x, unsigned int y) -{ - return x ^ y; -} - -#if 0 -int and_bool(int x, int y) -{ - return x && y; -} - -unsigned int uand_bool(unsigned int x, unsigned int y) -{ - return x && y; -} - -int or_bool(int x, int y) -{ - return x || y; -} - -unsigned int uor_bool(unsigned int x, unsigned int y) -{ - return x || y; -} - -int sete(int x, int y) -{ - return x == y; -} - -int setne(int x, int y) -{ - return x != y; -} - -int setl(int x, int y) -{ - return x < y; -} - -int setg(int x, int y) -{ - return x > y; -} -#endif diff --git a/validation/backend/binops.c b/validation/backend/binops.c new file mode 100644 index 00000000..bebefb5b --- /dev/null +++ b/validation/backend/binops.c @@ -0,0 +1,146 @@ +static int add(int x, int y) +{ + return x + y; +} + +static unsigned int uadd(unsigned int x, unsigned int y) +{ + return x + y; +} + +static int sub(int x, int y) +{ + return x - y; +} + +static unsigned int usub(unsigned int x, unsigned int y) +{ + return x - y; +} + +static int mul(int x, int y) +{ + return x * y; +} + +static unsigned int umul(unsigned int x, unsigned int y) +{ + return x * y; +} + +static int div(int x, int y) +{ + return x / y; +} + +static unsigned int udiv(unsigned int x, unsigned int y) +{ + return x / y; +} + +static int mod(int x, int y) +{ + return x % y; +} + +static unsigned int umod(unsigned int x, unsigned int y) +{ + return x % y; +} + +static int shl(int x, int y) +{ + return x << y; +} + +static unsigned int ushl(unsigned int x, unsigned int y) +{ + return x << y; +} + +static int shr(int x, int y) +{ + return x >> y; +} + +static unsigned int ushr(unsigned int x, unsigned int y) +{ + return x >> y; +} + +static int and(int x, int y) +{ + return x & y; +} + +static unsigned int uand(unsigned int x, unsigned int y) +{ + return x & y; +} + +static int or(int x, int y) +{ + return x | y; +} + +static unsigned int uor(unsigned int x, unsigned int y) +{ + return x | y; +} + +static int xor(int x, int y) +{ + return x ^ y; +} + +static unsigned int uxor(unsigned int x, unsigned int y) +{ + return x ^ y; +} + +#if 0 +static int and_bool(int x, int y) +{ + return x && y; +} + +static unsigned int uand_bool(unsigned int x, unsigned int y) +{ + return x && y; +} + +static int or_bool(int x, int y) +{ + return x || y; +} + +static unsigned int uor_bool(unsigned int x, unsigned int y) +{ + return x || y; +} + +static int sete(int x, int y) +{ + return x == y; +} + +static int setne(int x, int y) +{ + return x != y; +} + +static int setl(int x, int y) +{ + return x < y; +} + +static int setg(int x, int y) +{ + return x > y; +} +#endif + +/* + * check-name: binary op code generation + * check-command: ./sparsec -c $file -o tmp.o + */ |
