diff options
author | Nikita Popov <npopov@redhat.com> | 2022-08-02 15:34:42 +0200 |
---|---|---|
committer | Tom Stellard <tstellar@redhat.com> | 2022-08-08 13:08:49 -0700 |
commit | 9c68b43915fc1c9c0a07e935163ae8d638d7241b (patch) | |
tree | a842528140732e6ad167a575d0253c9778a70f88 | |
parent | bf271375cc086c1d0a382d6a4ffc0dd3976c964d (diff) | |
download | llvm-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.txt | 16 | ||||
-rw-r--r-- | compiler-rt/lib/builtins/int_types.h | 2 |
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 |