1#define sext(X)	((long long) (X))
2#define POS	(1LL << 31)
3#define NEG	(-POS - 1)
4
5static int lt_ge0(int x) { return (sext(x) <  (POS + 0)) == 1; }
6static int lt_ge1(int x) { return (sext(x) <  (POS + 1)) == 1; }
7static int lt_ge2(int x) { return (sext(x) <  (POS + 2)) == 1; }
8static int lt_gex(int x) { return (sext(x) <  (POS<< 1)) == 1; }
9static int lt_gey(int x) { return (sext(x) <  (POS<< 3)) == 1; }
10static int le_ge0(int x) { return (sext(x) <= (POS + 0)) == 1; }
11static int le_ge1(int x) { return (sext(x) <= (POS + 1)) == 1; }
12static int le_ge2(int x) { return (sext(x) <= (POS + 2)) == 1; }
13static int le_gex(int x) { return (sext(x) <= (POS<< 1)) == 1; }
14static int le_gey(int x) { return (sext(x) <= (POS<< 3)) == 1; }
15static int ge_ge0(int x) { return (sext(x) >= (POS + 0)) == 0; }
16static int ge_ge1(int x) { return (sext(x) >= (POS + 1)) == 0; }
17static int ge_ge2(int x) { return (sext(x) >= (POS + 2)) == 0; }
18static int ge_gex(int x) { return (sext(x) >= (POS<< 1)) == 0; }
19static int ge_gey(int x) { return (sext(x) >= (POS<< 3)) == 0; }
20static int gt_ge0(int x) { return (sext(x) >  (POS + 0)) == 0; }
21static int gt_ge1(int x) { return (sext(x) >  (POS + 1)) == 0; }
22static int gt_ge2(int x) { return (sext(x) >  (POS + 2)) == 0; }
23static int gt_gex(int x) { return (sext(x) >  (POS<< 1)) == 0; }
24static int gt_gey(int x) { return (sext(x) >  (POS<< 3)) == 0; }
25
26static int lt_lt0(int x) { return (sext(x) <  (NEG - 0)) == 0; }
27static int lt_lt1(int x) { return (sext(x) <  (NEG - 1)) == 0; }
28static int lt_lt2(int x) { return (sext(x) <  (NEG - 2)) == 0; }
29static int lt_ltx(int x) { return (sext(x) <  (NEG<< 1)) == 0; }
30static int lt_lty(int x) { return (sext(x) <  (NEG<< 3)) == 0; }
31static int le_lt0(int x) { return (sext(x) <= (NEG - 0)) == 0; }
32static int le_lt1(int x) { return (sext(x) <= (NEG - 1)) == 0; }
33static int le_lt2(int x) { return (sext(x) <= (NEG - 2)) == 0; }
34static int le_ltx(int x) { return (sext(x) <= (NEG<< 1)) == 0; }
35static int le_lty(int x) { return (sext(x) <= (NEG<< 3)) == 0; }
36static int ge_lt0(int x) { return (sext(x) >= (NEG - 0)) == 1; }
37static int ge_lt1(int x) { return (sext(x) >= (NEG - 1)) == 1; }
38static int ge_lt2(int x) { return (sext(x) >= (NEG - 2)) == 1; }
39static int ge_ltx(int x) { return (sext(x) >= (NEG<< 1)) == 1; }
40static int ge_lty(int x) { return (sext(x) >= (NEG<< 3)) == 1; }
41static int gt_lt0(int x) { return (sext(x) >  (NEG - 0)) == 1; }
42static int gt_lt1(int x) { return (sext(x) >  (NEG - 1)) == 1; }
43static int gt_lt2(int x) { return (sext(x) >  (NEG - 2)) == 1; }
44static int gt_ltx(int x) { return (sext(x) >  (NEG<< 1)) == 1; }
45static int gt_lty(int x) { return (sext(x) >  (NEG<< 3)) == 1; }
46
47/*
48 * check-name: cmp-sext-simm
49 * check-command: test-linearize -Wno-decl $file
50 *
51 * check-output-ignore
52 * check-output-returns: 1
53 */
54