aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/riscv/t-softfp32
blob: da55eb348c181f8e609dfad1b860e5673f9a36bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
ABI_SINGLE:=$(findstring __riscv_float_abi_single,$(shell $(gcc_compile_bare) -dM -E - </dev/null))
ABI_DOUBLE:=$(findstring __riscv_float_abi_double,$(shell $(gcc_compile_bare) -dM -E - </dev/null))
ABI_QUAD:=$(findstring __riscv_float_abi_quad,$(shell $(gcc_compile_bare) -dM -E - </dev/null))

softfp_int_modes := si di
softfp_exclude_libgcc2 := n

ifndef ABI_QUAD
ifdef ABI_DOUBLE

softfp_float_modes := tf
softfp_extensions := sftf dftf
softfp_truncations := tfsf tfdf

# Enable divide routines to make -mno-fdiv work.
softfp_extras += divsf3 divdf3

else
# !ABI_DOUBLE

softfp_float_modes := df tf
softfp_extensions := sfdf sftf dftf
softfp_truncations := dfsf tfsf tfdf

ifndef ABI_SINGLE
softfp_float_modes += sf
else
# ABI_SINGLE

# Enable divide routines to make -mno-fdiv work.
softfp_extras += divsf3

endif

endif

else
# ABI_QUAD

# Enable divide routines to make -mno-fdiv work.
softfp_extras += divsf3 divdf3 divtf3

endif

softfp_extensions += hfsf hfdf hftf \
		     bfsf
softfp_truncations += tfhf dfhf sfhf \
		      tfbf dfbf sfbf \
		      hfbf bfhf
softfp_extras += fixhfsi fixhfdi fixunshfsi fixunshfdi \
		 floatsihf floatdihf floatunsihf floatundihf \
		 floatsibf floatdibf floatunsibf floatundibf