FP_NG
(void) __fpu_shr(fp, FP_NMANT - FP_NG - SNG_FRACBITS - exp);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - 1 - SNG_FRACBITS);
if ((fp->fp_mant[3] & SNG_EXP(1 << FP_NG)) == 0)
(void) __fpu_shr(fp, FP_NMANT - FP_NG - DBL_FRACBITS - exp);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - 1 - DBL_FRACBITS);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - EXT_FRACBITS - exp);
m3 = (m3 >> FP_NG) | (m2 << (32 - FP_NG));
m2 = (m2 >> FP_NG) | (m1 << (32 - FP_NG));
m1 = (m1 >> FP_NG) | (m0 << (32 - FP_NG));
m0 >>= FP_NG;
bit = 1 << FP_NG;
(void) fpu_shr(fp, FP_NMANT - FP_NG - SNG_FRACBITS - exp);
(void) fpu_shr(fp, FP_NMANT - FP_NG - 1 - SNG_FRACBITS);
if ((fp->fp_mant[3] & SNG_EXP(1 << FP_NG)) == 0)
(void) fpu_shr(fp, FP_NMANT - FP_NG - DBL_FRACBITS - exp);
(void) fpu_shr(fp, FP_NMANT - FP_NG - 1 - DBL_FRACBITS);
(void) fpu_shr(fp, FP_NMANT - FP_NG - EXT_FRACBITS - exp);
m3 = (m3 >> FP_NG) | (m2 << (32 - FP_NG));
m2 = (m2 >> FP_NG) | (m1 << (32 - FP_NG));
m1 = (m1 >> FP_NG) | (m0 << (32 - FP_NG));
m0 >>= FP_NG;
bit = 1 << FP_NG;