1 #define sext(X) ((unsigned long long) (X))
2 #define POS (1ULL << 31)
3 #define NEG ((unsigned long long) -POS)
5 int sext_ltu_p2(int x
) { return (sext(x
) < (POS
+ 2)) == (x
>= 0); }
6 int sext_ltu_p1(int x
) { return (sext(x
) < (POS
+ 1)) == (x
>= 0); }
7 int sext_ltu_p0(int x
) { return (sext(x
) < (POS
+ 0)) == (x
>= 0); }
9 int sext_leu_p1(int x
) { return (sext(x
) <= (POS
+ 1)) == (x
>= 0); }
10 int sext_leu_p0(int x
) { return (sext(x
) <= (POS
+ 0)) == (x
>= 0); }
12 int sext_geu_m1(int x
) { return (sext(x
) >= (NEG
- 1)) == (x
< 0); }
13 int sext_geu_m2(int x
) { return (sext(x
) >= (NEG
- 2)) == (x
< 0); }
15 int sext_gtu_m1(int x
) { return (sext(x
) > (NEG
- 1)) == (x
< 0); }
16 int sext_gtu_m2(int x
) { return (sext(x
) > (NEG
- 2)) == (x
< 0); }
17 int sext_gtu_m3(int x
) { return (sext(x
) > (NEG
- 3)) == (x
< 0); }
20 * check-name: cmp-sext-uimm
21 * check-command: test-linearize -Wno-decl $file
24 * check-output-returns: 1