public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* libm support for ARMv7 and VSQRT?
@ 2017-03-20  6:53 Sebastian Huber
  2017-03-20 13:31 ` Richard Earnshaw (lists)
  0 siblings, 1 reply; 4+ messages in thread
From: Sebastian Huber @ 2017-03-20  6:53 UTC (permalink / raw)
  To: newlib; +Cc: Richard Earnshaw

Hello,

there is some ARM-specific libm support for ARMv8:

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=tree;f=newlib/libm/machine/arm;h=5457f11619b2d67e8f56f352afb404c06a12c2bb;hb=HEAD

The VFPv2+ supports a VSQRT instruction. Would it make sense to use it 
for the sqrt() implementation, similar to

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/machine/aarch64/e_sqrt.c;h=e4b7554ac1811bf04f726da198b913c0c30595ca;hb=HEAD
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/machine/aarch64/ef_sqrt.c;h=19fec952517769ad3851efef3b11dc6c02fb7582;hb=HEAD

?

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: libm support for ARMv7 and VSQRT?
  2017-03-20  6:53 libm support for ARMv7 and VSQRT? Sebastian Huber
@ 2017-03-20 13:31 ` Richard Earnshaw (lists)
  2017-03-20 14:54   ` Sebastian Huber
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Earnshaw (lists) @ 2017-03-20 13:31 UTC (permalink / raw)
  To: Sebastian Huber, newlib

On 20/03/17 06:52, Sebastian Huber wrote:
> Hello,
> 
> there is some ARM-specific libm support for ARMv8:
> 
> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=tree;f=newlib/libm/machine/arm;h=5457f11619b2d67e8f56f352afb404c06a12c2bb;hb=HEAD
> 
> 
> The VFPv2+ supports a VSQRT instruction. Would it make sense to use it
> for the sqrt() implementation, similar to
> 
> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/machine/aarch64/e_sqrt.c;h=e4b7554ac1811bf04f726da198b913c0c30595ca;hb=HEAD
> 
> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/machine/aarch64/ef_sqrt.c;h=19fec952517769ad3851efef3b11dc6c02fb7582;hb=HEAD
> 
> 
> ?
> 

I'm sure a patch would be welcome :-)

Don't forget, however, that you also need to deal with the soft-float
case (something the aarch64 code does not have to worry about).

R.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: libm support for ARMv7 and VSQRT?
  2017-03-20 13:31 ` Richard Earnshaw (lists)
@ 2017-03-20 14:54   ` Sebastian Huber
  2017-03-20 15:03     ` Richard Earnshaw (lists)
  0 siblings, 1 reply; 4+ messages in thread
From: Sebastian Huber @ 2017-03-20 14:54 UTC (permalink / raw)
  To: Richard Earnshaw (lists), newlib



On 20/03/17 14:31, Richard Earnshaw (lists) wrote:
> On 20/03/17 06:52, Sebastian Huber wrote:
>> Hello,
>>
>> there is some ARM-specific libm support for ARMv8:
>>
>> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=tree;f=newlib/libm/machine/arm;h=5457f11619b2d67e8f56f352afb404c06a12c2bb;hb=HEAD
>>
>>
>> The VFPv2+ supports a VSQRT instruction. Would it make sense to use it
>> for the sqrt() implementation, similar to
>>
>> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/machine/aarch64/e_sqrt.c;h=e4b7554ac1811bf04f726da198b913c0c30595ca;hb=HEAD
>>
>> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/machine/aarch64/ef_sqrt.c;h=19fec952517769ad3851efef3b11dc6c02fb7582;hb=HEAD
>>
>>
>> ?
>>
> I'm sure a patch would be welcome :-)

The ARMv7-AR reference manual is quite verbose if it comes to the 
floating-point square root implementation of VSQRT. Is it IEEE 754 
compatible?

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: libm support for ARMv7 and VSQRT?
  2017-03-20 14:54   ` Sebastian Huber
@ 2017-03-20 15:03     ` Richard Earnshaw (lists)
  0 siblings, 0 replies; 4+ messages in thread
From: Richard Earnshaw (lists) @ 2017-03-20 15:03 UTC (permalink / raw)
  To: Sebastian Huber, newlib

On 20/03/17 14:54, Sebastian Huber wrote:
> 
> 
> On 20/03/17 14:31, Richard Earnshaw (lists) wrote:
>> On 20/03/17 06:52, Sebastian Huber wrote:
>>> Hello,
>>>
>>> there is some ARM-specific libm support for ARMv8:
>>>
>>> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=tree;f=newlib/libm/machine/arm;h=5457f11619b2d67e8f56f352afb404c06a12c2bb;hb=HEAD
>>>
>>>
>>>
>>> The VFPv2+ supports a VSQRT instruction. Would it make sense to use it
>>> for the sqrt() implementation, similar to
>>>
>>> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/machine/aarch64/e_sqrt.c;h=e4b7554ac1811bf04f726da198b913c0c30595ca;hb=HEAD
>>>
>>>
>>> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/machine/aarch64/ef_sqrt.c;h=19fec952517769ad3851efef3b11dc6c02fb7582;hb=HEAD
>>>
>>>
>>>
>>> ?
>>>
>> I'm sure a patch would be welcome :-)
> 
> The ARMv7-AR reference manual is quite verbose if it comes to the
> floating-point square root implementation of VSQRT. Is it IEEE 754
> compatible?
> 

It will be the same as for AArch64, but with options for default NaNs
and flush to zero; but you don't need to worry about either of those, I
think.

R.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-20 15:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-20  6:53 libm support for ARMv7 and VSQRT? Sebastian Huber
2017-03-20 13:31 ` Richard Earnshaw (lists)
2017-03-20 14:54   ` Sebastian Huber
2017-03-20 15:03     ` Richard Earnshaw (lists)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).