https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100174

            Bug ID: 100174
           Summary: Binary floating-point conversion under
                    source-gcc/gcc/real.[c\h] test on x86-64
           Product: gcc
           Version: 9.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: translation
          Assignee: unassigned at gcc dot gnu.org
          Reporter: 608410104 at alum dot ccu.edu.tw
  Target Milestone: ---

For example: float a = 0.3333
I don't know why gcc using clear_significand_below(real.c) function to clear
remaining bits in sig[SIGSZ-1].
Why not just only truncated it by it need.

> Before clear sig[SIGSZ-1] = 01010101 01001100 10011000 01011111 00000110 
> 11110110 10010100 0100011 
> After clear sig[SIGSZ-1] =  01010101 01001100 10011000 00000000 00000000 
> 00000000 00000000 0000000

Sorry if I am not clear, I will elaborate if this is still unclear.

Reply via email to