* 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).