e05c0e81b0
For some SoC (such as the FSL BookE) even though there does have a hardware FPU, but not all floating point instructions are implemented. Unfortunately some versions of gcc do use these unimplemented instructions. Then we have to enable the math emulation to workaround this issue. It seems a little redundant to have the support to emulate all the floating point instructions in this case. So split the math emulation into two parts. One is for the SoC which doesn't have FPU at all and the other for the SoC which does have the hardware FPU and only need some special floating point instructions to be emulated. Signed-off-by: Kevin Hao <haokexin@gmail.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
20 lines
721 B
Makefile
20 lines
721 B
Makefile
math-emu-common-objs = math.o fre.o fsqrt.o fsqrts.o frsqrtes.o mtfsf.o mtfsfi.o
|
|
obj-$(CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED) += $(math-emu-common-objs)
|
|
obj-$(CONFIG_MATH_EMULATION_FULL) += $(math-emu-common-objs) fabs.o fadd.o \
|
|
fadds.o fcmpo.o fcmpu.o fctiw.o \
|
|
fctiwz.o fdiv.o fdivs.o fmadd.o \
|
|
fmadds.o fmsub.o fmsubs.o fmul.o \
|
|
fmuls.o fnabs.o fneg.o fnmadd.o \
|
|
fnmadds.o fnmsub.o fnmsubs.o fres.o \
|
|
frsp.o fsel.o lfs.o frsqrte.o fsub.o \
|
|
fsubs.o mcrfs.o mffs.o mtfsb0.o \
|
|
mtfsb1.o stfiwx.o stfs.o math.o \
|
|
fmr.o lfd.o stfd.o
|
|
|
|
obj-$(CONFIG_SPE) += math_efp.o
|
|
|
|
CFLAGS_fabs.o = -fno-builtin-fabs
|
|
CFLAGS_math.o = -fno-builtin-fabs
|
|
|
|
ccflags-y = -I. -Iinclude/math-emu -w
|