/qemu/fpu/ |
H A D | softfloat-specialize.c.inc | 107 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 D | softfloat.c | 492 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 D | softfloat-parts.c.inc | 902 * 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 D | vfp_helper.c | 611 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 D | vec_helper.c | 2077 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 D | sve_helper.c | 4732 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 D | fpu_helper.c | 113 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 D | test-fcvtmod.c | 314 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 D | fpu_helper.c | 2726 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 D | vector_helper.c | 3793 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 D | ext.idef | 1415 /* 32x32 high half / frac */
|