Home
last modified time | relevance | path

Searched refs:frac (Results 1 – 11 of 11) sorted by relevance

/qemu/fpu/
H A Dsoftfloat-specialize.c.inc107 static bool parts_is_snan_frac(uint64_t frac, float_status *status)
112 bool msb = extract64(frac, DECOMPOSED_BINARY_POINT - 1, 1);
124 uint64_t frac;
134 frac = deposit64(0, DECOMPOSED_BINARY_POINT - 7, 7, dnan_pattern);
135 frac = deposit64(frac, 0, DECOMPOSED_BINARY_POINT - 7, -(dnan_pattern & 1));
141 .frac = frac
159 .frac_hi = p64.frac,
160 .frac_lo = -(p64.frac & 1)
169 static uint64_t parts_silence_nan_frac(uint64_t frac, float_status *status)
175 frac &= ~(1ULL << (DECOMPOSED_BINARY_POINT - 1));
[all …]
H A Dsoftfloat.c492 uint64_t frac; member
613 .frac = extract64(raw, 0, f_size) in unpack_raw64()
670 ret = deposit64(ret, 0, f_size, p->frac); in pack_raw64()
948 return uadd64_overflow(a->frac, b->frac, &r->frac); in frac64_add()
973 return uadd64_overflow(a->frac, c, &r->frac); in frac64_addi()
986 a->frac = -1; in frac64_allones()
998 return (a->frac == b->frac ? float_relation_equal in frac64_cmp()
999 : a->frac < b->frac ? float_relation_less in frac64_cmp()
1019 a->frac = 0; in frac64_clear()
1045 ret = a->frac < b->frac; in frac64_div()
[all …]
H A Dsoftfloat-parts.c.inc902 * x = 4^e frac; with integer e, and frac in [1, 4)
903 * m = frac fixed point at bit 62, since we're in base 4.
1092 /* Anything remaining means frac > 0.5. */
/qemu/target/arm/tcg/
H A Dvfp_helper.c611 static uint64_t call_recip_estimate(int *exp, int exp_off, uint64_t frac, in call_recip_estimate() argument
620 if (extract64(frac, 51, 1) == 0) { in call_recip_estimate()
622 frac <<= 2; in call_recip_estimate()
624 frac <<= 1; in call_recip_estimate()
630 scaled = deposit32(1 << 11, 0, 11, extract64(frac, 41, 11)); in call_recip_estimate()
634 scaled = deposit32(1 << 8, 0, 8, extract64(frac, 44, 8)); in call_recip_estimate()
885 static uint64_t recip_sqrt_estimate(int *exp , int exp_off, uint64_t frac, in recip_sqrt_estimate() argument
892 while (extract64(frac, 51, 1) == 0) { in recip_sqrt_estimate()
893 frac = frac << 1; in recip_sqrt_estimate()
896 frac = extract64(frac, 0, 51) << 1; in recip_sqrt_estimate()
[all …]
H A Dvec_helper.c2077 uint32_t frac = extract32(f16, 0, 10); local
2084 if (frac != 0) {
2086 frac = 0;
2096 int shift = clz32(frac) - 21;
2097 frac = (frac << shift) & 0x3ff;
2107 frac <<= 23 - 10;
2109 return sign | exp | frac;
H A Dsve_helper.c4732 uint32_t frac = (uint32_t)a << (16 + 6); in DO_ZPZ_FP() local
4736 if (frac != 0) { in DO_ZPZ_FP()
4739 return -15 - clz32(frac); in DO_ZPZ_FP()
4745 if (frac == 0) { in DO_ZPZ_FP()
4760 uint32_t frac = a << 9; in do_float32_logb_as_int() local
4764 if (frac != 0) { in do_float32_logb_as_int()
4767 return -127 - clz32(frac); in do_float32_logb_as_int()
4773 if (frac == 0) { in do_float32_logb_as_int()
4788 uint64_t frac = a << 12; in do_float64_logb_as_int() local
4792 if (frac != 0) { in do_float64_logb_as_int()
[all …]
/qemu/target/alpha/
H A Dfpu_helper.c113 uint64_t frac = val & 0xfffffffffffffull; in helper_ieee_input() local
117 if (frac != 0) { in helper_ieee_input()
131 uint64_t frac = val & 0xfffffffffffffull; in helper_ieee_input_cmp() local
135 if (frac != 0) { in helper_ieee_input_cmp()
138 } else if (exp == 0x7ff && frac) { in helper_ieee_input_cmp()
164 uint32_t frac = fi & 0x7fffff; in float32_to_s_int() local
183 | ((uint64_t)frac << 29)); in float32_to_s_int()
/qemu/tests/tcg/riscv64/
H A Dtest-fcvtmod.c314 uint64_t frac = t->inp_lu & 0xfffffffffffffull; /* significand */ in run_fcvtmod_tests() local
317 uint64_t true_frac = frac | 1ull << 52; in run_fcvtmod_tests()
319 printf("sign=%d, exp=0x%03x, frac=0x%012lx\n", sign, exp, frac); in run_fcvtmod_tests()
/qemu/target/ppc/
H A Dfpu_helper.c2726 uint64_t result, sign, exp, frac; in helper_xscvdpspn() local
2734 frac = extract64(xb, 0, 52) | 0x10000000000000ULL; in helper_xscvdpspn()
2736 if (unlikely(exp == 0 && extract64(frac, 0, 52) != 0)) { in helper_xscvdpspn()
2741 frac = deposit64(frac, 53, 1, 0); in helper_xscvdpspn()
2744 if (unlikely(exp < 897 && frac != 0)) { in helper_xscvdpspn()
2747 frac = 0; in helper_xscvdpspn()
2750 frac >>= (897 - exp); in helper_xscvdpspn()
2759 result |= extract64(frac, 29, 23); in helper_xscvdpspn()
/qemu/target/riscv/
H A Dvector_helper.c3793 uint64_t frac = extract64(f, 0, frac_size); local
3815 if (exp == 0 && frac != 0) { /* subnormal */
3817 while (extract64(frac, frac_size - 1, 1) == 0) {
3819 frac <<= 1;
3822 frac = (frac << 1) & MAKE_64BIT_MASK(0, frac_size);
3826 (frac >> (frac_size - precision + 1));
3976 uint64_t frac = extract64(f, 0, frac_size); in RVVCALL() local
3998 if (exp == 0 && frac != 0) { /* subnormal */ in RVVCALL()
4000 while (extract64(frac, frac_size - 1, 1) == 0) { in RVVCALL()
4002 frac <<= 1; in RVVCALL()
[all …]
/qemu/target/hexagon/imported/mmvec/
H A Dext.idef1415 /* 32x32 high half / frac */