sparse, llvm: Floating point support for binops
[smatch.git] / validation / backend / binops.c
blob1fed9b2514ec85de318a5ba2987e3e62524b682e
1 static int add(int x, int y)
3 return x + y;
6 static unsigned int uadd(unsigned int x, unsigned int y)
8 return x + y;
11 static float fadd(float x, float y)
13 return x + y;
16 static double dadd(double x, double y)
18 return x + y;
21 static int sub(int x, int y)
23 return x - y;
26 static unsigned int usub(unsigned int x, unsigned int y)
28 return x - y;
31 static float fsub(float x, float y)
33 return x - y;
36 static double dsub(double x, double y)
38 return x - y;
41 static int mul(int x, int y)
43 return x * y;
46 static unsigned int umul(unsigned int x, unsigned int y)
48 return x * y;
51 static float fmul(float x, float y)
53 return x * y;
56 static double dmul(double x, double y)
58 return x * y;
61 static int div(int x, int y)
63 return x / y;
66 static unsigned int udiv(unsigned int x, unsigned int y)
68 return x / y;
71 static float fdiv(float x, float y)
73 return x / y;
76 static double ddiv(double x, double y)
78 return x / y;
81 static int mod(int x, int y)
83 return x % y;
86 static unsigned int umod(unsigned int x, unsigned int y)
88 return x % y;
91 static int shl(int x, int y)
93 return x << y;
96 static unsigned int ushl(unsigned int x, unsigned int y)
98 return x << y;
101 static int shr(int x, int y)
103 return x >> y;
106 static unsigned int ushr(unsigned int x, unsigned int y)
108 return x >> y;
111 static int and(int x, int y)
113 return x & y;
116 static unsigned int uand(unsigned int x, unsigned int y)
118 return x & y;
121 static int or(int x, int y)
123 return x | y;
126 static unsigned int uor(unsigned int x, unsigned int y)
128 return x | y;
131 static int xor(int x, int y)
133 return x ^ y;
136 static unsigned int uxor(unsigned int x, unsigned int y)
138 return x ^ y;
141 #if 0
142 static int and_bool(int x, int y)
144 return x && y;
147 static unsigned int uand_bool(unsigned int x, unsigned int y)
149 return x && y;
152 static int or_bool(int x, int y)
154 return x || y;
157 static unsigned int uor_bool(unsigned int x, unsigned int y)
159 return x || y;
161 #endif
163 static int sete(int x, int y)
165 return x == y;
168 static int setne(int x, int y)
170 return x != y;
173 static int setl(int x, int y)
175 return x < y;
178 static int setg(int x, int y)
180 return x > y;
184 * check-name: binary op code generation
185 * check-command: ./sparsec -c $file -o tmp.o