arm: add single instruction fma
authorSzabolcs Nagy <nsz@port70.net>
Sat, 22 Sep 2018 18:47:27 +0000 (18:47 +0000)
committerRich Felker <dalias@aerifal.cx>
Mon, 15 Oct 2018 18:42:46 +0000 (14:42 -0400)
commit7396ef0a05b834bf92c4f268a3336c0bc10c3593
tree185691544913e852ac64c13ba8d0a9f7cfe9530f
parent7c5f3bb955123ba65bbdedee0e4499ef78a5747c
arm: add single instruction fma

vfma is available in the vfpv4 fpu and above, the ACLE standard feature
test for double precision hardware fma support is
  __ARM_FEATURE_FMA && __ARM_FP&8
we need further checks to work around clang bugs (fixed in clang >=7.0)
  && !__SOFTFP__
because __ARM_FP is defined even with -mfloat-abi=soft
  && !BROKEN_VFP_ASM
to disable the single precision code when inline asm handling is broken.

For runtime selection the HWCAP_ARM_VFPv4 hwcap flag can be used, but
that requires further work.
src/math/arm/fma.c [new file with mode: 0644]
src/math/arm/fmaf.c [new file with mode: 0644]