[gcc]
[official-gcc.git] / libgcc / config / rs6000 / t-float128-hw
blob7ab106932be35d9f5067e5ae679b9439465b54e8
1 # Support for adding __float128 hardware support to the powerpc.
2 # Tell the float128 functions that the ISA 3.0 hardware support can
3 # be compiled it to be selected via IFUNC functions.
5 FLOAT128_HW_INSNS       = -DFLOAT128_HW_INSNS
7 # New functions for hardware support
8 fp128_hardfp_src        = _mulkc3-hw.c _divkc3-hw.c
9 fp128_hw_funcs          = float128-hw _mulkc3-hw _divkc3-hw
10 fp128_hw_src            = $(srcdir)/config/rs6000/float128-hw.c _mulkc3-hw.c \
11                           _divkc3-hw.c
12 fp128_hw_static_obj     = $(addsuffix $(objext),$(fp128_hw_funcs))
13 fp128_hw_shared_obj     = $(addsuffix _s$(objext),$(fp128_hw_funcs))
14 fp128_hw_obj            = $(fp128_hw_static_obj) $(fp128_hw_shared_obj)
16 fp128_ifunc_funcs       = float128-ifunc
17 fp128_ifunc_src         = $(srcdir)/config/rs6000/float128-ifunc.c
18 fp128_ifunc_static_obj  = float128-ifunc$(objext)
19 fp128_ifunc_shared_obj  = float128-ifunc_s$(objext)
20 fp128_ifunc_obj         = $(fp128_ifunc_static_obj) $(fp128_ifunc_shared_obj)
22 # Add _sw suffix to names to allow ifunc support.
23 fp128_sed_hw            = -hw
25 # Build the hardware support functions with appropriate hardware support
26 FP128_CFLAGS_HW          = -Wno-type-limits -mvsx -mfloat128 \
27                            -mpower8-vector -mpower9-vector \
28                            -mfloat128-hardware \
29                            -I$(srcdir)/soft-fp \
30                            -I$(srcdir)/config/rs6000 \
31                            $(FLOAT128_HW_INSNS)
33 $(fp128_hw_obj)          : INTERNAL_CFLAGS += $(FP128_CFLAGS_HW)
34 $(fp128_hw_obj)          : $(srcdir)/config/rs6000/t-float128-hw
36 $(fp128_ifunc_obj)       : INTERNAL_CFLAGS += $(FP128_CFLAGS_SW)
37 $(fp128_ifunc_obj)       : $(srcdir)/config/rs6000/t-float128-hw
39 _mulkc3-hw.c: $(srcdir)/config/rs6000/_mulkc3.c
40         (echo "#define __mulkc3 __mulkc3_hw"; \
41          cat $(srcdir)/config/rs6000/_mulkc3.c) > _mulkc3-hw.c
43 _divkc3-hw.c: $(srcdir)/config/rs6000/_divkc3.c
44         (echo "#define __divkc3 __divkc3_hw"; \
45          cat $(srcdir)/config/rs6000/_divkc3.c) > _divkc3-hw.c