12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- From 2a622188e62705f20d7806926a99f47f727d8858 Mon Sep 17 00:00:00 2001
- From: Khem Raj <raj.khem@gmail.com>
- Date: Wed, 9 Mar 2022 16:28:16 -0800
- Subject: [PATCH] compiler-rt: Enable __int128 for ppc32
- Upstream-Status: Pending
- Signed-off-by: Khem Raj <raj.khem@gmail.com>
- ---
- compiler-rt/lib/builtins/CMakeLists.txt | 15 +++++++--------
- compiler-rt/lib/builtins/int_types.h | 2 +-
- 2 files changed, 8 insertions(+), 9 deletions(-)
- diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
- index 2fc70522895f..55f0ecb20a1f 100644
- --- a/compiler-rt/lib/builtins/CMakeLists.txt
- +++ b/compiler-rt/lib/builtins/CMakeLists.txt
- @@ -668,11 +668,9 @@ 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(powerpc64_SOURCES
- +set(powerpc_SOURCES
- ppc/divtc3.c
- ppc/fixtfdi.c
- ppc/fixunstfdi.c
- @@ -687,14 +685,15 @@ set(powerpc64_SOURCES
- )
- # These routines require __int128, which isn't supported on AIX.
- if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
- - set(powerpc64_SOURCES
- + set(powerpc_SOURCES
- ppc/floattitf.c
- ppc/fixtfti.c
- ppc/fixunstfti.c
- - ${powerpc64_SOURCES}
- + ${powerpc_SOURCES}
- )
- endif()
- -set(powerpc64le_SOURCES ${powerpc64_SOURCES})
- +set(powerpc64le_SOURCES ${powerpc_SOURCES})
- +set(powerpc64_SOURCES ${powerpc_SOURCES})
-
- set(riscv_SOURCES
- riscv/fp_mode.c
- @@ -818,9 +817,9 @@ else ()
- list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
- endif()
-
- - # For RISCV32, we must force enable int128 for compiling long
- + # For RISCV32/PPC32, we must force enable int128 for compiling long
- # double routines.
- - if("${arch}" STREQUAL "riscv32")
- + if("${arch}" STREQUAL "riscv32" OR "${arch}" STREQUAL "powerpc" )
- 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 e94d3154c6d4..37b2cb43f932 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(__SIZEOF_INT128__) || defined(_WIN64)
- + defined(__SIZEOF_INT128__) || defined(_WIN64) || defined(__powerpc__)
- #define CRT_HAS_128BIT
- #endif
-
|