This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Subnormal float support in armv7(with -msoft-float) for intrinsics
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: Umesh Kalappa <umesh dot kalappa0 at gmail dot com>, gcc at gcc dot gnu dot org
- Cc: nd at arm dot com
- Date: Thu, 12 Jul 2018 17:03:07 +0100
- Subject: Re: Subnormal float support in armv7(with -msoft-float) for intrinsics
- References: <CAGfacvTn-4Mo0DdsBPpa4ExBso8-zsCx7hgo6BWi6v2TSPnc_w@mail.gmail.com>
On 12/07/18 16:20, Umesh Kalappa wrote:
Hi everyone,
we have our source base ,that was compiled for armv7 on gcc8.1 with
soft-float and for following input
a=0x0010000000000000
b=0x0000000000000001
result = a - b ;
we are getting the result as "0x000ffffffffffffe" and with
-mhard-float (disabled the flush to zero mode ) we are getting the
result as ""0x000fffffffffffff" as expected.
please submit it as a bug report to bugzilla
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".
we are investigating the routine "__aeabi_dsub" that comes from libgcc
for incorrect result and meanwhile we would like to know that
a)do libgcc routines/intrinsic for float operations support or
consider the subnormal values ? ,if so how we can enable the same.
Thank you
~Umesh