]>
Commit | Line | Data |
---|---|---|
a71c0334 MM |
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. | |
4 | ||
5 | FLOAT128_HW_INSNS = -DFLOAT128_HW_INSNS | |
6 | ||
7 | # New functions for hardware support | |
75ad35b5 MM |
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)) | |
a71c0334 MM |
14 | fp128_hw_obj = $(fp128_hw_static_obj) $(fp128_hw_shared_obj) |
15 | ||
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) | |
21 | ||
22 | # Add _sw suffix to names to allow ifunc support. | |
23 | fp128_sed_hw = -hw | |
24 | ||
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) | |
32 | ||
33 | $(fp128_hw_obj) : INTERNAL_CFLAGS += $(FP128_CFLAGS_HW) | |
34 | $(fp128_hw_obj) : $(srcdir)/config/rs6000/t-float128-hw | |
35 | ||
36 | $(fp128_ifunc_obj) : INTERNAL_CFLAGS += $(FP128_CFLAGS_SW) | |
37 | $(fp128_ifunc_obj) : $(srcdir)/config/rs6000/t-float128-hw | |
75ad35b5 MM |
38 | |
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 | |
42 | ||
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 |