diff options
| author | Pekka Enberg <penberg@kernel.org> | 2011-08-27 15:39:20 +0300 |
|---|---|---|
| committer | Pekka Enberg <penberg@kernel.org> | 2011-08-27 15:43:31 +0300 |
| commit | 397ea4ed08f699ac84d8fa1e4470b15a2632b2e1 (patch) | |
| tree | 8105643b8da5e1fb0563a361aef59cf0f0ca9ffc /validation/backend | |
| parent | 638debc6162ecb79061bbe8095d203d47c1a31d0 (diff) | |
| download | sparse-dev-397ea4ed08f699ac84d8fa1e4470b15a2632b2e1.tar.gz | |
sparse, llvm: Reorganize code generation tests
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'validation/backend')
| -rw-r--r-- | validation/backend/arithmetic-ops.c | 94 | ||||
| -rw-r--r-- | validation/backend/binops.c | 186 | ||||
| -rw-r--r-- | validation/backend/bitwise-ops.c | 54 | ||||
| -rw-r--r-- | validation/backend/cmp-ops.c | 24 | ||||
| -rw-r--r-- | validation/backend/logical-ops.c | 26 |
5 files changed, 198 insertions, 186 deletions
diff --git a/validation/backend/arithmetic-ops.c b/validation/backend/arithmetic-ops.c new file mode 100644 index 00000000..7c299d03 --- /dev/null +++ b/validation/backend/arithmetic-ops.c @@ -0,0 +1,94 @@ +static int add(int x, int y) +{ + return x + y; +} + +static unsigned int uadd(unsigned int x, unsigned int y) +{ + return x + y; +} + +static float fadd(float x, float y) +{ + return x + y; +} + +static double dadd(double x, double 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 float fsub(float x, float y) +{ + return x - y; +} + +static double dsub(double x, double 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 float fmul(float x, float y) +{ + return x * y; +} + +static double dmul(double x, double 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 float fdiv(float x, float y) +{ + return x / y; +} + +static double ddiv(double x, double 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; +} + +/* + * check-name: Arithmetic operator code generation + * check-command: ./sparsec -c $file -o tmp.o + */ diff --git a/validation/backend/binops.c b/validation/backend/binops.c deleted file mode 100644 index 1fed9b25..00000000 --- a/validation/backend/binops.c +++ /dev/null @@ -1,186 +0,0 @@ -static int add(int x, int y) -{ - return x + y; -} - -static unsigned int uadd(unsigned int x, unsigned int y) -{ - return x + y; -} - -static float fadd(float x, float y) -{ - return x + y; -} - -static double dadd(double x, double 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 float fsub(float x, float y) -{ - return x - y; -} - -static double dsub(double x, double 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 float fmul(float x, float y) -{ - return x * y; -} - -static double dmul(double x, double 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 float fdiv(float x, float y) -{ - return x / y; -} - -static double ddiv(double x, double 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; -} -#endif - -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; -} - -/* - * check-name: binary op code generation - * check-command: ./sparsec -c $file -o tmp.o - */ diff --git a/validation/backend/bitwise-ops.c b/validation/backend/bitwise-ops.c new file mode 100644 index 00000000..aa1029e4 --- /dev/null +++ b/validation/backend/bitwise-ops.c @@ -0,0 +1,54 @@ +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; +} + +/* + * check-name: Bitwise operator code generation + * check-command: ./sparsec -c $file -o tmp.o + */ diff --git a/validation/backend/cmp-ops.c b/validation/backend/cmp-ops.c new file mode 100644 index 00000000..5a89bee7 --- /dev/null +++ b/validation/backend/cmp-ops.c @@ -0,0 +1,24 @@ +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; +} + +/* + * check-name: Comparison operator code generation + * check-command: ./sparsec -c $file -o tmp.o + */ diff --git a/validation/backend/logical-ops.c b/validation/backend/logical-ops.c new file mode 100644 index 00000000..1a0e9244 --- /dev/null +++ b/validation/backend/logical-ops.c @@ -0,0 +1,26 @@ +#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; +} +#endif + +/* + * check-name: Logical operator code generation + * check-command: ./sparsec -c $file -o tmp.o + */ |
