aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2022-08-02 15:34:42 +0200
committerTom Stellard <tstellar@redhat.com>2022-08-08 13:08:49 -0700
commit9c68b43915fc1c9c0a07e935163ae8d638d7241b (patch)
treea842528140732e6ad167a575d0253c9778a70f88
parentbf271375cc086c1d0a382d6a4ffc0dd3976c964d (diff)
downloadllvm-9c68b43915fc1c9c0a07e935163ae8d638d7241b.zip
llvm-9c68b43915fc1c9c0a07e935163ae8d638d7241b.tar.gz
llvm-9c68b43915fc1c9c0a07e935163ae8d638d7241b.tar.bz2
Revert "[compiler-rt][CMake] Enable TF intrinsics on powerpc32 Linux"
As mentioned in https://reviews.llvm.org/D121379#3690593, this change broke the build of compiler-rt targeting powerpc using GCC. The 32-bit powerpc target is not supposed to emit 128-bit libcalls -- if it does, then that's a backend bug and needs to be fixed there. This reverts commit 8f24a56a3a9363f353c8da318d97491a6818781d. Differential Revision: https://reviews.llvm.org/D130988 (cherry picked from commit 542977d43841820614a32823c33415042430e230)
-rw-r--r--compiler-rt/lib/builtins/CMakeLists.txt16
-rw-r--r--compiler-rt/lib/builtins/int_types.h2
2 files changed, 10 insertions, 8 deletions
diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
index 0b91b4c..795fe2a 100644
--- a/compiler-rt/lib/builtins/CMakeLists.txt
+++ b/compiler-rt/lib/builtins/CMakeLists.txt
@@ -621,9 +621,11 @@ set(mips64_SOURCES ${GENERIC_TF_SOURCES}
set(mips64el_SOURCES ${GENERIC_TF_SOURCES}
${mips_SOURCES})
+set(powerpc_SOURCES ${GENERIC_SOURCES})
+
set(powerpcspe_SOURCES ${GENERIC_SOURCES})
-set(powerpc_SOURCES
+set(powerpc64_SOURCES
ppc/divtc3.c
ppc/fixtfdi.c
ppc/fixunstfdi.c
@@ -638,15 +640,14 @@ set(powerpc_SOURCES
)
# These routines require __int128, which isn't supported on AIX.
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
- set(powerpc_SOURCES
+ set(powerpc64_SOURCES
ppc/floattitf.c
ppc/fixtfti.c
ppc/fixunstfti.c
- ${powerpc_SOURCES}
+ ${powerpc64_SOURCES}
)
endif()
-set(powerpc64le_SOURCES ${powerpc_SOURCES})
-set(powerpc64_SOURCES ${powerpc_SOURCES})
+set(powerpc64le_SOURCES ${powerpc64_SOURCES})
set(riscv_SOURCES
riscv/save.S
@@ -753,8 +754,9 @@ else ()
list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
endif()
- # For some arches, force enable int128 for compiling long double routines.
- if("${arch}" STREQUAL "powerpc" OR "${arch}" STREQUAL "riscv32")
+ # For RISCV32, we must force enable int128 for compiling long
+ # double routines.
+ if("${arch}" STREQUAL "riscv32")
list(APPEND BUILTIN_CFLAGS_${arch} -fforce-enable-int128)
endif()
diff --git a/compiler-rt/lib/builtins/int_types.h b/compiler-rt/lib/builtins/int_types.h
index 9ee5a32..7a72de4 100644
--- a/compiler-rt/lib/builtins/int_types.h
+++ b/compiler-rt/lib/builtins/int_types.h
@@ -64,7 +64,7 @@ typedef union {
} udwords;
#if defined(__LP64__) || defined(__wasm__) || defined(__mips64) || \
- defined(__riscv) || defined(_WIN64) || defined(__powerpc__)
+ defined(__riscv) || defined(_WIN64)
#define CRT_HAS_128BIT
#endif