aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/riscv/t-softfp32
blob: 55261f98383174f748d7cda1b27155b36da6bc9a (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
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
softfp_truncations += tfhf dfhf sfhf
softfp_extras += fixhfsi fixhfdi fixunshfsi fixunshfdi \
                 floatsihf floatdihf floatunsihf floatundihf