# Needed for clear_cache on debug mode, due to r7's usage in inline asm.
# Release mode already sets it via -O2/3, Debug mode doesn't.
if (${arch} STREQUAL "armhf")
- list(APPEND BUILTIN_CFLAGS -fomit-frame-pointer)
+ list(APPEND BUILTIN_CFLAGS -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
endif()
add_compiler_rt_runtime(clang_rt.builtins
#if __ARM_EABI__
# define ARM_EABI_FNALIAS(aeabi_name, name) \
void __aeabi_##aeabi_name() __attribute__((alias("__" #name)));
-# define COMPILER_RT_ABI __attribute__((pcs("aapcs")))
+# ifdef COMPILER_RT_ARMHF_TARGET
+# define COMPILER_RT_ABI
+# else
+# define COMPILER_RT_ABI __attribute__((pcs("aapcs")))
+# endif
#else
# define ARM_EABI_FNALIAS(aeabi_name, name)
# define COMPILER_RT_ABI
set(BUILTINS_TEST_TARGET_ARCH ${arch})
string(TOLOWER "-${arch}-${OS_NAME}" BUILTINS_TEST_CONFIG_SUFFIX)
get_test_cc_for_arch(${arch} BUILTINS_TEST_TARGET_CC BUILTINS_TEST_TARGET_CFLAGS)
+ if (${arch} STREQUAL "armhf")
+ list(APPEND BUILTINS_TEST_TARGET_CFLAGS -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
+ string(REPLACE ";" " " BUILTINS_TEST_TARGET_CFLAGS "${BUILTINS_TEST_TARGET_CFLAGS}")
+ endif()
+
string(TOUPPER ${arch} ARCH_UPPER_CASE)
set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)
configure_lit_site_cfg(
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- cmpdf2_test.c - Test __cmpdf2 -------------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- cmpsf2_test.c - Test __cmpsf2 -------------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- eqdf2vfp_test.c - Test __eqdf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- eqsf2vfp_test.c - Test __eqsf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- fixdfsivfp_test.c - Test __fixdfsivfp -----------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- fixsfsivfp_test.c - Test __fixsfsivfp -----------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- fixunssfsivfp_test.c - Test __fixunssfsivfp -----------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- gedf2vfp_test.c - Test __gedf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- gesf2vfp_test.c - Test __gesf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- gtdf2vfp_test.c - Test __gtdf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- gtsf2vfp_test.c - Test __gtsf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- ledf2vfp_test.c - Test __ledf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- lesf2vfp_test.c - Test __lesf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- ltdf2vfp_test.c - Test __ltdf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- ltsf2vfp_test.c - Test __ltsf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
+// XFAIL: armhf-target-arch
+// See pr32261
//===-- mulsc3_test.c - Test __mulsc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- nedf2vfp_test.c - Test __nedf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- nesf2vfp_test.c - Test __nesf2vfp ---------------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===--------------- truncdfhf2_test.c - Test __truncdfhf2 ----------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===--------------- truncdfsf2_test.c - Test __truncdfsf2 ----------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===--------------- truncsfhf2_test.c - Test __truncsfhf2 ----------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- unorddf2vfp_test.c - Test __unorddf2vfp ---------------------------===//
//
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- unordsf2vfp_test.c - Test __unordsf2vfp ---------------------------===//
//