Lines Matching full:s64
17 #define S64_MIN ((s64)INT64_MIN)
18 #define S64_MAX ((s64)INT64_MAX)
32 #define s64 ___s64 macro
65 enum num_t { U64, first_t = U64, U32, S64, S32, last_t = S32 }; enumerator
72 case S64: return (s64)x < (s64)y ? (s64)x : (s64)y; in min_t()
83 case S64: return (s64)x > (s64)y ? (s64)x : (s64)y; in max_t()
94 case S64: return (s64)x; in cast_t()
105 case S64: return "s64"; in t_str()
116 case S64: return false; in t_is_32()
125 case U64: return S64; in t_signed()
127 case S64: return S64; in t_signed()
138 case S64: return U64; in t_unsigned()
153 case S64: return (s64)x >= SNUM_MIN_DECIMAL && (s64)x <= SNUM_MAX_DECIMAL; in num_is_small()
167 case S64: return snappendf(sb, "%lld", (s64)x); in snprintf_num()
187 case S64: in snprintf_num()
188 if ((s64)x == S64_MAX) in snprintf_num()
190 else if ((s64)x >= S64_MAX - 256) in snprintf_num()
191 return snappendf(sb, "S64_MAX-%lld", S64_MAX - (s64)x); in snprintf_num()
192 else if ((s64)x == S64_MIN) in snprintf_num()
194 else if ((s64)x <= S64_MIN + 256) in snprintf_num()
195 return snappendf(sb, "S64_MIN+%lld", (s64)x - S64_MIN); in snprintf_num()
197 return snappendf(sb, "%#llx", (s64)x); in snprintf_num()
245 [S64] = { (u64)S64_MIN, (u64)S64_MAX },
254 case S64: return unkn[U32]; in unkn_subreg()
265 case S64: return (struct range){ (s64)a, (s64)b }; in range()
318 case S64: in range_cast_u64()
320 return unkn[S64]; in range_cast_u64()
321 return range(S64, a, b); in range_cast_u64()
330 s64 a = (s64)x.a, b = (s64)x.b; in range_cast_s64()
334 /* equivalent to (s64)a <= (s64)b check */ in range_cast_s64()
342 case S64: in range_cast_s64()
356 case S64: in range_cast_u32()
357 /* u32 is always a valid zero-extended u64/s64 */ in range_cast_u32()
374 case S64: in range_cast_s32()
394 case S64: return range_cast_s64(to_t, from); in range_cast()
405 case S64: return true; in is_valid_num()
419 case S64: return (s64)x.a <= (s64)x.b; in is_valid_range()
513 case S64: { range_canbe(s64); } in range_canbe_op()
627 struct range r[4]; /* indexed by enum num_t: U64, U32, S64, S32 */
775 if (br_u == -1 && (t == U64 || t == S64)) { in reg_state_branch_taken_op()
1031 {"smin=", ®->r[S64].a, S64_MIN}, in parse_reg_state()
1032 {"smax=", ®->r[S64].b, S64_MAX}, in parse_reg_state()
1330 s64 svals[ARRAY_SIZE(upper_seeds) * ARRAY_SIZE(lower_seeds)];
1384 .setup_signed = (init_t == S64 || init_t == S32), in verify_case_op()
1386 .compare_signed = (cond_t == S64 || cond_t == S32), in verify_case_op()
1518 s64 x1 = *(const s64 *)p1, x2 = *(const s64 *)p2; in s64_cmp()
1551 /* we have exactly the same number of s64 values, they are just in in gen_vals()
1565 snprintf_num(S64, sb2, ctx->svals[i]); in gen_vals()
1566 printf("SEED #%d: u64=%-20s s64=%-20s\n", i, sb1->buf, sb2->buf); in gen_vals()
1616 snprintf_range(S64, sb2, range(S64, ctx->svals[i], ctx->svals[j])); in gen_ranges()
1617 printf("RANGE #%d: u64=%-40s s64=%-40s\n", cnt, sb1->buf, sb2->buf); in gen_ranges()
1635 ctx->sranges[cnt] = range(S64, ctx->svals[i], ctx->svals[j]); in gen_ranges()
1763 /* (u64|s64)(<range> x <const>) */ in validate_gen_range_vs_const_64()
1766 /* (u64|s64)(<const> x <range>) */ in validate_gen_range_vs_const_64()
1836 case S64: in validate_gen_range_vs_range()
1880 void test_reg_bounds_gen_consts_u64_s64(void) { validate_gen_range_vs_const_64(U64, S64); } in test_reg_bounds_gen_consts_u64_s64()
1883 /* RANGE x CONST, S64 initial range */
1884 void test_reg_bounds_gen_consts_s64_u64(void) { validate_gen_range_vs_const_64(S64, U64); } in test_reg_bounds_gen_consts_s64_u64()
1885 void test_reg_bounds_gen_consts_s64_s64(void) { validate_gen_range_vs_const_64(S64, S64); } in test_reg_bounds_gen_consts_s64_s64()
1886 void test_reg_bounds_gen_consts_s64_u32(void) { validate_gen_range_vs_const_64(S64, U32); } in test_reg_bounds_gen_consts_s64_u32()
1887 void test_reg_bounds_gen_consts_s64_s32(void) { validate_gen_range_vs_const_64(S64, S32); } in test_reg_bounds_gen_consts_s64_s32()
1890 void test_reg_bounds_gen_consts_u32_s64(void) { validate_gen_range_vs_const_32(U32, S64); } in test_reg_bounds_gen_consts_u32_s64()
1895 void test_reg_bounds_gen_consts_s32_s64(void) { validate_gen_range_vs_const_32(S32, S64); } in test_reg_bounds_gen_consts_s32_s64()
1901 void test_reg_bounds_gen_ranges_u64_s64(void) { validate_gen_range_vs_range(U64, S64); } in test_reg_bounds_gen_ranges_u64_s64()
1904 /* RANGE x RANGE, S64 initial range */
1905 void test_reg_bounds_gen_ranges_s64_u64(void) { validate_gen_range_vs_range(S64, U64); } in test_reg_bounds_gen_ranges_s64_u64()
1906 void test_reg_bounds_gen_ranges_s64_s64(void) { validate_gen_range_vs_range(S64, S64); } in test_reg_bounds_gen_ranges_s64_s64()
1907 void test_reg_bounds_gen_ranges_s64_u32(void) { validate_gen_range_vs_range(S64, U32); } in test_reg_bounds_gen_ranges_s64_u32()
1908 void test_reg_bounds_gen_ranges_s64_s32(void) { validate_gen_range_vs_range(S64, S32); } in test_reg_bounds_gen_ranges_s64_s32()
1911 void test_reg_bounds_gen_ranges_u32_s64(void) { validate_gen_range_vs_range(U32, S64); } in test_reg_bounds_gen_ranges_u32_s64()
1916 void test_reg_bounds_gen_ranges_s32_s64(void) { validate_gen_range_vs_range(S32, S64); } in test_reg_bounds_gen_ranges_s32_s64()
2001 void test_reg_bounds_rand_consts_u64_s64(void) { validate_rand_ranges(U64, S64, true /* const */); } in test_reg_bounds_rand_consts_u64_s64()
2004 /* [RANDOM] RANGE x CONST, S64 initial range */
2005 void test_reg_bounds_rand_consts_s64_u64(void) { validate_rand_ranges(S64, U64, true /* const */); } in test_reg_bounds_rand_consts_s64_u64()
2006 void test_reg_bounds_rand_consts_s64_s64(void) { validate_rand_ranges(S64, S64, true /* const */); } in test_reg_bounds_rand_consts_s64_s64()
2007 void test_reg_bounds_rand_consts_s64_u32(void) { validate_rand_ranges(S64, U32, true /* const */); } in test_reg_bounds_rand_consts_s64_u32()
2008 void test_reg_bounds_rand_consts_s64_s32(void) { validate_rand_ranges(S64, S32, true /* const */); } in test_reg_bounds_rand_consts_s64_s32()
2011 void test_reg_bounds_rand_consts_u32_s64(void) { validate_rand_ranges(U32, S64, true /* const */); } in test_reg_bounds_rand_consts_u32_s64()
2016 void test_reg_bounds_rand_consts_s32_s64(void) { validate_rand_ranges(S32, S64, true /* const */); } in test_reg_bounds_rand_consts_s32_s64()
2022 void test_reg_bounds_rand_ranges_u64_s64(void) { validate_rand_ranges(U64, S64, false /* range */);… in test_reg_bounds_rand_ranges_u64_s64()
2025 /* [RANDOM] RANGE x RANGE, S64 initial range */
2026 void test_reg_bounds_rand_ranges_s64_u64(void) { validate_rand_ranges(S64, U64, false /* range */);… in test_reg_bounds_rand_ranges_s64_u64()
2027 void test_reg_bounds_rand_ranges_s64_s64(void) { validate_rand_ranges(S64, S64, false /* range */);… in test_reg_bounds_rand_ranges_s64_s64()
2028 void test_reg_bounds_rand_ranges_s64_u32(void) { validate_rand_ranges(S64, U32, false /* range */);… in test_reg_bounds_rand_ranges_s64_u32()
2029 void test_reg_bounds_rand_ranges_s64_s32(void) { validate_rand_ranges(S64, S32, false /* range */);… in test_reg_bounds_rand_ranges_s64_s32()
2032 void test_reg_bounds_rand_ranges_u32_s64(void) { validate_rand_ranges(U32, S64, false /* range */);… in test_reg_bounds_rand_ranges_u32_s64()
2037 void test_reg_bounds_rand_ranges_s32_s64(void) { validate_rand_ranges(S32, S64, false /* range */);… in test_reg_bounds_rand_ranges_s32_s64()
2056 {U64, S64, {0, 1}, {1, 0x80000000}},
2060 {U64, S64, {0, 0xffffffff00000000ULL}, {0, 0}},
2061 {U64, S64, {0x7fffffffffffffffULL, 0xffffffff00000000ULL}, {0, 0}},
2062 {U64, S64, {0x7fffffff00000001ULL, 0xffffffff00000000ULL}, {0, 0}},
2063 {U64, S64, {0, 0xffffffffULL}, {1, 1}},
2064 {U64, S64, {0, 0xffffffffULL}, {0x7fffffff, 0x7fffffff}},
2081 {S64, S64, {0xffffffffffffffffULL, 0}, {0xffffffff00000000ULL, 0xffffffff00000000ULL}},
2086 /* longer convergence case: learning from u64 -> s64 -> u64 -> u32,
2089 {S64, U64, {0xffffffff00000001ULL, 0}, {0xffffffff00000000ULL, 0xffffffff00000000ULL}},
2096 {S32, S64, {(u32)S32_MIN, (u32)(s32)-255}, {(u32)(s32)-2, 0}},
2097 {S32, S64, {0, 1}, {(u32)S32_MIN, (u32)S32_MIN}},
2103 {S64, U64, {S64_MIN, 0}, {S64_MIN, S64_MIN}},
2104 {S64, U64, {S64_MIN, 0}, {0, 0}},
2105 {S64, U64, {S64_MIN, S64_MAX}, {S64_MAX, S64_MAX}},