Skip to content

Commit

Permalink
Revert "[compiler-rt][CMake] Enable TF intrinsics on powerpc32 Linux"
Browse files Browse the repository at this point in the history
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 8f24a56.

Differential Revision: https://reviews.llvm.org/D130988

(cherry picked from commit 542977d)
  • Loading branch information
nikic authored and tstellar committed Aug 8, 2022
1 parent bf27137 commit 9c68b43
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
16 changes: 9 additions & 7 deletions compiler-rt/lib/builtins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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()

Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/builtins/int_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 9c68b43

Please sign in to comment.