libgcc_s: __extendxftf2 and __trunctfxf2 are amd64-only

__extendxftf2 and __trunctfxf2 build on amd64 not aarch64 and riscv.

Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D45052
This commit is contained in:
Brooks Davis
2024-05-02 18:13:23 +01:00
parent afd0c206a6
commit 723e60a278
2 changed files with 12 additions and 6 deletions
+6 -2
View File
@@ -132,7 +132,6 @@ SRCF+= floatundisf
# #
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
SRCF+= divxc3 SRCF+= divxc3
SRCF+= extendxftf2
SRCF+= fixxfdi SRCF+= fixxfdi
SRCF+= fixxfti SRCF+= fixxfti
SRCF+= fixunsxfdi SRCF+= fixunsxfdi
@@ -142,7 +141,6 @@ SRCF+= floattixf
SRCF+= floatuntixf SRCF+= floatuntixf
SRCF+= mulxc3 SRCF+= mulxc3
SRCF+= powixf2 SRCF+= powixf2
SRCF+= trunctfxf2
# Avoid using SSE2 instructions on i386, if unsupported. # Avoid using SSE2 instructions on i386, if unsupported.
.if ${MACHINE_CPUARCH} == "i386" && empty(MACHINE_CPU:Msse2) .if ${MACHINE_CPUARCH} == "i386" && empty(MACHINE_CPU:Msse2)
@@ -154,6 +152,12 @@ SRCF+= floatundixf
.endif .endif
.endif .endif
# 128-bit float is an amd64 feature
.if ${MACHINE_CPUARCH} == "amd64"
SRCF+= extendxftf2
SRCF+= trunctfxf2
.endif
# __cpu_model support, only used on aarch64 and x86 # __cpu_model support, only used on aarch64 and x86
.if ${MACHINE_CPUARCH} == "aarch64" .if ${MACHINE_CPUARCH} == "aarch64"
SRCS+= cpu_model/aarch64.c SRCS+= cpu_model/aarch64.c
+6 -4
View File
@@ -191,15 +191,14 @@ GCC_4.3.0 {
__bswapsi2; __bswapsi2;
}; };
#if defined(__aarch64__) || defined(__riscv)
GCC_4.6.0 { GCC_4.6.0 {
#if defined(__aarch64__) || defined(__riscv)
__addtf3; __addtf3;
__cmptf2; __cmptf2;
__divtf3; __divtf3;
__eqtf2; __eqtf2;
__extenddftf2; __extenddftf2;
__extendsftf2; __extendsftf2;
__extendxftf2;
__fixtfdi; __fixtfdi;
__fixtfsi; __fixtfsi;
__fixtfti; __fixtfti;
@@ -221,10 +220,13 @@ GCC_4.6.0 {
__subtf3; __subtf3;
__trunctfdf2; __trunctfdf2;
__trunctfsf2; __trunctfsf2;
__trunctfxf2;
__unordtf2; __unordtf2;
};
#endif #endif
#if defined(__amd64__)
__extendxftf2;
__trunctfxf2;
#endif
};
GCC_7.0.0 { GCC_7.0.0 {
#ifdef __i386__ #ifdef __i386__