summaryrefslogtreecommitdiffstats
path: root/compiler-rt
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt')
-rw-r--r--compiler-rt/test/builtins/CMakeLists.txt16
-rw-r--r--compiler-rt/test/builtins/Unit/absvdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/absvsi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/absvti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/adddf3vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/addsf3vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/addtf3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/addvdi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/addvsi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/addvti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c3
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c4
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c3
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c4
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/call_apsr.S8
-rw-r--r--compiler-rt/test/builtins/Unit/ashldi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ashlti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ashrdi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ashrti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/bswapdi2_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/bswapsi2_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/clear_cache_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/clzdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/clzsi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/clzti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/cmpdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/cmpti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/comparedf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/comparesf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/cpu_model_test.c8
-rw-r--r--compiler-rt/test/builtins/Unit/ctzdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ctzsi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ctzti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divdc3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divdf3vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divdi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divmodsi4_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divsc3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divsf3vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divsi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divtc3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divtf3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/divxc3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/enable_execute_stack_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/eqdf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/eqsf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/eqtf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/extenddftf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/extendhfsf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/extendsftf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ffsdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ffsti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixdfdi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixdfsivfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixdfti_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixsfdi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixsfsivfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixsfti_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixtfdi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixtfsi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixtfti_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunsdfdi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunsdfsi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunsdfti_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunssfdi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunssfsi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunssfti_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunstfdi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunstfsi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunstfti_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunsxfdi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunsxfsi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixunsxfti_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixxfdi_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/fixxfti_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatdidf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatdisf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatditf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatdixf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatsidfvfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatsisfvfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatsitf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floattidf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floattisf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floattitf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floattixf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatundidf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatundisf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatunditf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatundixf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatunsitf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatuntidf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatuntisf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatuntitf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/floatuntixf_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/gcc_personality_test.c3
-rw-r--r--compiler-rt/test/builtins/Unit/gedf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/gesf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/getf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/gtdf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/gtsf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/gttf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ledf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/lesf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/letf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/lit.cfg80
-rw-r--r--compiler-rt/test/builtins/Unit/lit.site.cfg.in12
-rw-r--r--compiler-rt/test/builtins/Unit/lshrdi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/lshrti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ltdf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ltsf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/lttf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/moddi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/modsi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/modti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/muldc3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/muldf3vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/muldi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/mulodi4_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/mulosi4_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/muloti4_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/mulsc3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/mulsf3vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/multc3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/multf3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/multi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/mulvdi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/mulvsi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/mulvti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/mulxc3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/nedf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/negdf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/negdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/negsf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/negti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/negvdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/negvsi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/negvti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/nesf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/netf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/paritydi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/paritysi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/parityti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/popcountdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/popcountsi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/popcountti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/powidf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/powisf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/powitf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/powixf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ppc/fixtfdi_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/ppc/floatditf_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/ppc/floatunditf_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/ppc/qadd_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/ppc/qdiv_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/ppc/qmul_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/ppc/qsub_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/subdf3vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/subsf3vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/subtf3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/subvdi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/subvsi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/subvti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/trampoline_setup_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/truncdfhf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/truncdfsf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/truncsfhf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/trunctfdf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/trunctfsf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ucmpdi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/ucmpti2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/udivdi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/udivmoddi4_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/udivmodsi4_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/udivmodti4_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/udivsi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/udivti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/umoddi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/umodsi3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/umodti3_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/unorddf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/unordsf2vfp_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/unordtf2_test.c1
195 files changed, 335 insertions, 7 deletions
diff --git a/compiler-rt/test/builtins/CMakeLists.txt b/compiler-rt/test/builtins/CMakeLists.txt
index 443e552f81e..b892f4eaf55 100644
--- a/compiler-rt/test/builtins/CMakeLists.txt
+++ b/compiler-rt/test/builtins/CMakeLists.txt
@@ -9,6 +9,22 @@ configure_lit_site_cfg(
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
)
+#Unit tests.
+set(BUILTINS_TEST_ARCH ${COMPILER_RT_SUPPORTED_ARCH})
+
+foreach(arch ${BUILTINS_TEST_ARCH})
+ 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)
+ string(TOUPPER ${arch} ARCH_UPPER_CASE)
+ set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)
+ configure_lit_site_cfg(
+ ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
+ ${CMAKE_CURRENT_BINARY_DIR}/Unit/${CONFIG_NAME}/lit.site.cfg
+ )
+ list(APPEND BUILTINS_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/Unit/${CONFIG_NAME})
+endforeach()
+
add_lit_testsuite(check-builtins "Running the Builtins tests"
${BUILTINS_TESTSUITES}
DEPENDS ${BUILTINS_TEST_DEPS})
diff --git a/compiler-rt/test/builtins/Unit/absvdi2_test.c b/compiler-rt/test/builtins/Unit/absvdi2_test.c
index f69ae415107..dd9dfd17e6f 100644
--- a/compiler-rt/test/builtins/Unit/absvdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/absvdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- absvdi2_test.c - Test __absvdi2 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/absvsi2_test.c b/compiler-rt/test/builtins/Unit/absvsi2_test.c
index c395cca7adc..bae306b2c23 100644
--- a/compiler-rt/test/builtins/Unit/absvsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/absvsi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- absvsi2_test.c - Test __absvsi2 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/absvti2_test.c b/compiler-rt/test/builtins/Unit/absvti2_test.c
index 6c626e97d93..0c0117dfeb4 100644
--- a/compiler-rt/test/builtins/Unit/absvti2_test.c
+++ b/compiler-rt/test/builtins/Unit/absvti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- absvti2_test.c - Test __absvti2 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/adddf3vfp_test.c b/compiler-rt/test/builtins/Unit/adddf3vfp_test.c
index c1b9884197a..e0da08bc0f6 100644
--- a/compiler-rt/test/builtins/Unit/adddf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/adddf3vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- adddf3vfp_test.c - Test __adddf3vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/addsf3vfp_test.c b/compiler-rt/test/builtins/Unit/addsf3vfp_test.c
index 958865d68e4..ed18de3b603 100644
--- a/compiler-rt/test/builtins/Unit/addsf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/addsf3vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- addsf3vfp_test.c - Test __addsf3vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/addtf3_test.c b/compiler-rt/test/builtins/Unit/addtf3_test.c
index 7b92ccee1af..57a4729f443 100644
--- a/compiler-rt/test/builtins/Unit/addtf3_test.c
+++ b/compiler-rt/test/builtins/Unit/addtf3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- addtf3_test.c - Test __addtf3 ------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/addvdi3_test.c b/compiler-rt/test/builtins/Unit/addvdi3_test.c
index 5f8729a6126..99e70403e8b 100644
--- a/compiler-rt/test/builtins/Unit/addvdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/addvdi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- addvdi3_test.c - Test __addvdi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/addvsi3_test.c b/compiler-rt/test/builtins/Unit/addvsi3_test.c
index b5358d0f5d4..11fdbc3c18c 100644
--- a/compiler-rt/test/builtins/Unit/addvsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/addvsi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- addvsi3_test.c - Test __addvsi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/addvti3_test.c b/compiler-rt/test/builtins/Unit/addvti3_test.c
index e2f75cf8614..3ffcf4b2d82 100644
--- a/compiler-rt/test/builtins/Unit/addvti3_test.c
+++ b/compiler-rt/test/builtins/Unit/addvti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- addvti3_test.c - Test __addvti3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c
index ce8b0a4313f..0d9e006f019 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c
@@ -1,3 +1,6 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %arm_call_apsr -o %t.aspr.o
+// RUN: %clang_builtins %s %t.aspr.o %librt -o %t && %run %t
//===-- aeabi_cdcmpeq.c - Test __aeabi_cdcmpeq ----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c
index afc70149369..e499bf85a13 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c
@@ -1,3 +1,7 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %arm_call_apsr -o %t.aspr.o
+// RUN: %clang_builtins %s %t.aspr.o %librt -o %t && %run %t
+
//===-- aeabi_cdcmple.c - Test __aeabi_cdcmple and __aeabi_cdrcmple -------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c
index fe0166485e6..72a556ca772 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c
@@ -1,3 +1,6 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %arm_call_apsr -o %t.aspr.o
+// RUN: %clang_builtins %s %t.aspr.o %librt -o %t && %run %t
//===-- aeabi_cfcmpeq.c - Test __aeabi_cfcmpeq ----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c
index aebe4257e29..a09aead6bdc 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c
@@ -1,3 +1,7 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %arm_call_apsr -o %t.aspr.o
+// RUN: %clang_builtins %s %t.aspr.o %librt -o %t && %run %t
+
//===-- aeabi_cfcmple.c - Test __aeabi_cfcmple and __aeabi_cfrcmple -------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c
index 7d867ef2c95..8bd04a9898b 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_drsub.c - Test __aeabi_drsub --------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c
index b8b21b96e3b..3d301616aed 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_frsub.c - Test __aeabi_frsub --------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
index c732e4ba439..ac1804694d7 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_idivmod_test.c - Test __aeabi_idivmod -----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
index 81d5e0e1f8f..9ac51da5980 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_uidivmod_test.c - Test __aeabi_uidivmod ---------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
index f629d6b4d2c..a40f006fa69 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_uldivmod_test.c - Test aeabi_uldivmod -----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/call_apsr.S b/compiler-rt/test/builtins/Unit/arm/call_apsr.S
index b5e154cff31..2656f8de667 100644
--- a/compiler-rt/test/builtins/Unit/arm/call_apsr.S
+++ b/compiler-rt/test/builtins/Unit/arm/call_apsr.S
@@ -22,11 +22,11 @@
// }
DEFINE_COMPILERRT_PRIVATE_FUNCTION(call_apsr_d)
- push {lr}
- ldr ip, [sp, #4]
- blx ip
+ push {r7, lr}
+ ldr r7, [sp, #8]
+ blx r7
mrs r0, apsr
- pop {pc}
+ pop {r7, pc}
END_COMPILERRT_FUNCTION(call_apsr_d)
// __attribute__((pcs("aapcs")))
diff --git a/compiler-rt/test/builtins/Unit/ashldi3_test.c b/compiler-rt/test/builtins/Unit/ashldi3_test.c
index 398fb69beb7..f0984e06dcf 100644
--- a/compiler-rt/test/builtins/Unit/ashldi3_test.c
+++ b/compiler-rt/test/builtins/Unit/ashldi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ashldi3_test.c - Test __ashldi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ashlti3_test.c b/compiler-rt/test/builtins/Unit/ashlti3_test.c
index 595e353065a..06186614ffc 100644
--- a/compiler-rt/test/builtins/Unit/ashlti3_test.c
+++ b/compiler-rt/test/builtins/Unit/ashlti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ashlti3_test.c - Test __ashlti3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ashrdi3_test.c b/compiler-rt/test/builtins/Unit/ashrdi3_test.c
index ee6409c870b..a987c953089 100644
--- a/compiler-rt/test/builtins/Unit/ashrdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/ashrdi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ashrdi3_test.c - Test __ashrdi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ashrti3_test.c b/compiler-rt/test/builtins/Unit/ashrti3_test.c
index 201582d4eac..1f086535273 100644
--- a/compiler-rt/test/builtins/Unit/ashrti3_test.c
+++ b/compiler-rt/test/builtins/Unit/ashrti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ashrti3_test.c - Test __ashrti3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/bswapdi2_test.c b/compiler-rt/test/builtins/Unit/bswapdi2_test.c
index 2d830cf5e41..6881c8092cb 100644
--- a/compiler-rt/test/builtins/Unit/bswapdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/bswapdi2_test.c
@@ -1,3 +1,5 @@
+// UNSUPPORTED: armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- bswapdi2_test.c - Test __bswapdi2 ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/bswapsi2_test.c b/compiler-rt/test/builtins/Unit/bswapsi2_test.c
index 4488a888e1e..c32cbb44219 100644
--- a/compiler-rt/test/builtins/Unit/bswapsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/bswapsi2_test.c
@@ -1,3 +1,5 @@
+// UNSUPPORTED: armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- bswapsi2_test.c - Test __bswapsi2 ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/clear_cache_test.c b/compiler-rt/test/builtins/Unit/clear_cache_test.c
index 0ef704fcde8..aa33ae95ea4 100644
--- a/compiler-rt/test/builtins/Unit/clear_cache_test.c
+++ b/compiler-rt/test/builtins/Unit/clear_cache_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: native-run
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- clear_cache_test.c - Test clear_cache -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/clzdi2_test.c b/compiler-rt/test/builtins/Unit/clzdi2_test.c
index 41e120932df..a8c0e1b3503 100644
--- a/compiler-rt/test/builtins/Unit/clzdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- clzdi2_test.c - Test __clzdi2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/clzsi2_test.c b/compiler-rt/test/builtins/Unit/clzsi2_test.c
index 80b300feea8..f86e8885e06 100644
--- a/compiler-rt/test/builtins/Unit/clzsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzsi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- clzsi2_test.c - Test __clzsi2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/clzti2_test.c b/compiler-rt/test/builtins/Unit/clzti2_test.c
index 3a2c6fabb82..157838b6bdd 100644
--- a/compiler-rt/test/builtins/Unit/clzti2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- clzti2_test.c - Test __clzti2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/cmpdi2_test.c b/compiler-rt/test/builtins/Unit/cmpdi2_test.c
index 33a12a04240..1420dc773fc 100644
--- a/compiler-rt/test/builtins/Unit/cmpdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/cmpdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- cmpdi2_test.c - Test __cmpdi2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/cmpti2_test.c b/compiler-rt/test/builtins/Unit/cmpti2_test.c
index d951923b2da..a2215f3c15c 100644
--- a/compiler-rt/test/builtins/Unit/cmpti2_test.c
+++ b/compiler-rt/test/builtins/Unit/cmpti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- cmpti2_test.c - Test __cmpti2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/comparedf2_test.c b/compiler-rt/test/builtins/Unit/comparedf2_test.c
index 66237229029..795b2cd6b70 100644
--- a/compiler-rt/test/builtins/Unit/comparedf2_test.c
+++ b/compiler-rt/test/builtins/Unit/comparedf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- cmpdf2_test.c - Test __cmpdf2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/comparesf2_test.c b/compiler-rt/test/builtins/Unit/comparesf2_test.c
index 026e90053bc..42fad45b67b 100644
--- a/compiler-rt/test/builtins/Unit/comparesf2_test.c
+++ b/compiler-rt/test/builtins/Unit/comparesf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- cmpsf2_test.c - Test __cmpsf2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/cpu_model_test.c b/compiler-rt/test/builtins/Unit/cpu_model_test.c
index ed484cdd4c3..6b47d143f07 100644
--- a/compiler-rt/test/builtins/Unit/cpu_model_test.c
+++ b/compiler-rt/test/builtins/Unit/cpu_model_test.c
@@ -1,4 +1,8 @@
-//===-- cpu_model_test.c - Test __builtin_cpu_supports -------------------------------===//
+// FIXME: XFAIL the test because it is expected to return non-zero value.
+// XFAIL: *
+// REQUIRES: x86-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
+//===-- cpu_model_test.c - Test __builtin_cpu_supports --------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -11,8 +15,6 @@
//
//===----------------------------------------------------------------------===//
-// REQUIRES: x86-target-arch
-
#include <stdio.h>
int main (void) {
diff --git a/compiler-rt/test/builtins/Unit/ctzdi2_test.c b/compiler-rt/test/builtins/Unit/ctzdi2_test.c
index bde66b1e545..0515e207263 100644
--- a/compiler-rt/test/builtins/Unit/ctzdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ctzdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ctzdi2_test.c - Test __ctzdi2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ctzsi2_test.c b/compiler-rt/test/builtins/Unit/ctzsi2_test.c
index cbc101fca04..bf8982bf03f 100644
--- a/compiler-rt/test/builtins/Unit/ctzsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ctzsi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ctzsi2_test.c - Test __ctzsi2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ctzti2_test.c b/compiler-rt/test/builtins/Unit/ctzti2_test.c
index 0ca1920bd74..bef79b6f869 100644
--- a/compiler-rt/test/builtins/Unit/ctzti2_test.c
+++ b/compiler-rt/test/builtins/Unit/ctzti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ctzti2_test.c - Test __ctzti2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divdc3_test.c b/compiler-rt/test/builtins/Unit/divdc3_test.c
index 80b9e86e1e2..3c69cf3d0cc 100644
--- a/compiler-rt/test/builtins/Unit/divdc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divdc3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- divdc3_test.c - Test __divdc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divdf3vfp_test.c b/compiler-rt/test/builtins/Unit/divdf3vfp_test.c
index 8735f637828..4f18409a283 100644
--- a/compiler-rt/test/builtins/Unit/divdf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/divdf3vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- divdf3vfp_test.c - Test __divdf3vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divdi3_test.c b/compiler-rt/test/builtins/Unit/divdi3_test.c
index 1d459803e1e..4c8c922260a 100644
--- a/compiler-rt/test/builtins/Unit/divdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/divdi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- divdi3_test.c - Test __divdi3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divmodsi4_test.c b/compiler-rt/test/builtins/Unit/divmodsi4_test.c
index 6fb1c985ab5..e766aaee112 100644
--- a/compiler-rt/test/builtins/Unit/divmodsi4_test.c
+++ b/compiler-rt/test/builtins/Unit/divmodsi4_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- divmodsi4_test.c - Test __divmodsi4 -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divsc3_test.c b/compiler-rt/test/builtins/Unit/divsc3_test.c
index 2d7c6593796..42430151f0f 100644
--- a/compiler-rt/test/builtins/Unit/divsc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divsc3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
//===-- divsc3_test.c - Test __divsc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divsf3vfp_test.c b/compiler-rt/test/builtins/Unit/divsf3vfp_test.c
index 039fa7f0184..75b7eba7a02 100644
--- a/compiler-rt/test/builtins/Unit/divsf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/divsf3vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- divsf3vfp_test.c - Test __divsf3vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divsi3_test.c b/compiler-rt/test/builtins/Unit/divsi3_test.c
index c523367455a..4c5d0fba5ef 100644
--- a/compiler-rt/test/builtins/Unit/divsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/divsi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- divsi3_test.c - Test __divsi3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divtc3_test.c b/compiler-rt/test/builtins/Unit/divtc3_test.c
index a1f0613441d..f561a9644f9 100644
--- a/compiler-rt/test/builtins/Unit/divtc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divtc3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
//===-- divtc3_test.c - Test __divtc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divtf3_test.c b/compiler-rt/test/builtins/Unit/divtf3_test.c
index e0def45ffd5..12cb94a26ed 100644
--- a/compiler-rt/test/builtins/Unit/divtf3_test.c
+++ b/compiler-rt/test/builtins/Unit/divtf3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- divtf3_test.c - Test __divtf3 ------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divti3_test.c b/compiler-rt/test/builtins/Unit/divti3_test.c
index 3a94dab8c7a..9a6bf178b96 100644
--- a/compiler-rt/test/builtins/Unit/divti3_test.c
+++ b/compiler-rt/test/builtins/Unit/divti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- divti3_test.c - Test __divti3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/divxc3_test.c b/compiler-rt/test/builtins/Unit/divxc3_test.c
index 509b4b18e97..d71660bfe13 100644
--- a/compiler-rt/test/builtins/Unit/divxc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divxc3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
//===-- divxc3_test.c - Test __divxc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/enable_execute_stack_test.c b/compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
index 38a142afb24..24165ed9fb7 100644
--- a/compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
+++ b/compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: native-run
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- enable_execute_stack_test.c - Test __enable_execute_stack ----------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/eqdf2vfp_test.c b/compiler-rt/test/builtins/Unit/eqdf2vfp_test.c
index 4780d87ea20..ffb003a0f67 100644
--- a/compiler-rt/test/builtins/Unit/eqdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/eqdf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- eqdf2vfp_test.c - Test __eqdf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/eqsf2vfp_test.c b/compiler-rt/test/builtins/Unit/eqsf2vfp_test.c
index 7d6f581ce4a..9c556691a6d 100644
--- a/compiler-rt/test/builtins/Unit/eqsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/eqsf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- eqsf2vfp_test.c - Test __eqsf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/eqtf2_test.c b/compiler-rt/test/builtins/Unit/eqtf2_test.c
index 038583503ab..91b35cff282 100644
--- a/compiler-rt/test/builtins/Unit/eqtf2_test.c
+++ b/compiler-rt/test/builtins/Unit/eqtf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===------------ eqtf2_test.c - Test __eqtf2------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c b/compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c
index ec27c4c69b5..c350d933d48 100644
--- a/compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- extendsfdf2vfp_test.c - Test __extendsfdf2vfp ---------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/extenddftf2_test.c b/compiler-rt/test/builtins/Unit/extenddftf2_test.c
index 2cfb32b2604..7254141a274 100644
--- a/compiler-rt/test/builtins/Unit/extenddftf2_test.c
+++ b/compiler-rt/test/builtins/Unit/extenddftf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- extenddftf2_test.c - Test __extenddftf2 --------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/extendhfsf2_test.c b/compiler-rt/test/builtins/Unit/extendhfsf2_test.c
index 5dd994cae1c..d423e7b4e50 100644
--- a/compiler-rt/test/builtins/Unit/extendhfsf2_test.c
+++ b/compiler-rt/test/builtins/Unit/extendhfsf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- extendhfsf2_test.c - Test __extendhfsf2 --------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/extendsftf2_test.c b/compiler-rt/test/builtins/Unit/extendsftf2_test.c
index 7dff5b6be3d..4fad9060f0d 100644
--- a/compiler-rt/test/builtins/Unit/extendsftf2_test.c
+++ b/compiler-rt/test/builtins/Unit/extendsftf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- extendsftf2_test.c - Test __extendsftf2 --------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ffsdi2_test.c b/compiler-rt/test/builtins/Unit/ffsdi2_test.c
index a27d154fd35..80c0c08cb52 100644
--- a/compiler-rt/test/builtins/Unit/ffsdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ffsdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ffsdi2_test.c - Test __ffsdi2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ffsti2_test.c b/compiler-rt/test/builtins/Unit/ffsti2_test.c
index 396269d5136..3b312c43099 100644
--- a/compiler-rt/test/builtins/Unit/ffsti2_test.c
+++ b/compiler-rt/test/builtins/Unit/ffsti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ffsti2_test.c - Test __ffsti2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixdfdi_test.c b/compiler-rt/test/builtins/Unit/fixdfdi_test.c
index 4a7cfa31c7f..d2ba7b19fee 100644
--- a/compiler-rt/test/builtins/Unit/fixdfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixdfdi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixdfdi_test.c - Test __fixdfdi -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixdfsivfp_test.c b/compiler-rt/test/builtins/Unit/fixdfsivfp_test.c
index 73e4e58eda9..f25b5dc18ba 100644
--- a/compiler-rt/test/builtins/Unit/fixdfsivfp_test.c
+++ b/compiler-rt/test/builtins/Unit/fixdfsivfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixdfsivfp_test.c - Test __fixdfsivfp -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixdfti_test.c b/compiler-rt/test/builtins/Unit/fixdfti_test.c
index b5da456fc6b..0abe187ae95 100644
--- a/compiler-rt/test/builtins/Unit/fixdfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixdfti_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixdfti_test.c - Test __fixdfti -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixsfdi_test.c b/compiler-rt/test/builtins/Unit/fixsfdi_test.c
index f37ecef047a..468299f9b11 100644
--- a/compiler-rt/test/builtins/Unit/fixsfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixsfdi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixsfdi_test.c - Test __fixsfdi -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixsfsivfp_test.c b/compiler-rt/test/builtins/Unit/fixsfsivfp_test.c
index 0ded952d18a..6c827527df7 100644
--- a/compiler-rt/test/builtins/Unit/fixsfsivfp_test.c
+++ b/compiler-rt/test/builtins/Unit/fixsfsivfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixsfsivfp_test.c - Test __fixsfsivfp -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixsfti_test.c b/compiler-rt/test/builtins/Unit/fixsfti_test.c
index 38748aabc91..ec4e8ddb031 100644
--- a/compiler-rt/test/builtins/Unit/fixsfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixsfti_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixsfti_test.c - Test __fixsfti -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixtfdi_test.c b/compiler-rt/test/builtins/Unit/fixtfdi_test.c
index cc25becb2f7..3cd1ebf78b8 100644
--- a/compiler-rt/test/builtins/Unit/fixtfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixtfdi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- fixtfdi_test.c - Test __fixtfdi ----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixtfsi_test.c b/compiler-rt/test/builtins/Unit/fixtfsi_test.c
index 1da516bd07e..59e43520ab1 100644
--- a/compiler-rt/test/builtins/Unit/fixtfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixtfsi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- fixtfsi_test.c - Test __fixtfsi ----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixtfti_test.c b/compiler-rt/test/builtins/Unit/fixtfti_test.c
index 52184ca624e..4d3b56c7854 100644
--- a/compiler-rt/test/builtins/Unit/fixtfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixtfti_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- fixtfti_test.c - Test __fixtfti ----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunsdfdi_test.c b/compiler-rt/test/builtins/Unit/fixunsdfdi_test.c
index 3998482876f..ab09bd0f392 100644
--- a/compiler-rt/test/builtins/Unit/fixunsdfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsdfdi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunsdfdi_test.c - Test __fixunsdfdi -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunsdfsi_test.c b/compiler-rt/test/builtins/Unit/fixunsdfsi_test.c
index 8d3d6304f47..7fbd9ee115c 100644
--- a/compiler-rt/test/builtins/Unit/fixunsdfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsdfsi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunsdfsi_test.c - Test __fixunsdfsi -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c b/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
index 33cec81da18..b707992472f 100644
--- a/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunsdfsivfp_test.c - Test __fixunsdfsivfp -----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunsdfti_test.c b/compiler-rt/test/builtins/Unit/fixunsdfti_test.c
index 0298fb9e944..249d8f886d0 100644
--- a/compiler-rt/test/builtins/Unit/fixunsdfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsdfti_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunsdfti_test.c - Test __fixunsdfti -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunssfdi_test.c b/compiler-rt/test/builtins/Unit/fixunssfdi_test.c
index 812457a002d..2d693eb9c85 100644
--- a/compiler-rt/test/builtins/Unit/fixunssfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunssfdi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunssfdi_test.c - Test __fixunssfdi -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunssfsi_test.c b/compiler-rt/test/builtins/Unit/fixunssfsi_test.c
index 17293e43852..3974b5329be 100644
--- a/compiler-rt/test/builtins/Unit/fixunssfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunssfsi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunssfsi_test.c - Test __fixunssfsi -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c b/compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c
index 9c8194ff0f2..26bd2604eb4 100644
--- a/compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunssfsivfp_test.c - Test __fixunssfsivfp -----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunssfti_test.c b/compiler-rt/test/builtins/Unit/fixunssfti_test.c
index 979d661910f..fd2d108f25b 100644
--- a/compiler-rt/test/builtins/Unit/fixunssfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunssfti_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunssfti_test.c - Test __fixunssfti -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunstfdi_test.c b/compiler-rt/test/builtins/Unit/fixunstfdi_test.c
index 817c59b2d5d..67fcc2fde85 100644
--- a/compiler-rt/test/builtins/Unit/fixunstfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunstfdi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunstfdi_test.c - Test __fixunstfdi -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunstfsi_test.c b/compiler-rt/test/builtins/Unit/fixunstfsi_test.c
index 13ed7795224..edf5422a8a7 100644
--- a/compiler-rt/test/builtins/Unit/fixunstfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunstfsi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- fixunstfsi_test.c - Test __fixunstfsi ----------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunstfti_test.c b/compiler-rt/test/builtins/Unit/fixunstfti_test.c
index 60a0982b626..019b72049dd 100644
--- a/compiler-rt/test/builtins/Unit/fixunstfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunstfti_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunstfti_test.c - Test __fixunstfti -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunsxfdi_test.c b/compiler-rt/test/builtins/Unit/fixunsxfdi_test.c
index 6f42079695f..c5c27d35940 100644
--- a/compiler-rt/test/builtins/Unit/fixunsxfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsxfdi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunsxfdi_test.c - Test __fixunsxfdi -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunsxfsi_test.c b/compiler-rt/test/builtins/Unit/fixunsxfsi_test.c
index 0d78dcb53c0..e0bed7ec8f4 100644
--- a/compiler-rt/test/builtins/Unit/fixunsxfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsxfsi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunsxfsi_test.c - Test __fixunsxfsi -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixunsxfti_test.c b/compiler-rt/test/builtins/Unit/fixunsxfti_test.c
index 94b5aebe4d1..c59ea4ecb74 100644
--- a/compiler-rt/test/builtins/Unit/fixunsxfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsxfti_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixunsxfti_test.c - Test __fixunsxfti -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixxfdi_test.c b/compiler-rt/test/builtins/Unit/fixxfdi_test.c
index 0a90a56e610..40ad2b04f23 100644
--- a/compiler-rt/test/builtins/Unit/fixxfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixxfdi_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixxfdi_test.c - Test __fixxfdi -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/fixxfti_test.c b/compiler-rt/test/builtins/Unit/fixxfti_test.c
index b8573cc1417..24cc5858491 100644
--- a/compiler-rt/test/builtins/Unit/fixxfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixxfti_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- fixxfti_test.c - Test __fixxfti -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatdidf_test.c b/compiler-rt/test/builtins/Unit/floatdidf_test.c
index 9bf2be97c7a..77429173d61 100644
--- a/compiler-rt/test/builtins/Unit/floatdidf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatdidf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatdidf.c - Test __floatdidf ------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatdisf_test.c b/compiler-rt/test/builtins/Unit/floatdisf_test.c
index a55c6a9617e..8299bb171d7 100644
--- a/compiler-rt/test/builtins/Unit/floatdisf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatdisf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatdisf_test.c - Test __floatdisf -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatditf_test.c b/compiler-rt/test/builtins/Unit/floatditf_test.c
index 8cf8a0859e6..bdfb7f94833 100644
--- a/compiler-rt/test/builtins/Unit/floatditf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatditf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatditf_test.c - Test __floatditf -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatdixf_test.c b/compiler-rt/test/builtins/Unit/floatdixf_test.c
index f6ab5a4665c..0a4ca3a574b 100644
--- a/compiler-rt/test/builtins/Unit/floatdixf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatdixf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatdixf_test.c - Test __floatdixf -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatsidfvfp_test.c b/compiler-rt/test/builtins/Unit/floatsidfvfp_test.c
index 8404a7ec6f7..8a3c7fb4ec0 100644
--- a/compiler-rt/test/builtins/Unit/floatsidfvfp_test.c
+++ b/compiler-rt/test/builtins/Unit/floatsidfvfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatsidfvfp_test.c - Test __floatsidfvfp -------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatsisfvfp_test.c b/compiler-rt/test/builtins/Unit/floatsisfvfp_test.c
index c41cf9d51ab..7c044b2f3f4 100644
--- a/compiler-rt/test/builtins/Unit/floatsisfvfp_test.c
+++ b/compiler-rt/test/builtins/Unit/floatsisfvfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatsisfvfp_test.c - Test __floatsisfvfp -------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatsitf_test.c b/compiler-rt/test/builtins/Unit/floatsitf_test.c
index 6f98721b0a5..f8d700b3bd2 100644
--- a/compiler-rt/test/builtins/Unit/floatsitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatsitf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- floatsitf_test.c - Test __floatsitf ------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floattidf_test.c b/compiler-rt/test/builtins/Unit/floattidf_test.c
index 3af382ac001..9da8c5dc68c 100644
--- a/compiler-rt/test/builtins/Unit/floattidf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattidf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floattidf.c - Test __floattidf ------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floattisf_test.c b/compiler-rt/test/builtins/Unit/floattisf_test.c
index 0f5dc544da6..9d7282cdea2 100644
--- a/compiler-rt/test/builtins/Unit/floattisf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattisf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floattisf_test.c - Test __floattisf -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floattitf_test.c b/compiler-rt/test/builtins/Unit/floattitf_test.c
index 928b2e8811e..5aeb76057b4 100644
--- a/compiler-rt/test/builtins/Unit/floattitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattitf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floattitf.c - Test __floattitf ------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floattixf_test.c b/compiler-rt/test/builtins/Unit/floattixf_test.c
index d281debdcf5..7ba5fc075e0 100644
--- a/compiler-rt/test/builtins/Unit/floattixf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattixf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floattixf.c - Test __floattixf ------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatundidf_test.c b/compiler-rt/test/builtins/Unit/floatundidf_test.c
index 97fb1e5ec09..d5d74195c2a 100644
--- a/compiler-rt/test/builtins/Unit/floatundidf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatundidf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatundidf_test.c - Test __floatundidf ---------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatundisf_test.c b/compiler-rt/test/builtins/Unit/floatundisf_test.c
index 40b6bcc459a..898d8863f2f 100644
--- a/compiler-rt/test/builtins/Unit/floatundisf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatundisf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatundisf_test.c - Test __floatundisf ---------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatunditf_test.c b/compiler-rt/test/builtins/Unit/floatunditf_test.c
index b66a174a3f4..342dc278fb1 100644
--- a/compiler-rt/test/builtins/Unit/floatunditf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatunditf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatunditf_test.c - Test __floatunditf ---------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatundixf_test.c b/compiler-rt/test/builtins/Unit/floatundixf_test.c
index 690dce19957..47b431697d1 100644
--- a/compiler-rt/test/builtins/Unit/floatundixf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatundixf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatundixf_test.c - Test __floatundixf ---------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatunsitf_test.c b/compiler-rt/test/builtins/Unit/floatunsitf_test.c
index c3d3fe949c4..966a4fd7b74 100644
--- a/compiler-rt/test/builtins/Unit/floatunsitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatunsitf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- floatunsitf_test.c - Test __floatunsitf --------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c b/compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
index 1671c74bbd0..733755719e7 100644
--- a/compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
+++ b/compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatunssidfvfp_test.c - Test __floatunssidfvfp -------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c b/compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
index 506f3be51e9..9d7fb654fd0 100644
--- a/compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
+++ b/compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatunssisfvfp_test.c - Test __floatunssisfvfp -------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatuntidf_test.c b/compiler-rt/test/builtins/Unit/floatuntidf_test.c
index 9855ff79703..1bf19ba141b 100644
--- a/compiler-rt/test/builtins/Unit/floatuntidf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntidf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatuntidf.c - Test __floatuntidf --------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatuntisf_test.c b/compiler-rt/test/builtins/Unit/floatuntisf_test.c
index 9b5ff790a64..c7c11ba48c5 100644
--- a/compiler-rt/test/builtins/Unit/floatuntisf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntisf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatuntisf.c - Test __floatuntisf --------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatuntitf_test.c b/compiler-rt/test/builtins/Unit/floatuntitf_test.c
index 495adcfa901..e81c30e3214 100644
--- a/compiler-rt/test/builtins/Unit/floatuntitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntitf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatuntitf.c - Test __floatuntitf --------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/floatuntixf_test.c b/compiler-rt/test/builtins/Unit/floatuntixf_test.c
index c58b55d3e4c..faa4f0ccd12 100644
--- a/compiler-rt/test/builtins/Unit/floatuntixf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntixf_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- floatuntixf.c - Test __floatuntixf --------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/gcc_personality_test.c b/compiler-rt/test/builtins/Unit/gcc_personality_test.c
index f9598c697eb..b3345dd7325 100644
--- a/compiler-rt/test/builtins/Unit/gcc_personality_test.c
+++ b/compiler-rt/test/builtins/Unit/gcc_personality_test.c
@@ -1,3 +1,6 @@
+// FIXME: XFAIL as currently it cannot be built by lit properly.
+// XFAIL: *
+// RUN: %clangxx_builtins %s %librt -o %t && %run %t
/* ===-- gcc_personality_test.c - Tests __gcc_personality_v0 -------------===
*
* The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/gedf2vfp_test.c b/compiler-rt/test/builtins/Unit/gedf2vfp_test.c
index 341fd65d2b3..831f5dd603f 100644
--- a/compiler-rt/test/builtins/Unit/gedf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/gedf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- gedf2vfp_test.c - Test __gedf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/gesf2vfp_test.c b/compiler-rt/test/builtins/Unit/gesf2vfp_test.c
index 607d9880e45..814c5f4c3c9 100644
--- a/compiler-rt/test/builtins/Unit/gesf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/gesf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- gesf2vfp_test.c - Test __gesf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/getf2_test.c b/compiler-rt/test/builtins/Unit/getf2_test.c
index 9796b8ab845..115b630b419 100644
--- a/compiler-rt/test/builtins/Unit/getf2_test.c
+++ b/compiler-rt/test/builtins/Unit/getf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===------------ getf2_test.c - Test __getf2------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/gtdf2vfp_test.c b/compiler-rt/test/builtins/Unit/gtdf2vfp_test.c
index 1bf68bf1ae7..2f5e0e2f716 100644
--- a/compiler-rt/test/builtins/Unit/gtdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/gtdf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- gtdf2vfp_test.c - Test __gtdf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/gtsf2vfp_test.c b/compiler-rt/test/builtins/Unit/gtsf2vfp_test.c
index 8209647ce79..ea5ac9849d1 100644
--- a/compiler-rt/test/builtins/Unit/gtsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/gtsf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- gtsf2vfp_test.c - Test __gtsf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/gttf2_test.c b/compiler-rt/test/builtins/Unit/gttf2_test.c
index 6508d4b978c..81d68cbf123 100644
--- a/compiler-rt/test/builtins/Unit/gttf2_test.c
+++ b/compiler-rt/test/builtins/Unit/gttf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===------------ gttf2_test.c - Test __gttf2------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ledf2vfp_test.c b/compiler-rt/test/builtins/Unit/ledf2vfp_test.c
index 2e1daf0448f..7ad4a0e86ce 100644
--- a/compiler-rt/test/builtins/Unit/ledf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/ledf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ledf2vfp_test.c - Test __ledf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/lesf2vfp_test.c b/compiler-rt/test/builtins/Unit/lesf2vfp_test.c
index 0f8939366c0..33a4167e43e 100644
--- a/compiler-rt/test/builtins/Unit/lesf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/lesf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- lesf2vfp_test.c - Test __lesf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/letf2_test.c b/compiler-rt/test/builtins/Unit/letf2_test.c
index 1842e3c5562..bb8452567ae 100644
--- a/compiler-rt/test/builtins/Unit/letf2_test.c
+++ b/compiler-rt/test/builtins/Unit/letf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===------------ letf2_test.c - Test __letf2------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/lit.cfg b/compiler-rt/test/builtins/Unit/lit.cfg
new file mode 100644
index 00000000000..f29f7e00d04
--- /dev/null
+++ b/compiler-rt/test/builtins/Unit/lit.cfg
@@ -0,0 +1,80 @@
+# -*- Python -*-
+
+import os
+import platform
+
+import lit.formats
+
+def get_required_attr(config, attr_name):
+ attr_value = getattr(config, attr_name, None)
+ if attr_value == None:
+ lit_config.fatal(
+ "No attribute %r in test configuration! You may need to run "
+ "tests from your build directory or add this attribute "
+ "to lit.site.cfg " % attr_name)
+ return attr_value
+
+# Setup config name.
+config.name = 'Builtins' + config.name_suffix
+
+# Platform-specific default Builtins_OPTIONS for lit tests.
+default_builtins_opts = ''
+
+# Setup source root.
+config.test_source_root = os.path.dirname(__file__)
+
+# Path to the static library
+base_lib = os.path.join(config.compiler_rt_libdir, "libclang_rt.builtins-%s.a "
+ % config.target_arch)
+
+builtins_source_dir = os.path.join(
+ get_required_attr(config, "compiler_rt_src_root"), "lib", "builtins")
+builtins_lit_source_dir = get_required_attr(config, "builtins_lit_source_dir")
+
+extra_link_flags = ["-nodefaultlibs"]
+config.substitutions.append( ("%librt ", base_lib + ' -lc -lm ') )
+
+target_cflags = [get_required_attr(config, "target_cflags")]
+target_cflags += ['-fno-builtin', '-I', builtins_source_dir]
+target_cflags += extra_link_flags
+target_cxxflags = config.cxx_mode_flags + target_cflags
+clang_builtins_static_cflags = ([""] +
+ config.debug_info_flags + target_cflags)
+clang_builtins_static_cxxflags = config.cxx_mode_flags + \
+ clang_builtins_static_cflags
+
+clang_builtins_cflags = clang_builtins_static_cflags
+clang_builtins_cxxflags = clang_builtins_static_cxxflags
+
+
+config.available_features.add('not-android')
+clang_wrapper = ""
+
+def build_invocation(compile_flags):
+ return " " + " ".join([clang_wrapper, config.clang] + compile_flags) + " "
+
+
+target_arch = config.target_arch
+if (target_arch == "arm"):
+ target_arch = "armv7"
+
+config.substitutions.append( ("%clang ", build_invocation(target_cflags)) )
+config.substitutions.append( ("%clangxx ", build_invocation(target_cxxflags)) )
+config.substitutions.append( ("%clang_builtins ", \
+ build_invocation(clang_builtins_cflags)))
+config.substitutions.append( ("%clangxx_builtins ", \
+ build_invocation(clang_builtins_cxxflags)))
+
+# FIXME: move the call_apsr.s into call_apsr.h as inline-asm.
+# some ARM tests needs call_apsr.s
+call_apsr_source = os.path.join(builtins_lit_source_dir, 'arm', 'call_apsr.S')
+march_flag = '-march=' + target_arch
+call_apsr_flags = ['-c', march_flag, call_apsr_source]
+config.substitutions.append( ("%arm_call_apsr ", \
+ build_invocation(call_apsr_flags)) )
+
+# Default test suffixes.
+config.suffixes = ['.c', '.cc', '.cpp']
+
+if not config.emulator:
+ config.available_features.add('native-run')
diff --git a/compiler-rt/test/builtins/Unit/lit.site.cfg.in b/compiler-rt/test/builtins/Unit/lit.site.cfg.in
new file mode 100644
index 00000000000..4b4009d1e2c
--- /dev/null
+++ b/compiler-rt/test/builtins/Unit/lit.site.cfg.in
@@ -0,0 +1,12 @@
+@LIT_SITE_CFG_IN_HEADER@
+
+config.name_suffix = "@BUILTINS_TEST_CONFIG_SUFFIX@"
+config.builtins_lit_source_dir = "@BUILTINS_LIT_SOURCE_DIR@/Unit"
+config.target_cflags = "@BUILTINS_TEST_TARGET_CFLAGS@"
+config.target_arch = "@BUILTINS_TEST_TARGET_ARCH@"
+
+# Load common config for all compiler-rt lit tests.
+lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")
+
+# Load tool-specific config that would do the real work.
+lit_config.load_config(config, "@BUILTINS_LIT_SOURCE_DIR@/Unit/lit.cfg")
diff --git a/compiler-rt/test/builtins/Unit/lshrdi3_test.c b/compiler-rt/test/builtins/Unit/lshrdi3_test.c
index d48ae4dd79f..c5faa98ee6c 100644
--- a/compiler-rt/test/builtins/Unit/lshrdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/lshrdi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- lshrdi3_test.c - Test __lshrdi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/lshrti3_test.c b/compiler-rt/test/builtins/Unit/lshrti3_test.c
index f5a0dd616cb..91356c8bfe5 100644
--- a/compiler-rt/test/builtins/Unit/lshrti3_test.c
+++ b/compiler-rt/test/builtins/Unit/lshrti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- lshrti3_test.c - Test __lshrti3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ltdf2vfp_test.c b/compiler-rt/test/builtins/Unit/ltdf2vfp_test.c
index fdbe9a17bc2..8e96993990e 100644
--- a/compiler-rt/test/builtins/Unit/ltdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/ltdf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ltdf2vfp_test.c - Test __ltdf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ltsf2vfp_test.c b/compiler-rt/test/builtins/Unit/ltsf2vfp_test.c
index d4d65ba9295..7ca5532353d 100644
--- a/compiler-rt/test/builtins/Unit/ltsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/ltsf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ltsf2vfp_test.c - Test __ltsf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/lttf2_test.c b/compiler-rt/test/builtins/Unit/lttf2_test.c
index e8f9dc17c6f..cfe1906d2a5 100644
--- a/compiler-rt/test/builtins/Unit/lttf2_test.c
+++ b/compiler-rt/test/builtins/Unit/lttf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===------------ lttf2_test.c - Test __lttf2------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/moddi3_test.c b/compiler-rt/test/builtins/Unit/moddi3_test.c
index 62e8f227b34..8325ad75b2f 100644
--- a/compiler-rt/test/builtins/Unit/moddi3_test.c
+++ b/compiler-rt/test/builtins/Unit/moddi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- moddi3_test.c - Test __moddi3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/modsi3_test.c b/compiler-rt/test/builtins/Unit/modsi3_test.c
index 8c9f58832b9..8075f516041 100644
--- a/compiler-rt/test/builtins/Unit/modsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/modsi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
/* ===-- modsi3_test.c - Test __modsi3 -------------------------------------===
*
* The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/modti3_test.c b/compiler-rt/test/builtins/Unit/modti3_test.c
index 99413aaa2f6..53fbf5bbad0 100644
--- a/compiler-rt/test/builtins/Unit/modti3_test.c
+++ b/compiler-rt/test/builtins/Unit/modti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- modti3_test.c - Test __modti3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/muldc3_test.c b/compiler-rt/test/builtins/Unit/muldc3_test.c
index 6902ef3222a..add09f4e83e 100644
--- a/compiler-rt/test/builtins/Unit/muldc3_test.c
+++ b/compiler-rt/test/builtins/Unit/muldc3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
//===-- muldc3_test.c - Test __muldc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/muldf3vfp_test.c b/compiler-rt/test/builtins/Unit/muldf3vfp_test.c
index 024c9a8a87f..36a22625c6a 100644
--- a/compiler-rt/test/builtins/Unit/muldf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/muldf3vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- muldf3vfp_test.c - Test __muldf3vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/muldi3_test.c b/compiler-rt/test/builtins/Unit/muldi3_test.c
index 651dd017734..d09e74d1ae0 100644
--- a/compiler-rt/test/builtins/Unit/muldi3_test.c
+++ b/compiler-rt/test/builtins/Unit/muldi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- muldi3_test.c - Test __muldi3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/mulodi4_test.c b/compiler-rt/test/builtins/Unit/mulodi4_test.c
index 4546609fb8e..f03b8fecfcc 100644
--- a/compiler-rt/test/builtins/Unit/mulodi4_test.c
+++ b/compiler-rt/test/builtins/Unit/mulodi4_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- mulodi4_test.c - Test __mulodi4 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/mulosi4_test.c b/compiler-rt/test/builtins/Unit/mulosi4_test.c
index 6a27d69bd6b..12913f1d716 100644
--- a/compiler-rt/test/builtins/Unit/mulosi4_test.c
+++ b/compiler-rt/test/builtins/Unit/mulosi4_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- mulosi4_test.c - Test __mulosi4 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/muloti4_test.c b/compiler-rt/test/builtins/Unit/muloti4_test.c
index d00e7bb6b68..e7c78cf1685 100644
--- a/compiler-rt/test/builtins/Unit/muloti4_test.c
+++ b/compiler-rt/test/builtins/Unit/muloti4_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- muloti4_test.c - Test __muloti4 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/mulsc3_test.c b/compiler-rt/test/builtins/Unit/mulsc3_test.c
index eeb537ac135..4eac07e8d80 100644
--- a/compiler-rt/test/builtins/Unit/mulsc3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulsc3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
//===-- mulsc3_test.c - Test __mulsc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/mulsf3vfp_test.c b/compiler-rt/test/builtins/Unit/mulsf3vfp_test.c
index 9fe88f29bad..8ee05510b07 100644
--- a/compiler-rt/test/builtins/Unit/mulsf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/mulsf3vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- mulsf3vfp_test.c - Test __mulsf3vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/multc3_test.c b/compiler-rt/test/builtins/Unit/multc3_test.c
index f6cf4ca875b..5ef84670e45 100644
--- a/compiler-rt/test/builtins/Unit/multc3_test.c
+++ b/compiler-rt/test/builtins/Unit/multc3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- multc3_test.c - Test __multc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/multf3_test.c b/compiler-rt/test/builtins/Unit/multf3_test.c
index 42147550c70..7f209e49d2b 100644
--- a/compiler-rt/test/builtins/Unit/multf3_test.c
+++ b/compiler-rt/test/builtins/Unit/multf3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- multf3_test.c - Test __multf3 ------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/multi3_test.c b/compiler-rt/test/builtins/Unit/multi3_test.c
index 04b1b8aa851..8227f242686 100644
--- a/compiler-rt/test/builtins/Unit/multi3_test.c
+++ b/compiler-rt/test/builtins/Unit/multi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- multi3_test.c - Test __multi3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/mulvdi3_test.c b/compiler-rt/test/builtins/Unit/mulvdi3_test.c
index 7f16c4c4f61..0e10bbef18e 100644
--- a/compiler-rt/test/builtins/Unit/mulvdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulvdi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- mulvdi3_test.c - Test __mulvdi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/mulvsi3_test.c b/compiler-rt/test/builtins/Unit/mulvsi3_test.c
index 64df4fe24da..f62a5aa42af 100644
--- a/compiler-rt/test/builtins/Unit/mulvsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulvsi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- mulvsi3_test.c - Test __mulvsi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/mulvti3_test.c b/compiler-rt/test/builtins/Unit/mulvti3_test.c
index bf2f7316ba1..36e96ad60f1 100644
--- a/compiler-rt/test/builtins/Unit/mulvti3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulvti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- mulvti3_test.c - Test __mulvti3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/mulxc3_test.c b/compiler-rt/test/builtins/Unit/mulxc3_test.c
index e77e94fa9cf..384c6ee114e 100644
--- a/compiler-rt/test/builtins/Unit/mulxc3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulxc3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
//===-- mulxc3_test.c - Test __mulxc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/nedf2vfp_test.c b/compiler-rt/test/builtins/Unit/nedf2vfp_test.c
index 69587d4689b..1d579e528ce 100644
--- a/compiler-rt/test/builtins/Unit/nedf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/nedf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- nedf2vfp_test.c - Test __nedf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/negdf2vfp_test.c b/compiler-rt/test/builtins/Unit/negdf2vfp_test.c
index 72bde7c0184..776dca61853 100644
--- a/compiler-rt/test/builtins/Unit/negdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/negdf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- negdf2vfp_test.c - Test __negdf2vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/negdi2_test.c b/compiler-rt/test/builtins/Unit/negdi2_test.c
index beccd71ee79..c85e91581ce 100644
--- a/compiler-rt/test/builtins/Unit/negdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/negdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- negdi2_test.c - Test __negdi2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/negsf2vfp_test.c b/compiler-rt/test/builtins/Unit/negsf2vfp_test.c
index 1c9ba529219..e15e43c8039 100644
--- a/compiler-rt/test/builtins/Unit/negsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/negsf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- negsf2vfp_test.c - Test __negsf2vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/negti2_test.c b/compiler-rt/test/builtins/Unit/negti2_test.c
index b07597868ce..bb7379cae2b 100644
--- a/compiler-rt/test/builtins/Unit/negti2_test.c
+++ b/compiler-rt/test/builtins/Unit/negti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- negti2_test.c - Test __negti2 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/negvdi2_test.c b/compiler-rt/test/builtins/Unit/negvdi2_test.c
index 5c202e55cfb..4e17c30895b 100644
--- a/compiler-rt/test/builtins/Unit/negvdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/negvdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- negvdi2_test.c - Test __negvdi2 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/negvsi2_test.c b/compiler-rt/test/builtins/Unit/negvsi2_test.c
index 6330803d5fc..3deb4235bf2 100644
--- a/compiler-rt/test/builtins/Unit/negvsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/negvsi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- negvsi2_test.c - Test __negvsi2 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/negvti2_test.c b/compiler-rt/test/builtins/Unit/negvti2_test.c
index 005f8a8acad..980f4486932 100644
--- a/compiler-rt/test/builtins/Unit/negvti2_test.c
+++ b/compiler-rt/test/builtins/Unit/negvti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- negvti2_test.c - Test __negvti2 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/nesf2vfp_test.c b/compiler-rt/test/builtins/Unit/nesf2vfp_test.c
index 0ebcd6721c9..8ea01ffc6d1 100644
--- a/compiler-rt/test/builtins/Unit/nesf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/nesf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- nesf2vfp_test.c - Test __nesf2vfp ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/netf2_test.c b/compiler-rt/test/builtins/Unit/netf2_test.c
index bbd953ab59e..c0b839d647e 100644
--- a/compiler-rt/test/builtins/Unit/netf2_test.c
+++ b/compiler-rt/test/builtins/Unit/netf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===------------ netf2_test.c - Test __netf2------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/paritydi2_test.c b/compiler-rt/test/builtins/Unit/paritydi2_test.c
index 98220bd8cb6..cc56eda57ee 100644
--- a/compiler-rt/test/builtins/Unit/paritydi2_test.c
+++ b/compiler-rt/test/builtins/Unit/paritydi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- paritydi2_test.c - Test __paritydi2 -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/paritysi2_test.c b/compiler-rt/test/builtins/Unit/paritysi2_test.c
index 175aeb2c9c0..42d687f1706 100644
--- a/compiler-rt/test/builtins/Unit/paritysi2_test.c
+++ b/compiler-rt/test/builtins/Unit/paritysi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- paritysi2_test.c - Test __paritysi2 -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/parityti2_test.c b/compiler-rt/test/builtins/Unit/parityti2_test.c
index cc1e999f29e..bcd26d0af84 100644
--- a/compiler-rt/test/builtins/Unit/parityti2_test.c
+++ b/compiler-rt/test/builtins/Unit/parityti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- parityti2_test.c - Test __parityti2 -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/popcountdi2_test.c b/compiler-rt/test/builtins/Unit/popcountdi2_test.c
index bfd4977b416..1d52fb8dbd5 100644
--- a/compiler-rt/test/builtins/Unit/popcountdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/popcountdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- popcountdi2_test.c - Test __popcountdi2 ----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/popcountsi2_test.c b/compiler-rt/test/builtins/Unit/popcountsi2_test.c
index 10b757d814e..5eb88ac6262 100644
--- a/compiler-rt/test/builtins/Unit/popcountsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/popcountsi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- popcountsi2_test.c - Test __popcountsi2 ---------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/popcountti2_test.c b/compiler-rt/test/builtins/Unit/popcountti2_test.c
index 3a3c3cb4fa2..ef8b2c3836b 100644
--- a/compiler-rt/test/builtins/Unit/popcountti2_test.c
+++ b/compiler-rt/test/builtins/Unit/popcountti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- popcountti2_test.c - Test __popcountti2 ----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/powidf2_test.c b/compiler-rt/test/builtins/Unit/powidf2_test.c
index c499d9abaeb..210e3c3c758 100644
--- a/compiler-rt/test/builtins/Unit/powidf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powidf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- powidf2_test.cpp - Test __powidf2 ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/powisf2_test.c b/compiler-rt/test/builtins/Unit/powisf2_test.c
index 1186ef4af5b..add4be43faf 100644
--- a/compiler-rt/test/builtins/Unit/powisf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powisf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- powisf2_test.cpp - Test __powisf2 ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/powitf2_test.c b/compiler-rt/test/builtins/Unit/powitf2_test.c
index 13c890a0dca..9d11b76cb0d 100644
--- a/compiler-rt/test/builtins/Unit/powitf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powitf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- powitf2_test.cpp - Test __powitf2 ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/powixf2_test.c b/compiler-rt/test/builtins/Unit/powixf2_test.c
index a28f1f9696f..bf5a812fa1c 100644
--- a/compiler-rt/test/builtins/Unit/powixf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powixf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- powixf2_test.cpp - Test __powixf2 ---------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ppc/fixtfdi_test.c b/compiler-rt/test/builtins/Unit/ppc/fixtfdi_test.c
index b4865fb8e6e..ea6c4056377 100644
--- a/compiler-rt/test/builtins/Unit/ppc/fixtfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/ppc/fixtfdi_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_builtins %s -o %t && %run %t
#include <stdio.h>
#include <limits.h>
#include <stdint.h>
diff --git a/compiler-rt/test/builtins/Unit/ppc/floatditf_test.c b/compiler-rt/test/builtins/Unit/ppc/floatditf_test.c
index 71ecf7c4b5d..5c08ade4bdf 100644
--- a/compiler-rt/test/builtins/Unit/ppc/floatditf_test.c
+++ b/compiler-rt/test/builtins/Unit/ppc/floatditf_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_builtins %s -o %t && %run %t
#include <stdint.h>
#include <stdio.h>
diff --git a/compiler-rt/test/builtins/Unit/ppc/floatunditf_test.c b/compiler-rt/test/builtins/Unit/ppc/floatunditf_test.c
index 4d1ce088476..3e50128578e 100644
--- a/compiler-rt/test/builtins/Unit/ppc/floatunditf_test.c
+++ b/compiler-rt/test/builtins/Unit/ppc/floatunditf_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_builtins %s -o %t && %run %t
#include <stdint.h>
#include <stdio.h>
diff --git a/compiler-rt/test/builtins/Unit/ppc/qadd_test.c b/compiler-rt/test/builtins/Unit/ppc/qadd_test.c
index 6d4ca93c269..327fd21e8aa 100644
--- a/compiler-rt/test/builtins/Unit/ppc/qadd_test.c
+++ b/compiler-rt/test/builtins/Unit/ppc/qadd_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_builtins %s -o %t && %run %t
#include <stdio.h>
#include "DD.h"
diff --git a/compiler-rt/test/builtins/Unit/ppc/qdiv_test.c b/compiler-rt/test/builtins/Unit/ppc/qdiv_test.c
index 8e4e75a50ad..7530e428fa7 100644
--- a/compiler-rt/test/builtins/Unit/ppc/qdiv_test.c
+++ b/compiler-rt/test/builtins/Unit/ppc/qdiv_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_builtins %s -o %t && %run %t
#include <stdio.h>
#include "DD.h"
diff --git a/compiler-rt/test/builtins/Unit/ppc/qmul_test.c b/compiler-rt/test/builtins/Unit/ppc/qmul_test.c
index fc5b46d3366..dbe3536f309 100644
--- a/compiler-rt/test/builtins/Unit/ppc/qmul_test.c
+++ b/compiler-rt/test/builtins/Unit/ppc/qmul_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_builtins %s -o %t && %run %t
#include <stdio.h>
#include "DD.h"
diff --git a/compiler-rt/test/builtins/Unit/ppc/qsub_test.c b/compiler-rt/test/builtins/Unit/ppc/qsub_test.c
index 43bc7f4a854..e21224096f5 100644
--- a/compiler-rt/test/builtins/Unit/ppc/qsub_test.c
+++ b/compiler-rt/test/builtins/Unit/ppc/qsub_test.c
@@ -1,3 +1,5 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_builtins %s -o %t && %run %t
#include <stdio.h>
#include "DD.h"
diff --git a/compiler-rt/test/builtins/Unit/subdf3vfp_test.c b/compiler-rt/test/builtins/Unit/subdf3vfp_test.c
index 398494e1d46..75bfe4542a0 100644
--- a/compiler-rt/test/builtins/Unit/subdf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/subdf3vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- subdf3vfp_test.c - Test __subdf3vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/subsf3vfp_test.c b/compiler-rt/test/builtins/Unit/subsf3vfp_test.c
index 8d529e52533..fb3839f233e 100644
--- a/compiler-rt/test/builtins/Unit/subsf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/subsf3vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- subsf3vfp_test.c - Test __subsf3vfp -------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/subtf3_test.c b/compiler-rt/test/builtins/Unit/subtf3_test.c
index ad115a40ca3..c56bedae0e3 100644
--- a/compiler-rt/test/builtins/Unit/subtf3_test.c
+++ b/compiler-rt/test/builtins/Unit/subtf3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- subtf3_test.c - Test __subtf3 ------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/subvdi3_test.c b/compiler-rt/test/builtins/Unit/subvdi3_test.c
index 96e825cafb1..7606e27d168 100644
--- a/compiler-rt/test/builtins/Unit/subvdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/subvdi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- subvdi3_test.c - Test __subvdi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/subvsi3_test.c b/compiler-rt/test/builtins/Unit/subvsi3_test.c
index 03ef5045d25..f52a12b6056 100644
--- a/compiler-rt/test/builtins/Unit/subvsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/subvsi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- subvsi3_test.c - Test __subvsi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/subvti3_test.c b/compiler-rt/test/builtins/Unit/subvti3_test.c
index 40eb5186917..66806ba0bb7 100644
--- a/compiler-rt/test/builtins/Unit/subvti3_test.c
+++ b/compiler-rt/test/builtins/Unit/subvti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- subvti3_test.c - Test __subvti3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/trampoline_setup_test.c b/compiler-rt/test/builtins/Unit/trampoline_setup_test.c
index dc30fb6df60..5a75724f440 100644
--- a/compiler-rt/test/builtins/Unit/trampoline_setup_test.c
+++ b/compiler-rt/test/builtins/Unit/trampoline_setup_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -fnested-functions -o %t && %run %t
/* ===-- trampoline_setup_test.c - Test __trampoline_setup -----------------===
*
* The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/truncdfhf2_test.c b/compiler-rt/test/builtins/Unit/truncdfhf2_test.c
index 6627a001eab..e3d173499d5 100644
--- a/compiler-rt/test/builtins/Unit/truncdfhf2_test.c
+++ b/compiler-rt/test/builtins/Unit/truncdfhf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- truncdfhf2_test.c - Test __truncdfhf2 ----------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/truncdfsf2_test.c b/compiler-rt/test/builtins/Unit/truncdfsf2_test.c
index a208a3a56be..8e58221c869 100644
--- a/compiler-rt/test/builtins/Unit/truncdfsf2_test.c
+++ b/compiler-rt/test/builtins/Unit/truncdfsf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- truncdfsf2_test.c - Test __truncdfsf2 ----------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c b/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
index efe6f97ab5a..f034dd2da26 100644
--- a/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- truncdfsf2vfp_test.c - Test __truncdfsf2vfp -----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/truncsfhf2_test.c b/compiler-rt/test/builtins/Unit/truncsfhf2_test.c
index 5bc3c8e22d5..1e977899b29 100644
--- a/compiler-rt/test/builtins/Unit/truncsfhf2_test.c
+++ b/compiler-rt/test/builtins/Unit/truncsfhf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- truncsfhf2_test.c - Test __truncsfhf2 ----------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/trunctfdf2_test.c b/compiler-rt/test/builtins/Unit/trunctfdf2_test.c
index 0366a8ce99f..1d8c2bf05d4 100644
--- a/compiler-rt/test/builtins/Unit/trunctfdf2_test.c
+++ b/compiler-rt/test/builtins/Unit/trunctfdf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-------------- trunctfdf2_test.c - Test __trunctfdf2 -----------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/trunctfsf2_test.c b/compiler-rt/test/builtins/Unit/trunctfsf2_test.c
index a6b922ce122..177508319a4 100644
--- a/compiler-rt/test/builtins/Unit/trunctfsf2_test.c
+++ b/compiler-rt/test/builtins/Unit/trunctfsf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===--------------- trunctfsf2_test.c - Test __trunctfsf2 ----------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ucmpdi2_test.c b/compiler-rt/test/builtins/Unit/ucmpdi2_test.c
index 65ae4fce0e7..ee815454a25 100644
--- a/compiler-rt/test/builtins/Unit/ucmpdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ucmpdi2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ucmpdi2_test.c - Test __ucmpdi2 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/ucmpti2_test.c b/compiler-rt/test/builtins/Unit/ucmpti2_test.c
index 826cd6439dd..17a857fb59e 100644
--- a/compiler-rt/test/builtins/Unit/ucmpti2_test.c
+++ b/compiler-rt/test/builtins/Unit/ucmpti2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- ucmpti2_test.c - Test __ucmpti2 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/udivdi3_test.c b/compiler-rt/test/builtins/Unit/udivdi3_test.c
index 48c99e30973..5858bc7f925 100644
--- a/compiler-rt/test/builtins/Unit/udivdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/udivdi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- udivdi3_test.c - Test __udivdi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/udivmoddi4_test.c b/compiler-rt/test/builtins/Unit/udivmoddi4_test.c
index 79af1eeff61..a5024bae01c 100644
--- a/compiler-rt/test/builtins/Unit/udivmoddi4_test.c
+++ b/compiler-rt/test/builtins/Unit/udivmoddi4_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- udivmoddi4_test.c - Test __udivmoddi4 -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/udivmodsi4_test.c b/compiler-rt/test/builtins/Unit/udivmodsi4_test.c
index 4c14e297d56..320018cba5c 100644
--- a/compiler-rt/test/builtins/Unit/udivmodsi4_test.c
+++ b/compiler-rt/test/builtins/Unit/udivmodsi4_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- udivmodsi4_test.c - Test __udivmodsi4 -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/udivmodti4_test.c b/compiler-rt/test/builtins/Unit/udivmodti4_test.c
index c4246613d2e..b07ce8c2420 100644
--- a/compiler-rt/test/builtins/Unit/udivmodti4_test.c
+++ b/compiler-rt/test/builtins/Unit/udivmodti4_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- udivmodti4_test.c - Test __udivmodti4 -----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/udivsi3_test.c b/compiler-rt/test/builtins/Unit/udivsi3_test.c
index 49053865bf4..7adf30a151c 100644
--- a/compiler-rt/test/builtins/Unit/udivsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/udivsi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- udivsi3_test.c - Test __udivsi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/udivti3_test.c b/compiler-rt/test/builtins/Unit/udivti3_test.c
index f24ff03b242..81cedadff24 100644
--- a/compiler-rt/test/builtins/Unit/udivti3_test.c
+++ b/compiler-rt/test/builtins/Unit/udivti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- udivti3_test.c - Test __udivti3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/umoddi3_test.c b/compiler-rt/test/builtins/Unit/umoddi3_test.c
index b46fb402281..b1382b621a5 100644
--- a/compiler-rt/test/builtins/Unit/umoddi3_test.c
+++ b/compiler-rt/test/builtins/Unit/umoddi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- umoddi3_test.c - Test __umoddi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/umodsi3_test.c b/compiler-rt/test/builtins/Unit/umodsi3_test.c
index 3655da1395f..c4305387489 100644
--- a/compiler-rt/test/builtins/Unit/umodsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/umodsi3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- umodsi3_test.c - Test __umodsi3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/umodti3_test.c b/compiler-rt/test/builtins/Unit/umodti3_test.c
index 21e82a4a21e..5bce0258ae3 100644
--- a/compiler-rt/test/builtins/Unit/umodti3_test.c
+++ b/compiler-rt/test/builtins/Unit/umodti3_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- umodti3_test.c - Test __umodti3 -----------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/unorddf2vfp_test.c b/compiler-rt/test/builtins/Unit/unorddf2vfp_test.c
index be17e41138f..804e07cf0e4 100644
--- a/compiler-rt/test/builtins/Unit/unorddf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/unorddf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- unorddf2vfp_test.c - Test __unorddf2vfp ---------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/unordsf2vfp_test.c b/compiler-rt/test/builtins/Unit/unordsf2vfp_test.c
index e40d71f77f0..30c9785a0f5 100644
--- a/compiler-rt/test/builtins/Unit/unordsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/unordsf2vfp_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- unordsf2vfp_test.c - Test __unordsf2vfp ---------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/unordtf2_test.c b/compiler-rt/test/builtins/Unit/unordtf2_test.c
index 114cd8cb38a..22907ce7670 100644
--- a/compiler-rt/test/builtins/Unit/unordtf2_test.c
+++ b/compiler-rt/test/builtins/Unit/unordtf2_test.c
@@ -1,3 +1,4 @@
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===------------ unordtf2_test.c - Test __unordtf2------------------------===//
//
// The LLVM Compiler Infrastructure
OpenPOWER on IntegriCloud