forked from OSchip/llvm-project
Add powerpc64 to compiler-rt build infrastructure.
Summary: Add powerpc64 to compiler-rt build infrastructure. Reviewers: timshen Reviewed By: timshen Subscribers: nemanjai, dberris, mgorny, aheejin, cfe-commits Differential Revision: https://reviews.llvm.org/D36108 llvm-svn: 309634
This commit is contained in:
parent
4a94d8d5f7
commit
81fd449238
|
@ -167,6 +167,8 @@ macro(detect_target_arch)
|
||||||
check_symbol_exists(__i386__ "" __I386)
|
check_symbol_exists(__i386__ "" __I386)
|
||||||
check_symbol_exists(__mips__ "" __MIPS)
|
check_symbol_exists(__mips__ "" __MIPS)
|
||||||
check_symbol_exists(__mips64__ "" __MIPS64)
|
check_symbol_exists(__mips64__ "" __MIPS64)
|
||||||
|
check_symbol_exists(__powerpc64__ "" __PPC64)
|
||||||
|
check_symbol_exists(__powerpc64le__ "" __PPC64LE)
|
||||||
check_symbol_exists(__s390x__ "" __S390X)
|
check_symbol_exists(__s390x__ "" __S390X)
|
||||||
check_symbol_exists(__wasm32__ "" __WEBASSEMBLY32)
|
check_symbol_exists(__wasm32__ "" __WEBASSEMBLY32)
|
||||||
check_symbol_exists(__wasm64__ "" __WEBASSEMBLY64)
|
check_symbol_exists(__wasm64__ "" __WEBASSEMBLY64)
|
||||||
|
@ -184,6 +186,10 @@ macro(detect_target_arch)
|
||||||
add_default_target_arch(mips64)
|
add_default_target_arch(mips64)
|
||||||
elseif(__MIPS)
|
elseif(__MIPS)
|
||||||
add_default_target_arch(mips)
|
add_default_target_arch(mips)
|
||||||
|
elseif(__PPC64)
|
||||||
|
add_default_target_arch(powerpc64)
|
||||||
|
elseif(__PPC64LE)
|
||||||
|
add_default_target_arch(powerpc64le)
|
||||||
elseif(__S390X)
|
elseif(__S390X)
|
||||||
add_default_target_arch(s390x)
|
add_default_target_arch(s390x)
|
||||||
elseif(__WEBASSEMBLY32)
|
elseif(__WEBASSEMBLY32)
|
||||||
|
|
|
@ -40,7 +40,7 @@ if(APPLE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(ALL_BUILTIN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
|
set(ALL_BUILTIN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
|
||||||
${MIPS32} ${MIPS64} ${WASM32} ${WASM64})
|
${MIPS32} ${MIPS64} ${PPC64} ${WASM32} ${WASM64})
|
||||||
|
|
||||||
include(CompilerRTUtils)
|
include(CompilerRTUtils)
|
||||||
include(CompilerRTDarwinUtils)
|
include(CompilerRTDarwinUtils)
|
||||||
|
|
|
@ -458,6 +458,20 @@ set(mips64_SOURCES ${GENERIC_TF_SOURCES}
|
||||||
set(mips64el_SOURCES ${GENERIC_TF_SOURCES}
|
set(mips64el_SOURCES ${GENERIC_TF_SOURCES}
|
||||||
${mips_SOURCES})
|
${mips_SOURCES})
|
||||||
|
|
||||||
|
set(powerpc64_SOURCES
|
||||||
|
ppc/divtc3.c
|
||||||
|
ppc/fixtfdi.c
|
||||||
|
ppc/fixunstfdi.c
|
||||||
|
ppc/floatditf.c
|
||||||
|
ppc/floatunditf.c
|
||||||
|
ppc/gcc_qadd.c
|
||||||
|
ppc/gcc_qdiv.c
|
||||||
|
ppc/gcc_qmul.c
|
||||||
|
ppc/gcc_qsub.c
|
||||||
|
ppc/multc3.c
|
||||||
|
${GENERIC_SOURCES})
|
||||||
|
set(powerpc64le_SOURCES ${powerpc64_SOURCES})
|
||||||
|
|
||||||
set(wasm32_SOURCES ${GENERIC_SOURCES})
|
set(wasm32_SOURCES ${GENERIC_SOURCES})
|
||||||
set(wasm64_SOURCES ${GENERIC_SOURCES})
|
set(wasm64_SOURCES ${GENERIC_SOURCES})
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ void __clear_cache(void *start, void *end) {
|
||||||
for (addr = xstart; addr < xend; addr += icache_line_size)
|
for (addr = xstart; addr < xend; addr += icache_line_size)
|
||||||
__asm __volatile("ic ivau, %0" :: "r"(addr));
|
__asm __volatile("ic ivau, %0" :: "r"(addr));
|
||||||
__asm __volatile("isb sy");
|
__asm __volatile("isb sy");
|
||||||
#elif defined (__powerpc64__) && defined(__LITTLE_ENDIAN__)
|
#elif defined (__powerpc64__)
|
||||||
const size_t line_size = 32;
|
const size_t line_size = 32;
|
||||||
const size_t len = (uintptr_t)end - (uintptr_t)start;
|
const size_t len = (uintptr_t)end - (uintptr_t)start;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue