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

            Bug ID: 86512
           Summary: Incorrect sub result for float subnormal inputs in
                    armv7(with -msoft-float).
           Product: gcc
           Version: 8.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
          Assignee: unassigned at gcc dot gnu.org
          Reporter: umesh.kalappa0 at gmail dot com
  Target Milestone: ---

Created attachment 44389
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44389&action=edit
input filename

command used : arm-none-linux-gnueabi-gcc test.c -msoft-float -march=armv7 

file test.c attached.

expected o/p :0xfffffffffffff
incorrect o/p:0xffffffffffffe

with (-mhard-float) getting the expected o/p (with flush to zero mode
disabled).

while debugging the soft-float code,we see that ,the compiler calls
the intrinsic "__aeabi_dsub" with arm calling conventions i.e passing
"a" in r0 and r1 registers and respectively for "b" and we are investigating
the routine "__aeabi_dsub" that comes from
libgcc(libgcc/config/arm/ieee754-df.S) for incorrect result.

any inputs  from the community will be appreciated.

thank you

Reply via email to