Lines Matching defs:S32

65 enum num_t { U64, first_t = U64, U32, S64, S32, last_t = S32 };
73 case S32: return (s32)x < (s32)y ? (s32)x : (s32)y;
84 case S32: return (s32)x > (s32)y ? (u32)(s32)x : (u32)(s32)y;
95 case S32: return (u32)(s32)x;
106 case S32: return "s32";
117 case S32: return true;
126 case U32: return S32;
128 case S32: return S32;
139 case S32: return U32;
154 case S32: return (s32)x >= SNUM_MIN_DECIMAL && (s32)x <= SNUM_MAX_DECIMAL;
168 case S32: return snappendf(sb, "%d", (s32)x);
198 case S32:
246 [S32] = { (u64)(u32)S32_MIN, (u64)(u32)S32_MAX },
255 case S32: return unkn[S32];
266 case S32: return (struct range){ (u32)(s32)a, (u32)(s32)b };
289 return range(S32, a, b);
301 return range(S32, a, b);
304 return unkn[S32];
322 case S32:
344 case S32:
361 case S32:
378 case S32:
395 case S32: return range_cast_s32(to_t, from);
406 case S32: return upper32(x) == 0;
420 case S32: return (s32)x.a <= (s32)x.b;
445 if (x_t == S64 && y_t == S32 && y_cast.a <= S32_MAX && y_cast.b <= S32_MAX &&
541 case S32: { range_canbe(s32); }
654 struct range r[4]; /* indexed by enum num_t: U64, U32, S64, S32 */
815 br = range_branch_taken_op(S32, x->r[S32], y->r[S32], op);
1062 {"smin32=", &reg->r[S32].a, (u32)S32_MIN, true},
1063 {"smax32=", &reg->r[S32].b, (u32)S32_MAX, true},
1409 .init_subregs = (init_t == U32 || init_t == S32),
1410 .setup_subregs = (init_t == U32 || init_t == S32),
1411 .setup_signed = (init_t == S64 || init_t == S32),
1412 .compare_subregs = (cond_t == U32 || cond_t == S32),
1413 .compare_signed = (cond_t == S64 || cond_t == S32),
1624 snprintf_num(S32, sb2, ctx->ssubvals[i]);
1676 snprintf_range(S32, sb2, range(S32, ctx->ssubvals[i], ctx->ssubvals[j]));
1695 ctx->ssubranges[cnt] = range(S32, ctx->ssubvals[i], ctx->ssubvals[j]);
1867 case S32:
1909 void test_reg_bounds_gen_consts_u64_s32(void) { validate_gen_range_vs_const_64(U64, S32); }
1914 void test_reg_bounds_gen_consts_s64_s32(void) { validate_gen_range_vs_const_64(S64, S32); }
1919 void test_reg_bounds_gen_consts_u32_s32(void) { validate_gen_range_vs_const_32(U32, S32); }
1920 /* RANGE x CONST, S32 initial range */
1921 void test_reg_bounds_gen_consts_s32_u64(void) { validate_gen_range_vs_const_32(S32, U64); }
1922 void test_reg_bounds_gen_consts_s32_s64(void) { validate_gen_range_vs_const_32(S32, S64); }
1923 void test_reg_bounds_gen_consts_s32_u32(void) { validate_gen_range_vs_const_32(S32, U32); }
1924 void test_reg_bounds_gen_consts_s32_s32(void) { validate_gen_range_vs_const_32(S32, S32); }
1930 void test_reg_bounds_gen_ranges_u64_s32(void) { validate_gen_range_vs_range(U64, S32); }
1935 void test_reg_bounds_gen_ranges_s64_s32(void) { validate_gen_range_vs_range(S64, S32); }
1940 void test_reg_bounds_gen_ranges_u32_s32(void) { validate_gen_range_vs_range(U32, S32); }
1941 /* RANGE x RANGE, S32 initial range */
1942 void test_reg_bounds_gen_ranges_s32_u64(void) { validate_gen_range_vs_range(S32, U64); }
1943 void test_reg_bounds_gen_ranges_s32_s64(void) { validate_gen_range_vs_range(S32, S64); }
1944 void test_reg_bounds_gen_ranges_s32_u32(void) { validate_gen_range_vs_range(S32, U32); }
1945 void test_reg_bounds_gen_ranges_s32_s32(void) { validate_gen_range_vs_range(S32, S32); }
2030 void test_reg_bounds_rand_consts_u64_s32(void) { validate_rand_ranges(U64, S32, true /* const */); }
2035 void test_reg_bounds_rand_consts_s64_s32(void) { validate_rand_ranges(S64, S32, true /* const */); }
2040 void test_reg_bounds_rand_consts_u32_s32(void) { validate_rand_ranges(U32, S32, true /* const */); }
2041 /* [RANDOM] RANGE x CONST, S32 initial range */
2042 void test_reg_bounds_rand_consts_s32_u64(void) { validate_rand_ranges(S32, U64, true /* const */); }
2043 void test_reg_bounds_rand_consts_s32_s64(void) { validate_rand_ranges(S32, S64, true /* const */); }
2044 void test_reg_bounds_rand_consts_s32_u32(void) { validate_rand_ranges(S32, U32, true /* const */); }
2045 void test_reg_bounds_rand_consts_s32_s32(void) { validate_rand_ranges(S32, S32, true /* const */); }
2051 void test_reg_bounds_rand_ranges_u64_s32(void) { validate_rand_ranges(U64, S32, false /* range */); }
2056 void test_reg_bounds_rand_ranges_s64_s32(void) { validate_rand_ranges(S64, S32, false /* range */); }
2061 void test_reg_bounds_rand_ranges_u32_s32(void) { validate_rand_ranges(U32, S32, false /* range */); }
2062 /* [RANDOM] RANGE x RANGE, S32 initial range */
2063 void test_reg_bounds_rand_ranges_s32_u64(void) { validate_rand_ranges(S32, U64, false /* range */); }
2064 void test_reg_bounds_rand_ranges_s32_s64(void) { validate_rand_ranges(S32, S64, false /* range */); }
2065 void test_reg_bounds_rand_ranges_s32_u32(void) { validate_rand_ranges(S32, U32, false /* range */); }
2066 void test_reg_bounds_rand_ranges_s32_s32(void) { validate_rand_ranges(S32, S32, false /* range */); }
2085 {U64, S32, {0, 1}, {1, 0x80000000}},
2096 {U64, S32, {0, 0xffffffff00000000ULL}, {0, 0}},
2100 {U64, S32, {0, 0x0ffffffffULL}, {0, 0}},
2101 {U64, S32, {0, 0x100000000ULL}, {0, 0}},
2102 {U64, S32, {0, 0x100000001ULL}, {0, 0}},
2103 {U64, S32, {0, 0x180000000ULL}, {0, 0}},
2104 {U64, S32, {0, 0x17fffffffULL}, {0, 0}},
2105 {U64, S32, {0, 0x180000001ULL}, {0, 0}},
2120 {U32, S32, {0, U32_MAX}, {U32_MAX, U32_MAX}},
2122 {S32, U64, {(u32)S32_MIN, (u32)S32_MIN}, {(u32)(s32)-255, 0}},
2123 {S32, S64, {(u32)S32_MIN, (u32)(s32)-255}, {(u32)(s32)-2, 0}},
2124 {S32, S64, {0, 1}, {(u32)S32_MIN, (u32)S32_MIN}},
2125 {S32, U32, {(u32)S32_MIN, (u32)S32_MIN}, {(u32)S32_MIN, (u32)S32_MIN}},
2135 {S32, U32, {(u32)S32_MIN, 0}, {0, 0}},
2136 {S32, U32, {(u32)S32_MIN, 0}, {(u32)S32_MIN, (u32)S32_MIN}},
2137 {S32, U32, {(u32)S32_MIN, S32_MAX}, {S32_MAX, S32_MAX}},