summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/test/builtins/CMakeLists.txt27
-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/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.c1
-rw-r--r--compiler-rt/test/builtins/Unit/bswapsi2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/clear_cache_test.c1
-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.c1
-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/divdf3_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/divsf3_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.c1
-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/extenddftf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/extendhfsf2_test.c1
-rw-r--r--compiler-rt/test/builtins/Unit/extendsfdf2vfp_test.c (renamed from compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c)1
-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/ffssi2_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/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.cfg.py22
-rw-r--r--compiler-rt/test/builtins/Unit/lit.site.cfg.py.in2
-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/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
180 files changed, 228 insertions, 0 deletions
diff --git a/compiler-rt/test/builtins/CMakeLists.txt b/compiler-rt/test/builtins/CMakeLists.txt
index b80b8a112b5..e3796f840a6 100644
--- a/compiler-rt/test/builtins/CMakeLists.txt
+++ b/compiler-rt/test/builtins/CMakeLists.txt
@@ -44,6 +44,33 @@ foreach(arch ${BUILTIN_TEST_ARCH})
string(REPLACE ";" " " BUILTINS_TEST_TARGET_CFLAGS "${BUILTINS_TEST_TARGET_CFLAGS}")
endif()
+ # Compute builtins available in library and add them as lit features.
+ if(APPLE)
+ # TODO: Support other Apple platforms.
+ set(BUILTIN_LIB_TARGET_NAME "clang_rt.builtins_${arch}_osx")
+ else()
+ set(BUILTIN_LIB_TARGET_NAME "clang_rt.builtins-${arch}")
+ endif()
+ if (NOT TARGET "${BUILTIN_LIB_TARGET_NAME}")
+ message(FATAL_ERROR "Target ${BUILTIN_LIB_TARGET_NAME} does not exist")
+ endif()
+ get_target_property(BUILTIN_LIB_SOURCES "${BUILTIN_LIB_TARGET_NAME}" SOURCES)
+ list(LENGTH BUILTIN_LIB_SOURCES BUILTIN_LIB_SOURCES_LENGTH)
+ if (BUILTIN_LIB_SOURCES_LENGTH EQUAL 0)
+ message(FATAL_ERROR "Failed to find source files for ${arch} builtin library")
+ endif()
+ set(BUILTINS_LIT_SOURCE_FEATURES "")
+ foreach (file_name ${BUILTIN_LIB_SOURCES})
+ # Strip off any directories and file extensions. This approach means we add
+ # add a single feature if there is a C source file or assembly override
+ # present in the builtin library.
+ # E.g.
+ # "hexagon/udivsi3.S" => "udivsi3"
+ # "udivsi3.c" => "udivsi3"
+ get_filename_component(FILE_NAME_FILTERED "${file_name}" NAME_WE)
+ list(APPEND BUILTINS_LIT_SOURCE_FEATURES "librt_has_${FILE_NAME_FILTERED}")
+ endforeach()
+
string(TOUPPER ${arch} ARCH_UPPER_CASE)
set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)
configure_lit_site_cfg(
diff --git a/compiler-rt/test/builtins/Unit/absvdi2_test.c b/compiler-rt/test/builtins/Unit/absvdi2_test.c
index 00db5cc2f3d..a1bdbc5ef91 100644
--- a/compiler-rt/test/builtins/Unit/absvdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/absvdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_absvdi2
//===-- absvdi2_test.c - Test __absvdi2 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/absvsi2_test.c b/compiler-rt/test/builtins/Unit/absvsi2_test.c
index 332395b24e5..b9d3105d303 100644
--- a/compiler-rt/test/builtins/Unit/absvsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/absvsi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_absvsi2
//===-- absvsi2_test.c - Test __absvsi2 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/absvti2_test.c b/compiler-rt/test/builtins/Unit/absvti2_test.c
index 60d6c34ffe7..635c0f92ba1 100644
--- a/compiler-rt/test/builtins/Unit/absvti2_test.c
+++ b/compiler-rt/test/builtins/Unit/absvti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_absvti2
// REQUIRES: int128
//===-- absvti2_test.c - Test __absvti2 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/adddf3vfp_test.c b/compiler-rt/test/builtins/Unit/adddf3vfp_test.c
index f2642323d1f..5eb85b35811 100644
--- a/compiler-rt/test/builtins/Unit/adddf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/adddf3vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_adddf3vfp
//===-- adddf3vfp_test.c - Test __adddf3vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/addsf3vfp_test.c b/compiler-rt/test/builtins/Unit/addsf3vfp_test.c
index 8a742e6a4d0..50522f0d477 100644
--- a/compiler-rt/test/builtins/Unit/addsf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/addsf3vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_addsf3vfp
//===-- addsf3vfp_test.c - Test __addsf3vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/addtf3_test.c b/compiler-rt/test/builtins/Unit/addtf3_test.c
index 492d93bb974..7ca0355e42a 100644
--- a/compiler-rt/test/builtins/Unit/addtf3_test.c
+++ b/compiler-rt/test/builtins/Unit/addtf3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_addtf3
//===--------------- addtf3_test.c - Test __addtf3 ------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/addvdi3_test.c b/compiler-rt/test/builtins/Unit/addvdi3_test.c
index e30993ec069..0d87259e1a1 100644
--- a/compiler-rt/test/builtins/Unit/addvdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/addvdi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_addvdi3
//===-- addvdi3_test.c - Test __addvdi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/addvsi3_test.c b/compiler-rt/test/builtins/Unit/addvsi3_test.c
index 03ced89c289..73d9dbfb073 100644
--- a/compiler-rt/test/builtins/Unit/addvsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/addvsi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_addvsi3
//===-- addvsi3_test.c - Test __addvsi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/addvti3_test.c b/compiler-rt/test/builtins/Unit/addvti3_test.c
index 289ddc36090..3c39613d73b 100644
--- a/compiler-rt/test/builtins/Unit/addvti3_test.c
+++ b/compiler-rt/test/builtins/Unit/addvti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_addvti3
// REQUIRES: int128
//===-- addvti3_test.c - Test __addvti3 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/ashldi3_test.c b/compiler-rt/test/builtins/Unit/ashldi3_test.c
index 671dcadc347..6061421d411 100644
--- a/compiler-rt/test/builtins/Unit/ashldi3_test.c
+++ b/compiler-rt/test/builtins/Unit/ashldi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ashldi3
//===-- ashldi3_test.c - Test __ashldi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ashlti3_test.c b/compiler-rt/test/builtins/Unit/ashlti3_test.c
index 125863189af..422e3cfa877 100644
--- a/compiler-rt/test/builtins/Unit/ashlti3_test.c
+++ b/compiler-rt/test/builtins/Unit/ashlti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ashlti3
// REQUIRES: int128
//===-- ashlti3_test.c - Test __ashlti3 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/ashrdi3_test.c b/compiler-rt/test/builtins/Unit/ashrdi3_test.c
index 456660037a8..d3749f1b21e 100644
--- a/compiler-rt/test/builtins/Unit/ashrdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/ashrdi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ashrdi3
//===-- ashrdi3_test.c - Test __ashrdi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ashrti3_test.c b/compiler-rt/test/builtins/Unit/ashrti3_test.c
index 530cff53cb5..a491e900660 100644
--- a/compiler-rt/test/builtins/Unit/ashrti3_test.c
+++ b/compiler-rt/test/builtins/Unit/ashrti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ashrti3
// REQUIRES: int128
//===-- ashrti3_test.c - Test __ashrti3 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/bswapdi2_test.c b/compiler-rt/test/builtins/Unit/bswapdi2_test.c
index a6b07775f75..f61abc1e74d 100644
--- a/compiler-rt/test/builtins/Unit/bswapdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/bswapdi2_test.c
@@ -1,5 +1,6 @@
// UNSUPPORTED: armv6m-target-arch
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_bswapdi2
//===-- bswapdi2_test.c - Test __bswapdi2 ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/bswapsi2_test.c b/compiler-rt/test/builtins/Unit/bswapsi2_test.c
index d2f03cb7482..07f1e3a81a6 100644
--- a/compiler-rt/test/builtins/Unit/bswapsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/bswapsi2_test.c
@@ -1,5 +1,6 @@
// UNSUPPORTED: armv6m-target-arch
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_bswapsi2
//===-- bswapsi2_test.c - Test __bswapsi2 ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/clear_cache_test.c b/compiler-rt/test/builtins/Unit/clear_cache_test.c
index 4220ba65190..1713bec9372 100644
--- a/compiler-rt/test/builtins/Unit/clear_cache_test.c
+++ b/compiler-rt/test/builtins/Unit/clear_cache_test.c
@@ -1,6 +1,7 @@
// REQUIRES: native-run
// UNSUPPORTED: arm, aarch64
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_clear_cache
//===-- clear_cache_test.c - Test clear_cache -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/clzdi2_test.c b/compiler-rt/test/builtins/Unit/clzdi2_test.c
index 1ef1ff323b2..0d4c06e617a 100644
--- a/compiler-rt/test/builtins/Unit/clzdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_clzdi2
//===-- clzdi2_test.c - Test __clzdi2 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/clzsi2_test.c b/compiler-rt/test/builtins/Unit/clzsi2_test.c
index e2e1e1b65a1..fc517cf144a 100644
--- a/compiler-rt/test/builtins/Unit/clzsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzsi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_clzsi2
//===-- clzsi2_test.c - Test __clzsi2 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/clzti2_test.c b/compiler-rt/test/builtins/Unit/clzti2_test.c
index 15b87132739..ef73ca41c8d 100644
--- a/compiler-rt/test/builtins/Unit/clzti2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_clzti2
// REQUIRES: int128
//===-- clzti2_test.c - Test __clzti2 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/cmpdi2_test.c b/compiler-rt/test/builtins/Unit/cmpdi2_test.c
index 4bfcac025e6..1f64d2fc05e 100644
--- a/compiler-rt/test/builtins/Unit/cmpdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/cmpdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_cmpdi2
//===-- cmpdi2_test.c - Test __cmpdi2 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/cmpti2_test.c b/compiler-rt/test/builtins/Unit/cmpti2_test.c
index 03183c870a9..7dd22880bdf 100644
--- a/compiler-rt/test/builtins/Unit/cmpti2_test.c
+++ b/compiler-rt/test/builtins/Unit/cmpti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_cmpti2
// REQUIRES: int128
//===-- cmpti2_test.c - Test __cmpti2 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/comparedf2_test.c b/compiler-rt/test/builtins/Unit/comparedf2_test.c
index 9b1cac20b37..04a183afc3b 100644
--- a/compiler-rt/test/builtins/Unit/comparedf2_test.c
+++ b/compiler-rt/test/builtins/Unit/comparedf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparedf2
//===-- cmpdf2_test.c - Test __cmpdf2 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/comparesf2_test.c b/compiler-rt/test/builtins/Unit/comparesf2_test.c
index cabd20241f6..354cf008373 100644
--- a/compiler-rt/test/builtins/Unit/comparesf2_test.c
+++ b/compiler-rt/test/builtins/Unit/comparesf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparesf2
//===-- cmpsf2_test.c - Test __cmpsf2 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/cpu_model_test.c b/compiler-rt/test/builtins/Unit/cpu_model_test.c
index dee031ea034..21847f6790f 100644
--- a/compiler-rt/test/builtins/Unit/cpu_model_test.c
+++ b/compiler-rt/test/builtins/Unit/cpu_model_test.c
@@ -2,6 +2,7 @@
// XFAIL: *
// REQUIRES: x86-target-arch
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_cpu_model
//===-- cpu_model_test.c - Test __builtin_cpu_supports --------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ctzdi2_test.c b/compiler-rt/test/builtins/Unit/ctzdi2_test.c
index 269c43540b7..ebec5fab138 100644
--- a/compiler-rt/test/builtins/Unit/ctzdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ctzdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ctzdi2
//===-- ctzdi2_test.c - Test __ctzdi2 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ctzsi2_test.c b/compiler-rt/test/builtins/Unit/ctzsi2_test.c
index 15ca4fdf1bc..26c0adf8df8 100644
--- a/compiler-rt/test/builtins/Unit/ctzsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ctzsi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ctzsi2
//===-- ctzsi2_test.c - Test __ctzsi2 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ctzti2_test.c b/compiler-rt/test/builtins/Unit/ctzti2_test.c
index a321a0aac04..4e27f16d587 100644
--- a/compiler-rt/test/builtins/Unit/ctzti2_test.c
+++ b/compiler-rt/test/builtins/Unit/ctzti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ctzti2
// REQUIRES: int128
//===-- ctzti2_test.c - Test __ctzti2 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/divdc3_test.c b/compiler-rt/test/builtins/Unit/divdc3_test.c
index 6a59691c466..1f3cb225f35 100644
--- a/compiler-rt/test/builtins/Unit/divdc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divdc3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divdc3
//===-- divdc3_test.c - Test __divdc3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divdf3_test.c b/compiler-rt/test/builtins/Unit/divdf3_test.c
index 00b021f4ec7..28eb4eb892d 100644
--- a/compiler-rt/test/builtins/Unit/divdf3_test.c
+++ b/compiler-rt/test/builtins/Unit/divdf3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divdf3
//===--------------- divdf3_test.c - Test __divdf3 ------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divdf3vfp_test.c b/compiler-rt/test/builtins/Unit/divdf3vfp_test.c
index 76d7cfafa8f..3ff9d117ed9 100644
--- a/compiler-rt/test/builtins/Unit/divdf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/divdf3vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divdf3vfp
//===-- divdf3vfp_test.c - Test __divdf3vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divdi3_test.c b/compiler-rt/test/builtins/Unit/divdi3_test.c
index 41ee1cf07f1..44cbb178a96 100644
--- a/compiler-rt/test/builtins/Unit/divdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/divdi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divdi3
//===-- divdi3_test.c - Test __divdi3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divmodsi4_test.c b/compiler-rt/test/builtins/Unit/divmodsi4_test.c
index 4630ad8e709..326457f66ca 100644
--- a/compiler-rt/test/builtins/Unit/divmodsi4_test.c
+++ b/compiler-rt/test/builtins/Unit/divmodsi4_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divmodsi4
//===-- divmodsi4_test.c - Test __divmodsi4 -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divsc3_test.c b/compiler-rt/test/builtins/Unit/divsc3_test.c
index 5781cff4773..f09a2c8f733 100644
--- a/compiler-rt/test/builtins/Unit/divsc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divsc3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
+// REQUIRES: librt_has_divsc3
//===-- divsc3_test.c - Test __divsc3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divsf3_test.c b/compiler-rt/test/builtins/Unit/divsf3_test.c
index 4b14c81b322..1b4c241cc31 100644
--- a/compiler-rt/test/builtins/Unit/divsf3_test.c
+++ b/compiler-rt/test/builtins/Unit/divsf3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divsf3
//===--------------- divsf3_test.c - Test __divsf3 ------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divsf3vfp_test.c b/compiler-rt/test/builtins/Unit/divsf3vfp_test.c
index fc3860e2ca0..fb0d892358f 100644
--- a/compiler-rt/test/builtins/Unit/divsf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/divsf3vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divsf3vfp
//===-- divsf3vfp_test.c - Test __divsf3vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divsi3_test.c b/compiler-rt/test/builtins/Unit/divsi3_test.c
index fb453403c28..0b834404565 100644
--- a/compiler-rt/test/builtins/Unit/divsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/divsi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divsi3
//===-- divsi3_test.c - Test __divsi3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divtc3_test.c b/compiler-rt/test/builtins/Unit/divtc3_test.c
index dbd2ee7da37..f8181dafed9 100644
--- a/compiler-rt/test/builtins/Unit/divtc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divtc3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
+// REQUIRES: librt_has_divtc3
//
// 32-bit: Bug 42493, 64-bit: Bug 42496
// XFAIL: sparc
diff --git a/compiler-rt/test/builtins/Unit/divtf3_test.c b/compiler-rt/test/builtins/Unit/divtf3_test.c
index 23e1b5580b8..542d7d66cd4 100644
--- a/compiler-rt/test/builtins/Unit/divtf3_test.c
+++ b/compiler-rt/test/builtins/Unit/divtf3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divtf3
//===--------------- divtf3_test.c - Test __divtf3 ------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/divti3_test.c b/compiler-rt/test/builtins/Unit/divti3_test.c
index e29658d1a7a..8cb22eb4f3c 100644
--- a/compiler-rt/test/builtins/Unit/divti3_test.c
+++ b/compiler-rt/test/builtins/Unit/divti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_divti3
// REQUIRES: int128
//===-- divti3_test.c - Test __divti3 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/divxc3_test.c b/compiler-rt/test/builtins/Unit/divxc3_test.c
index 4dbe5afa712..d5bb385143f 100644
--- a/compiler-rt/test/builtins/Unit/divxc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divxc3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
+// REQUIRES: librt_has_divxc3
// REQUIRES: x86-target-arch
// UNSUPPORTED: powerpc64
//===-- divxc3_test.c - Test __divxc3 -------------------------------------===//
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 ef29a167987..ad39915d3a2 100644
--- a/compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
+++ b/compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
@@ -1,5 +1,6 @@
// REQUIRES: native-run
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_enable_execute_stack
//===-- enable_execute_stack_test.c - Test __enable_execute_stack ----------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/eqdf2vfp_test.c b/compiler-rt/test/builtins/Unit/eqdf2vfp_test.c
index 789a509f191..fc11af734ba 100644
--- a/compiler-rt/test/builtins/Unit/eqdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/eqdf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_eqdf2vfp
//===-- eqdf2vfp_test.c - Test __eqdf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/eqsf2vfp_test.c b/compiler-rt/test/builtins/Unit/eqsf2vfp_test.c
index 9ab7481830f..0b0ac442001 100644
--- a/compiler-rt/test/builtins/Unit/eqsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/eqsf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_eqsf2vfp
//===-- eqsf2vfp_test.c - Test __eqsf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/eqtf2_test.c b/compiler-rt/test/builtins/Unit/eqtf2_test.c
index e460b087126..69125ef14d3 100644
--- a/compiler-rt/test/builtins/Unit/eqtf2_test.c
+++ b/compiler-rt/test/builtins/Unit/eqtf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparetf2
//===------------ eqtf2_test.c - Test __eqtf2------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/extenddftf2_test.c b/compiler-rt/test/builtins/Unit/extenddftf2_test.c
index 0ca825dd111..914aaba8525 100644
--- a/compiler-rt/test/builtins/Unit/extenddftf2_test.c
+++ b/compiler-rt/test/builtins/Unit/extenddftf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_extenddftf2
//===--------------- extenddftf2_test.c - Test __extenddftf2 --------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/extendhfsf2_test.c b/compiler-rt/test/builtins/Unit/extendhfsf2_test.c
index 73676806a2b..d47a5892fa9 100644
--- a/compiler-rt/test/builtins/Unit/extendhfsf2_test.c
+++ b/compiler-rt/test/builtins/Unit/extendhfsf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_extendhfsf2
//===--------------- extendhfsf2_test.c - Test __extendhfsf2 --------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c b/compiler-rt/test/builtins/Unit/extendsfdf2vfp_test.c
index 2255e673598..c49255e09ae 100644
--- a/compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/extendsfdf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_extendsfdf2vfp
//===-- extendsfdf2vfp_test.c - Test __extendsfdf2vfp ---------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/extendsftf2_test.c b/compiler-rt/test/builtins/Unit/extendsftf2_test.c
index 2357fd341a5..7c97492b6c4 100644
--- a/compiler-rt/test/builtins/Unit/extendsftf2_test.c
+++ b/compiler-rt/test/builtins/Unit/extendsftf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_extendsftf2
//===--------------- extendsftf2_test.c - Test __extendsftf2 --------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ffsdi2_test.c b/compiler-rt/test/builtins/Unit/ffsdi2_test.c
index 86ab9b9799e..50cb0bf68fd 100644
--- a/compiler-rt/test/builtins/Unit/ffsdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ffsdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ffsdi2
//===-- ffsdi2_test.c - Test __ffsdi2 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ffssi2_test.c b/compiler-rt/test/builtins/Unit/ffssi2_test.c
index f97b398a7b6..a4876ea3e83 100644
--- a/compiler-rt/test/builtins/Unit/ffssi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ffssi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ffssi2
//===-- ffssi2_test.c - Test __ffssi2 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ffsti2_test.c b/compiler-rt/test/builtins/Unit/ffsti2_test.c
index abc32e14f55..2f35c884a0a 100644
--- a/compiler-rt/test/builtins/Unit/ffsti2_test.c
+++ b/compiler-rt/test/builtins/Unit/ffsti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ffsti2
// REQUIRES: int128
//===-- ffsti2_test.c - Test __ffsti2 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/fixdfdi_test.c b/compiler-rt/test/builtins/Unit/fixdfdi_test.c
index 30f0a3b258c..9fe19ddc4e9 100644
--- a/compiler-rt/test/builtins/Unit/fixdfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixdfdi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixdfdi
//===-- fixdfdi_test.c - Test __fixdfdi -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixdfsivfp_test.c b/compiler-rt/test/builtins/Unit/fixdfsivfp_test.c
index 4a76ea960df..606875c71a3 100644
--- a/compiler-rt/test/builtins/Unit/fixdfsivfp_test.c
+++ b/compiler-rt/test/builtins/Unit/fixdfsivfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixdfsivfp
//===-- fixdfsivfp_test.c - Test __fixdfsivfp -----------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/fixdfti_test.c b/compiler-rt/test/builtins/Unit/fixdfti_test.c
index 9a2de08dc68..d9f2107a090 100644
--- a/compiler-rt/test/builtins/Unit/fixdfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixdfti_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixdfti
// REQUIRES: int128
//===-- fixdfti_test.c - Test __fixdfti -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/fixsfdi_test.c b/compiler-rt/test/builtins/Unit/fixsfdi_test.c
index e4b23f5b25b..45c5b201189 100644
--- a/compiler-rt/test/builtins/Unit/fixsfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixsfdi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixsfdi
//===-- fixsfdi_test.c - Test __fixsfdi -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixsfsivfp_test.c b/compiler-rt/test/builtins/Unit/fixsfsivfp_test.c
index 7e60393192c..4ca280cd361 100644
--- a/compiler-rt/test/builtins/Unit/fixsfsivfp_test.c
+++ b/compiler-rt/test/builtins/Unit/fixsfsivfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixsfsivfp
//===-- fixsfsivfp_test.c - Test __fixsfsivfp -----------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/fixsfti_test.c b/compiler-rt/test/builtins/Unit/fixsfti_test.c
index bf985d2b2fa..cd4adcb473d 100644
--- a/compiler-rt/test/builtins/Unit/fixsfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixsfti_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixsfti
// REQUIRES: int128
//===-- fixsfti_test.c - Test __fixsfti -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/fixtfdi_test.c b/compiler-rt/test/builtins/Unit/fixtfdi_test.c
index 1d1e1102c68..32f63236e7b 100644
--- a/compiler-rt/test/builtins/Unit/fixtfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixtfdi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixtfdi
//===--------------- fixtfdi_test.c - Test __fixtfdi ----------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixtfsi_test.c b/compiler-rt/test/builtins/Unit/fixtfsi_test.c
index 752ede215cd..e679992e88f 100644
--- a/compiler-rt/test/builtins/Unit/fixtfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixtfsi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixtfsi
//===--------------- fixtfsi_test.c - Test __fixtfsi ----------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixtfti_test.c b/compiler-rt/test/builtins/Unit/fixtfti_test.c
index ea648148d50..5bafb68c7a9 100644
--- a/compiler-rt/test/builtins/Unit/fixtfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixtfti_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixtfti
//===--------------- fixtfti_test.c - Test __fixtfti ----------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunsdfdi_test.c b/compiler-rt/test/builtins/Unit/fixunsdfdi_test.c
index 0497a9175e2..770cb2ffee6 100644
--- a/compiler-rt/test/builtins/Unit/fixunsdfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsdfdi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunsdfdi
//===-- fixunsdfdi_test.c - Test __fixunsdfdi -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunsdfsi_test.c b/compiler-rt/test/builtins/Unit/fixunsdfsi_test.c
index 967e47334c1..b85b6513fc6 100644
--- a/compiler-rt/test/builtins/Unit/fixunsdfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsdfsi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunsdfsi
//===-- fixunsdfsi_test.c - Test __fixunsdfsi -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c b/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
index 6d9b2307b42..e7effc819fa 100644
--- a/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunsdfsivfp
//===-- fixunsdfsivfp_test.c - Test __fixunsdfsivfp -----------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunsdfti_test.c b/compiler-rt/test/builtins/Unit/fixunsdfti_test.c
index 0c68a669049..e867d4f9d61 100644
--- a/compiler-rt/test/builtins/Unit/fixunsdfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsdfti_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunsdfti
// REQUIRES: int128
//===-- fixunsdfti_test.c - Test __fixunsdfti -----------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/fixunssfdi_test.c b/compiler-rt/test/builtins/Unit/fixunssfdi_test.c
index e68be55d2fd..7f301fb4840 100644
--- a/compiler-rt/test/builtins/Unit/fixunssfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunssfdi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunssfdi
//===-- fixunssfdi_test.c - Test __fixunssfdi -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunssfsi_test.c b/compiler-rt/test/builtins/Unit/fixunssfsi_test.c
index 89b16d871ae..e6952b2281c 100644
--- a/compiler-rt/test/builtins/Unit/fixunssfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunssfsi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunssfsi
//===-- fixunssfsi_test.c - Test __fixunssfsi -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c b/compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c
index 1f3df0bd34a..67e0cbd3793 100644
--- a/compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunssfsivfp
//===-- fixunssfsivfp_test.c - Test __fixunssfsivfp -----------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/fixunssfti_test.c b/compiler-rt/test/builtins/Unit/fixunssfti_test.c
index 7d75d2291e6..de82e5263de 100644
--- a/compiler-rt/test/builtins/Unit/fixunssfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunssfti_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunssfti
// REQUIRES: int128
//===-- fixunssfti_test.c - Test __fixunssfti -----------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/fixunstfdi_test.c b/compiler-rt/test/builtins/Unit/fixunstfdi_test.c
index ddaea4e1b82..7fdc44ebfff 100644
--- a/compiler-rt/test/builtins/Unit/fixunstfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunstfdi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunstfdi
//===-- fixunstfdi_test.c - Test __fixunstfdi -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunstfsi_test.c b/compiler-rt/test/builtins/Unit/fixunstfsi_test.c
index b6958ecb7c1..a895aa90ee8 100644
--- a/compiler-rt/test/builtins/Unit/fixunstfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunstfsi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunstfsi
//===--------------- fixunstfsi_test.c - Test __fixunstfsi ----------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunstfti_test.c b/compiler-rt/test/builtins/Unit/fixunstfti_test.c
index b4013d5c12e..77c6a45d36f 100644
--- a/compiler-rt/test/builtins/Unit/fixunstfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunstfti_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunstfti
//===-- fixunstfti_test.c - Test __fixunstfti -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunsxfdi_test.c b/compiler-rt/test/builtins/Unit/fixunsxfdi_test.c
index 7bbeccf665e..50c04654617 100644
--- a/compiler-rt/test/builtins/Unit/fixunsxfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsxfdi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunsxfdi
//===-- fixunsxfdi_test.c - Test __fixunsxfdi -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunsxfsi_test.c b/compiler-rt/test/builtins/Unit/fixunsxfsi_test.c
index ae7e5b64927..365915c905f 100644
--- a/compiler-rt/test/builtins/Unit/fixunsxfsi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsxfsi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunsxfsi
//===-- fixunsxfsi_test.c - Test __fixunsxfsi -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixunsxfti_test.c b/compiler-rt/test/builtins/Unit/fixunsxfti_test.c
index 8527d574acb..2b1714d5ea1 100644
--- a/compiler-rt/test/builtins/Unit/fixunsxfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixunsxfti_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixunsxfti
// REQUIRES: x86-target-arch
//===-- fixunsxfti_test.c - Test __fixunsxfti -----------------------------===//
diff --git a/compiler-rt/test/builtins/Unit/fixxfdi_test.c b/compiler-rt/test/builtins/Unit/fixxfdi_test.c
index 6cb31b32a33..aed3579eb1c 100644
--- a/compiler-rt/test/builtins/Unit/fixxfdi_test.c
+++ b/compiler-rt/test/builtins/Unit/fixxfdi_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixxfdi
//===-- fixxfdi_test.c - Test __fixxfdi -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/fixxfti_test.c b/compiler-rt/test/builtins/Unit/fixxfti_test.c
index b92338848da..ff7186aa322 100644
--- a/compiler-rt/test/builtins/Unit/fixxfti_test.c
+++ b/compiler-rt/test/builtins/Unit/fixxfti_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_fixxfti
// REQUIRES: x86-target-arch
//===-- fixxfti_test.c - Test __fixxfti -----------------------------------===//
diff --git a/compiler-rt/test/builtins/Unit/floatdidf_test.c b/compiler-rt/test/builtins/Unit/floatdidf_test.c
index e3e091ee5a8..a9e439fc8ce 100644
--- a/compiler-rt/test/builtins/Unit/floatdidf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatdidf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatdidf
//===-- floatdidf.c - Test __floatdidf ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatdisf_test.c b/compiler-rt/test/builtins/Unit/floatdisf_test.c
index ce7a04d529a..4b6b5d18aaa 100644
--- a/compiler-rt/test/builtins/Unit/floatdisf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatdisf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatdisf
//===-- floatdisf_test.c - Test __floatdisf -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatditf_test.c b/compiler-rt/test/builtins/Unit/floatditf_test.c
index 27ef9482e06..b9a5dcd3f54 100644
--- a/compiler-rt/test/builtins/Unit/floatditf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatditf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatditf
//===-- floatditf_test.c - Test __floatditf -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatdixf_test.c b/compiler-rt/test/builtins/Unit/floatdixf_test.c
index 0ee92e8bccb..9965b55417b 100644
--- a/compiler-rt/test/builtins/Unit/floatdixf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatdixf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatdixf
//===-- floatdixf_test.c - Test __floatdixf -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatsidfvfp_test.c b/compiler-rt/test/builtins/Unit/floatsidfvfp_test.c
index eb1d06b23cc..018a5272453 100644
--- a/compiler-rt/test/builtins/Unit/floatsidfvfp_test.c
+++ b/compiler-rt/test/builtins/Unit/floatsidfvfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatsidfvfp
//===-- floatsidfvfp_test.c - Test __floatsidfvfp -------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatsisfvfp_test.c b/compiler-rt/test/builtins/Unit/floatsisfvfp_test.c
index b977e339d73..893e9130e25 100644
--- a/compiler-rt/test/builtins/Unit/floatsisfvfp_test.c
+++ b/compiler-rt/test/builtins/Unit/floatsisfvfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatsisfvfp
//===-- floatsisfvfp_test.c - Test __floatsisfvfp -------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatsitf_test.c b/compiler-rt/test/builtins/Unit/floatsitf_test.c
index 424a10fbc51..10f1d4a0466 100644
--- a/compiler-rt/test/builtins/Unit/floatsitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatsitf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatsitf
//===--------------- floatsitf_test.c - Test __floatsitf ------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floattidf_test.c b/compiler-rt/test/builtins/Unit/floattidf_test.c
index 76288f002b6..60420331b1a 100644
--- a/compiler-rt/test/builtins/Unit/floattidf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattidf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floattidf
// REQUIRES: int128
//===-- floattidf.c - Test __floattidf ------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/floattisf_test.c b/compiler-rt/test/builtins/Unit/floattisf_test.c
index 4d48d94bbbd..bf667d75744 100644
--- a/compiler-rt/test/builtins/Unit/floattisf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattisf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floattisf
// REQUIRES: int128
//===-- floattisf_test.c - Test __floattisf -------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/floattitf_test.c b/compiler-rt/test/builtins/Unit/floattitf_test.c
index f0c7dfbc2fe..3775f595e74 100644
--- a/compiler-rt/test/builtins/Unit/floattitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattitf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floattitf
//===-- floattitf.c - Test __floattitf ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floattixf_test.c b/compiler-rt/test/builtins/Unit/floattixf_test.c
index 5ab471263e6..00c3eb23649 100644
--- a/compiler-rt/test/builtins/Unit/floattixf_test.c
+++ b/compiler-rt/test/builtins/Unit/floattixf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floattixf
// REQUIRES: x86-target-arch
//===-- floattixf.c - Test __floattixf ------------------------------------===//
diff --git a/compiler-rt/test/builtins/Unit/floatundidf_test.c b/compiler-rt/test/builtins/Unit/floatundidf_test.c
index e165228a81b..540cb1f0333 100644
--- a/compiler-rt/test/builtins/Unit/floatundidf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatundidf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatundidf
//===-- floatundidf_test.c - Test __floatundidf ---------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatundisf_test.c b/compiler-rt/test/builtins/Unit/floatundisf_test.c
index 1a2feebf1e7..d377009b389 100644
--- a/compiler-rt/test/builtins/Unit/floatundisf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatundisf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatundisf
//===-- floatundisf_test.c - Test __floatundisf ---------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatunditf_test.c b/compiler-rt/test/builtins/Unit/floatunditf_test.c
index 163f0099a19..60914e5b483 100644
--- a/compiler-rt/test/builtins/Unit/floatunditf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatunditf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatunditf
//===-- floatunditf_test.c - Test __floatunditf ---------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatundixf_test.c b/compiler-rt/test/builtins/Unit/floatundixf_test.c
index 356653578d3..7104a2d6af8 100644
--- a/compiler-rt/test/builtins/Unit/floatundixf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatundixf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatundixf
//===-- floatundixf_test.c - Test __floatundixf ---------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatunsitf_test.c b/compiler-rt/test/builtins/Unit/floatunsitf_test.c
index 99ca0b68547..135c303afd2 100644
--- a/compiler-rt/test/builtins/Unit/floatunsitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatunsitf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatunsitf
//===--------------- floatunsitf_test.c - Test __floatunsitf --------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c b/compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
index e1ce2d28830..d308326fb5a 100644
--- a/compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
+++ b/compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatunssidfvfp
//===-- floatunssidfvfp_test.c - Test __floatunssidfvfp -------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c b/compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
index 878a42dd857..724f36e30ba 100644
--- a/compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
+++ b/compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatunssisfvfp
//===-- floatunssisfvfp_test.c - Test __floatunssisfvfp -------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatuntidf_test.c b/compiler-rt/test/builtins/Unit/floatuntidf_test.c
index 47c2815606c..d6cdef2a459 100644
--- a/compiler-rt/test/builtins/Unit/floatuntidf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntidf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatuntidf
// REQUIRES: int128
//===-- floatuntidf.c - Test __floatuntidf --------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/floatuntisf_test.c b/compiler-rt/test/builtins/Unit/floatuntisf_test.c
index b3a50ed730f..cc74dc4bbb0 100644
--- a/compiler-rt/test/builtins/Unit/floatuntisf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntisf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatuntisf
//===-- floatuntisf.c - Test __floatuntisf --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatuntitf_test.c b/compiler-rt/test/builtins/Unit/floatuntitf_test.c
index eb4287dedfe..512b00e98bc 100644
--- a/compiler-rt/test/builtins/Unit/floatuntitf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntitf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatuntitf
//===-- floatuntitf.c - Test __floatuntitf --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/floatuntixf_test.c b/compiler-rt/test/builtins/Unit/floatuntixf_test.c
index 9ff0b5fa8c5..e78ba028e89 100644
--- a/compiler-rt/test/builtins/Unit/floatuntixf_test.c
+++ b/compiler-rt/test/builtins/Unit/floatuntixf_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_floatuntixf
// REQUIRES: x86-target-arch
//===-- floatuntixf.c - Test __floatuntixf --------------------------------===//
diff --git a/compiler-rt/test/builtins/Unit/gedf2vfp_test.c b/compiler-rt/test/builtins/Unit/gedf2vfp_test.c
index 0edf4b84814..ca171157f88 100644
--- a/compiler-rt/test/builtins/Unit/gedf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/gedf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_gedf2vfp
//===-- gedf2vfp_test.c - Test __gedf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/gesf2vfp_test.c b/compiler-rt/test/builtins/Unit/gesf2vfp_test.c
index e84fa467290..892d6895dd7 100644
--- a/compiler-rt/test/builtins/Unit/gesf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/gesf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_gesf2vfp
//===-- gesf2vfp_test.c - Test __gesf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/getf2_test.c b/compiler-rt/test/builtins/Unit/getf2_test.c
index be8e122d2a2..d29c92f9954 100644
--- a/compiler-rt/test/builtins/Unit/getf2_test.c
+++ b/compiler-rt/test/builtins/Unit/getf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparetf2
//===------------ getf2_test.c - Test __getf2------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/gtdf2vfp_test.c b/compiler-rt/test/builtins/Unit/gtdf2vfp_test.c
index d69d05347a9..6f5ccd0890e 100644
--- a/compiler-rt/test/builtins/Unit/gtdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/gtdf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_gtdf2vfp
//===-- gtdf2vfp_test.c - Test __gtdf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/gtsf2vfp_test.c b/compiler-rt/test/builtins/Unit/gtsf2vfp_test.c
index b1eccfe90f8..a42588b6829 100644
--- a/compiler-rt/test/builtins/Unit/gtsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/gtsf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_gtsf2vfp
//===-- gtsf2vfp_test.c - Test __gtsf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/gttf2_test.c b/compiler-rt/test/builtins/Unit/gttf2_test.c
index 712d6818e4c..1890f16846d 100644
--- a/compiler-rt/test/builtins/Unit/gttf2_test.c
+++ b/compiler-rt/test/builtins/Unit/gttf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparetf2
//===------------ gttf2_test.c - Test __gttf2------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ledf2vfp_test.c b/compiler-rt/test/builtins/Unit/ledf2vfp_test.c
index 651a6cceb19..be01e96de30 100644
--- a/compiler-rt/test/builtins/Unit/ledf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/ledf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ledf2vfp
//===-- ledf2vfp_test.c - Test __ledf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/lesf2vfp_test.c b/compiler-rt/test/builtins/Unit/lesf2vfp_test.c
index 274be1b129d..7bb0cb71ddb 100644
--- a/compiler-rt/test/builtins/Unit/lesf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/lesf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_lesf2vfp
//===-- lesf2vfp_test.c - Test __lesf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/letf2_test.c b/compiler-rt/test/builtins/Unit/letf2_test.c
index 39b3e9bfded..62481ef2b51 100644
--- a/compiler-rt/test/builtins/Unit/letf2_test.c
+++ b/compiler-rt/test/builtins/Unit/letf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparetf2
//===------------ letf2_test.c - Test __letf2------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/lit.cfg.py b/compiler-rt/test/builtins/Unit/lit.cfg.py
index 44b86f0d639..8fdb1a216ee 100644
--- a/compiler-rt/test/builtins/Unit/lit.cfg.py
+++ b/compiler-rt/test/builtins/Unit/lit.cfg.py
@@ -94,3 +94,25 @@ config.suffixes = ['.c', '.cpp']
if not config.emulator:
config.available_features.add('native-run')
+
+# Add features for available sources
+builtins_source_features = config.builtins_lit_source_features.split(';')
+# Sanity checks
+if not builtins_source_features:
+ lit_config.fatal('builtins_source_features cannot be empty')
+builtins_source_features_set = set()
+builtins_source_feature_duplicates = []
+for builtin_source_feature in builtins_source_features:
+ if len(builtin_source_feature) == 0:
+ lit_config.fatal('builtins_source_feature cannot contain empty features')
+ if builtin_source_feature not in builtins_source_features_set:
+ builtins_source_features_set.add(builtin_source_feature)
+ else:
+ builtins_source_feature_duplicates.append(builtin_source_feature)
+
+if len(builtins_source_feature_duplicates) > 0:
+ lit_config.fatal(
+ 'builtins_source_features contains duplicates: {}'.format(
+ builtins_source_feature_duplicates)
+ )
+config.available_features.update(builtins_source_features)
diff --git a/compiler-rt/test/builtins/Unit/lit.site.cfg.py.in b/compiler-rt/test/builtins/Unit/lit.site.cfg.py.in
index 10af443139d..da7840b3289 100644
--- a/compiler-rt/test/builtins/Unit/lit.site.cfg.py.in
+++ b/compiler-rt/test/builtins/Unit/lit.site.cfg.py.in
@@ -6,6 +6,8 @@ config.target_cflags = "@BUILTINS_TEST_TARGET_CFLAGS@"
config.target_arch = "@BUILTINS_TEST_TARGET_ARCH@"
config.is_msvc = @MSVC_PYBOOL@
config.builtins_is_msvc = @BUILTINS_IS_MSVC_PYBOOL@
+config.builtins_lit_source_features = "@BUILTINS_LIT_SOURCE_FEATURES@"
+
# Load common config for all compiler-rt lit tests.
lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")
diff --git a/compiler-rt/test/builtins/Unit/lshrdi3_test.c b/compiler-rt/test/builtins/Unit/lshrdi3_test.c
index 791980b0f24..3e3c4b63452 100644
--- a/compiler-rt/test/builtins/Unit/lshrdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/lshrdi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_lshrdi3
//===-- lshrdi3_test.c - Test __lshrdi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/lshrti3_test.c b/compiler-rt/test/builtins/Unit/lshrti3_test.c
index c1643770847..d24e090928e 100644
--- a/compiler-rt/test/builtins/Unit/lshrti3_test.c
+++ b/compiler-rt/test/builtins/Unit/lshrti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_lshrti3
// REQUIRES: int128
//===-- lshrti3_test.c - Test __lshrti3 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/ltdf2vfp_test.c b/compiler-rt/test/builtins/Unit/ltdf2vfp_test.c
index 89a719d90f4..4bfe4cfdc6c 100644
--- a/compiler-rt/test/builtins/Unit/ltdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/ltdf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ltdf2vfp
//===-- ltdf2vfp_test.c - Test __ltdf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/ltsf2vfp_test.c b/compiler-rt/test/builtins/Unit/ltsf2vfp_test.c
index d286ac09bb3..d7a8d2dd030 100644
--- a/compiler-rt/test/builtins/Unit/ltsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/ltsf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ltsf2vfp
//===-- ltsf2vfp_test.c - Test __ltsf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/lttf2_test.c b/compiler-rt/test/builtins/Unit/lttf2_test.c
index c57c5d76dd2..0f3ea9e6747 100644
--- a/compiler-rt/test/builtins/Unit/lttf2_test.c
+++ b/compiler-rt/test/builtins/Unit/lttf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparetf2
//===------------ lttf2_test.c - Test __lttf2------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/moddi3_test.c b/compiler-rt/test/builtins/Unit/moddi3_test.c
index 02face1b983..e729c18cf8d 100644
--- a/compiler-rt/test/builtins/Unit/moddi3_test.c
+++ b/compiler-rt/test/builtins/Unit/moddi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_moddi3
//===-- moddi3_test.c - Test __moddi3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/modsi3_test.c b/compiler-rt/test/builtins/Unit/modsi3_test.c
index bab944476f1..538a31b5aa4 100644
--- a/compiler-rt/test/builtins/Unit/modsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/modsi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_modsi3
/* ===-- modsi3_test.c - Test __modsi3 -------------------------------------===
*
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/modti3_test.c b/compiler-rt/test/builtins/Unit/modti3_test.c
index 22b4483adc6..edbc857647f 100644
--- a/compiler-rt/test/builtins/Unit/modti3_test.c
+++ b/compiler-rt/test/builtins/Unit/modti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_modti3
// REQUIRES: int128
//===-- modti3_test.c - Test __modti3 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/muldc3_test.c b/compiler-rt/test/builtins/Unit/muldc3_test.c
index 855a05f0c86..7eb5ed66427 100644
--- a/compiler-rt/test/builtins/Unit/muldc3_test.c
+++ b/compiler-rt/test/builtins/Unit/muldc3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
+// REQUIRES: librt_has_muldc3
//===-- muldc3_test.c - Test __muldc3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/muldf3vfp_test.c b/compiler-rt/test/builtins/Unit/muldf3vfp_test.c
index 7022906b213..b8c78597317 100644
--- a/compiler-rt/test/builtins/Unit/muldf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/muldf3vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_muldf3vfp
//===-- muldf3vfp_test.c - Test __muldf3vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/muldi3_test.c b/compiler-rt/test/builtins/Unit/muldi3_test.c
index c4eaf04370a..bb79149c065 100644
--- a/compiler-rt/test/builtins/Unit/muldi3_test.c
+++ b/compiler-rt/test/builtins/Unit/muldi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_muldi3
//===-- muldi3_test.c - Test __muldi3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/mulodi4_test.c b/compiler-rt/test/builtins/Unit/mulodi4_test.c
index d3d46ad381f..e8654e1c3b5 100644
--- a/compiler-rt/test/builtins/Unit/mulodi4_test.c
+++ b/compiler-rt/test/builtins/Unit/mulodi4_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_mulodi4
//===-- mulodi4_test.c - Test __mulodi4 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/mulosi4_test.c b/compiler-rt/test/builtins/Unit/mulosi4_test.c
index 4e90fb7a38a..f653fe4a957 100644
--- a/compiler-rt/test/builtins/Unit/mulosi4_test.c
+++ b/compiler-rt/test/builtins/Unit/mulosi4_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_mulosi4
//===-- mulosi4_test.c - Test __mulosi4 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/muloti4_test.c b/compiler-rt/test/builtins/Unit/muloti4_test.c
index d13a977580c..987e0af39e0 100644
--- a/compiler-rt/test/builtins/Unit/muloti4_test.c
+++ b/compiler-rt/test/builtins/Unit/muloti4_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_muloti4
// REQUIRES: int128
//===-- muloti4_test.c - Test __muloti4 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/mulsc3_test.c b/compiler-rt/test/builtins/Unit/mulsc3_test.c
index 0a4b9294559..01ce255293e 100644
--- a/compiler-rt/test/builtins/Unit/mulsc3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulsc3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
+// REQUIRES: librt_has_mulsc3
//===-- mulsc3_test.c - Test __mulsc3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/mulsf3vfp_test.c b/compiler-rt/test/builtins/Unit/mulsf3vfp_test.c
index 464e9f12600..b771befaac2 100644
--- a/compiler-rt/test/builtins/Unit/mulsf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/mulsf3vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_mulsf3vfp
//===-- mulsf3vfp_test.c - Test __mulsf3vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/multc3_test.c b/compiler-rt/test/builtins/Unit/multc3_test.c
index 8112605077a..125fa20ffaf 100644
--- a/compiler-rt/test/builtins/Unit/multc3_test.c
+++ b/compiler-rt/test/builtins/Unit/multc3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_multc3
//===-- multc3_test.c - Test __multc3 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/multf3_test.c b/compiler-rt/test/builtins/Unit/multf3_test.c
index c821799bc5c..4dccfd9d6c6 100644
--- a/compiler-rt/test/builtins/Unit/multf3_test.c
+++ b/compiler-rt/test/builtins/Unit/multf3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_multf3
//===--------------- multf3_test.c - Test __multf3 ------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/multi3_test.c b/compiler-rt/test/builtins/Unit/multi3_test.c
index 52516cde67f..6e3fb1b3610 100644
--- a/compiler-rt/test/builtins/Unit/multi3_test.c
+++ b/compiler-rt/test/builtins/Unit/multi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_multi3
// REQUIRES: int128
//===-- multi3_test.c - Test __multi3 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/mulvdi3_test.c b/compiler-rt/test/builtins/Unit/mulvdi3_test.c
index 5b0c3cbe47b..81bd4b2a914 100644
--- a/compiler-rt/test/builtins/Unit/mulvdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulvdi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_mulvdi3
//===-- mulvdi3_test.c - Test __mulvdi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/mulvsi3_test.c b/compiler-rt/test/builtins/Unit/mulvsi3_test.c
index 3e38a8826e9..f1ef8b12bdb 100644
--- a/compiler-rt/test/builtins/Unit/mulvsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulvsi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_mulvsi3
//===-- mulvsi3_test.c - Test __mulvsi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/mulvti3_test.c b/compiler-rt/test/builtins/Unit/mulvti3_test.c
index 9afe3c81ff4..9cb86d75681 100644
--- a/compiler-rt/test/builtins/Unit/mulvti3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulvti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_mulvti3
// REQUIRES: int128
//===-- mulvti3_test.c - Test __mulvti3 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/mulxc3_test.c b/compiler-rt/test/builtins/Unit/mulxc3_test.c
index 8458daf52fe..5937b6c85e0 100644
--- a/compiler-rt/test/builtins/Unit/mulxc3_test.c
+++ b/compiler-rt/test/builtins/Unit/mulxc3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
+// REQUIRES: librt_has_mulxc3
// UNSUPPORTED: powerpc64
// REQUIRES: x86-target-arch
//===-- mulxc3_test.c - Test __mulxc3 -------------------------------------===//
diff --git a/compiler-rt/test/builtins/Unit/nedf2vfp_test.c b/compiler-rt/test/builtins/Unit/nedf2vfp_test.c
index b6f0f4ade42..28ed2206cc1 100644
--- a/compiler-rt/test/builtins/Unit/nedf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/nedf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_nedf2vfp
//===-- nedf2vfp_test.c - Test __nedf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/negdf2vfp_test.c b/compiler-rt/test/builtins/Unit/negdf2vfp_test.c
index 221452ebf1d..c90c26e4f3c 100644
--- a/compiler-rt/test/builtins/Unit/negdf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/negdf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_negdf2vfp
//===-- negdf2vfp_test.c - Test __negdf2vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/negdi2_test.c b/compiler-rt/test/builtins/Unit/negdi2_test.c
index 77386882da1..7f47d845ce5 100644
--- a/compiler-rt/test/builtins/Unit/negdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/negdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_negdi2
//===-- negdi2_test.c - Test __negdi2 -------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/negsf2vfp_test.c b/compiler-rt/test/builtins/Unit/negsf2vfp_test.c
index 72b990f1c1a..3f5955bf756 100644
--- a/compiler-rt/test/builtins/Unit/negsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/negsf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_negsf2vfp
//===-- negsf2vfp_test.c - Test __negsf2vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/negti2_test.c b/compiler-rt/test/builtins/Unit/negti2_test.c
index 45533d07016..43bacc4fbd8 100644
--- a/compiler-rt/test/builtins/Unit/negti2_test.c
+++ b/compiler-rt/test/builtins/Unit/negti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_negti2
// REQUIRES: int128
//===-- negti2_test.c - Test __negti2 -------------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/negvdi2_test.c b/compiler-rt/test/builtins/Unit/negvdi2_test.c
index f6e70c800fa..9e79dcbe699 100644
--- a/compiler-rt/test/builtins/Unit/negvdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/negvdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_negvdi2
//===-- negvdi2_test.c - Test __negvdi2 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/negvsi2_test.c b/compiler-rt/test/builtins/Unit/negvsi2_test.c
index 437ba880881..96863211ac9 100644
--- a/compiler-rt/test/builtins/Unit/negvsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/negvsi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_negvsi2
//===-- negvsi2_test.c - Test __negvsi2 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/negvti2_test.c b/compiler-rt/test/builtins/Unit/negvti2_test.c
index fd2ee25a05d..a6572844239 100644
--- a/compiler-rt/test/builtins/Unit/negvti2_test.c
+++ b/compiler-rt/test/builtins/Unit/negvti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_negvti2
// REQUIRES: int128
//===-- negvti2_test.c - Test __negvti2 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/nesf2vfp_test.c b/compiler-rt/test/builtins/Unit/nesf2vfp_test.c
index dca50c781c2..f66813e9605 100644
--- a/compiler-rt/test/builtins/Unit/nesf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/nesf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_nesf2vfp
//===-- nesf2vfp_test.c - Test __nesf2vfp ---------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/netf2_test.c b/compiler-rt/test/builtins/Unit/netf2_test.c
index 75114979ea2..eeeff01ef09 100644
--- a/compiler-rt/test/builtins/Unit/netf2_test.c
+++ b/compiler-rt/test/builtins/Unit/netf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparetf2
//===------------ netf2_test.c - Test __netf2------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/paritydi2_test.c b/compiler-rt/test/builtins/Unit/paritydi2_test.c
index ac5e4727169..e4b663e7c8e 100644
--- a/compiler-rt/test/builtins/Unit/paritydi2_test.c
+++ b/compiler-rt/test/builtins/Unit/paritydi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_paritydi2
//===-- paritydi2_test.c - Test __paritydi2 -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/paritysi2_test.c b/compiler-rt/test/builtins/Unit/paritysi2_test.c
index f650b566160..b59335ddce8 100644
--- a/compiler-rt/test/builtins/Unit/paritysi2_test.c
+++ b/compiler-rt/test/builtins/Unit/paritysi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_paritysi2
//===-- paritysi2_test.c - Test __paritysi2 -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/parityti2_test.c b/compiler-rt/test/builtins/Unit/parityti2_test.c
index 2a1b654f904..4c9317d0b26 100644
--- a/compiler-rt/test/builtins/Unit/parityti2_test.c
+++ b/compiler-rt/test/builtins/Unit/parityti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_parityti2
// REQUIRES: int128
//===-- parityti2_test.c - Test __parityti2 -------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/popcountdi2_test.c b/compiler-rt/test/builtins/Unit/popcountdi2_test.c
index 1d0eaee3c38..5bec9ce9d15 100644
--- a/compiler-rt/test/builtins/Unit/popcountdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/popcountdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_popcountdi2
//===-- popcountdi2_test.c - Test __popcountdi2 ----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/popcountsi2_test.c b/compiler-rt/test/builtins/Unit/popcountsi2_test.c
index 4ab3499e9bc..ba80fa8825b 100644
--- a/compiler-rt/test/builtins/Unit/popcountsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/popcountsi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_popcountsi2
//===-- popcountsi2_test.c - Test __popcountsi2 ---------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/popcountti2_test.c b/compiler-rt/test/builtins/Unit/popcountti2_test.c
index 4e32ba747ce..58e0169fb32 100644
--- a/compiler-rt/test/builtins/Unit/popcountti2_test.c
+++ b/compiler-rt/test/builtins/Unit/popcountti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_popcountti2
// REQUIRES: int128
//===-- popcountti2_test.c - Test __popcountti2 ----------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/powidf2_test.c b/compiler-rt/test/builtins/Unit/powidf2_test.c
index 6bdca08996f..f4c248f1326 100644
--- a/compiler-rt/test/builtins/Unit/powidf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powidf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_powidf2
//===-- powidf2_test.cpp - Test __powidf2 ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/powisf2_test.c b/compiler-rt/test/builtins/Unit/powisf2_test.c
index f344f0833d5..62449d933cd 100644
--- a/compiler-rt/test/builtins/Unit/powisf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powisf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_powisf2
//===-- powisf2_test.cpp - Test __powisf2 ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/powitf2_test.c b/compiler-rt/test/builtins/Unit/powitf2_test.c
index 0850d77d7b5..70bc6dae0d2 100644
--- a/compiler-rt/test/builtins/Unit/powitf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powitf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_powitf2
//===-- powitf2_test.cpp - Test __powitf2 ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/powixf2_test.c b/compiler-rt/test/builtins/Unit/powixf2_test.c
index 03a157fc620..0e8798aaa8c 100644
--- a/compiler-rt/test/builtins/Unit/powixf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powixf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_powixf2
// UNSUPPORTED: powerpc64
// REQUIRES: x86-target-arch
//===-- powixf2_test.cpp - Test __powixf2 ---------------------------------===//
diff --git a/compiler-rt/test/builtins/Unit/subdf3vfp_test.c b/compiler-rt/test/builtins/Unit/subdf3vfp_test.c
index afaaca804c6..7560370cfa2 100644
--- a/compiler-rt/test/builtins/Unit/subdf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/subdf3vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_subdf3vfp
//===-- subdf3vfp_test.c - Test __subdf3vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/subsf3vfp_test.c b/compiler-rt/test/builtins/Unit/subsf3vfp_test.c
index d93df6bdcb8..b0a2ced61ba 100644
--- a/compiler-rt/test/builtins/Unit/subsf3vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/subsf3vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_subsf3vfp
//===-- subsf3vfp_test.c - Test __subsf3vfp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/subtf3_test.c b/compiler-rt/test/builtins/Unit/subtf3_test.c
index 4953d1ceb63..b95f2ef996d 100644
--- a/compiler-rt/test/builtins/Unit/subtf3_test.c
+++ b/compiler-rt/test/builtins/Unit/subtf3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_subtf3
//===--------------- subtf3_test.c - Test __subtf3 ------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/subvdi3_test.c b/compiler-rt/test/builtins/Unit/subvdi3_test.c
index 04febf95c23..768428f67d2 100644
--- a/compiler-rt/test/builtins/Unit/subvdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/subvdi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_subvdi3
//===-- subvdi3_test.c - Test __subvdi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/subvsi3_test.c b/compiler-rt/test/builtins/Unit/subvsi3_test.c
index fc8898ecdce..6541473b5fd 100644
--- a/compiler-rt/test/builtins/Unit/subvsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/subvsi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_subvsi3
//===-- subvsi3_test.c - Test __subvsi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/subvti3_test.c b/compiler-rt/test/builtins/Unit/subvti3_test.c
index 9db96746990..aef66b93f73 100644
--- a/compiler-rt/test/builtins/Unit/subvti3_test.c
+++ b/compiler-rt/test/builtins/Unit/subvti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_subvti3
// REQUIRES: int128
//===-- subvti3_test.c - Test __subvti3 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/trampoline_setup_test.c b/compiler-rt/test/builtins/Unit/trampoline_setup_test.c
index 316d7cce856..9cde76526b6 100644
--- a/compiler-rt/test/builtins/Unit/trampoline_setup_test.c
+++ b/compiler-rt/test/builtins/Unit/trampoline_setup_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -fnested-functions -o %t && %run %t
+// REQUIRES: librt_has_trampoline_setup
/* ===-- trampoline_setup_test.c - Test __trampoline_setup -----------------===
*
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/truncdfhf2_test.c b/compiler-rt/test/builtins/Unit/truncdfhf2_test.c
index 1b09fef78dc..5d49a742779 100644
--- a/compiler-rt/test/builtins/Unit/truncdfhf2_test.c
+++ b/compiler-rt/test/builtins/Unit/truncdfhf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_truncdfhf2
//===--------------- truncdfhf2_test.c - Test __truncdfhf2 ----------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/truncdfsf2_test.c b/compiler-rt/test/builtins/Unit/truncdfsf2_test.c
index 6c8f119484e..32972dabd87 100644
--- a/compiler-rt/test/builtins/Unit/truncdfsf2_test.c
+++ b/compiler-rt/test/builtins/Unit/truncdfsf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_truncdfsf2
//===--------------- truncdfsf2_test.c - Test __truncdfsf2 ----------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c b/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
index 0e52d3419ee..44291453f94 100644
--- a/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_truncdfsf2vfp
//===-- truncdfsf2vfp_test.c - Test __truncdfsf2vfp -----------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/truncsfhf2_test.c b/compiler-rt/test/builtins/Unit/truncsfhf2_test.c
index f6f3fc2ec48..4312b8946ca 100644
--- a/compiler-rt/test/builtins/Unit/truncsfhf2_test.c
+++ b/compiler-rt/test/builtins/Unit/truncsfhf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_truncsfhf2
//===--------------- truncsfhf2_test.c - Test __truncsfhf2 ----------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/trunctfdf2_test.c b/compiler-rt/test/builtins/Unit/trunctfdf2_test.c
index ae372be84d1..8289622a30e 100644
--- a/compiler-rt/test/builtins/Unit/trunctfdf2_test.c
+++ b/compiler-rt/test/builtins/Unit/trunctfdf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_trunctfdf2
//===-------------- trunctfdf2_test.c - Test __trunctfdf2 -----------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/trunctfsf2_test.c b/compiler-rt/test/builtins/Unit/trunctfsf2_test.c
index 3f350e62175..9d0d8b1151a 100644
--- a/compiler-rt/test/builtins/Unit/trunctfsf2_test.c
+++ b/compiler-rt/test/builtins/Unit/trunctfsf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_trunctfsf2
//===--------------- trunctfsf2_test.c - Test __trunctfsf2 ----------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ucmpdi2_test.c b/compiler-rt/test/builtins/Unit/ucmpdi2_test.c
index 6faaac1d20b..9cf64d8c43f 100644
--- a/compiler-rt/test/builtins/Unit/ucmpdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ucmpdi2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ucmpdi2
//===-- ucmpdi2_test.c - Test __ucmpdi2 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/ucmpti2_test.c b/compiler-rt/test/builtins/Unit/ucmpti2_test.c
index 71db5df2322..db61b949ba6 100644
--- a/compiler-rt/test/builtins/Unit/ucmpti2_test.c
+++ b/compiler-rt/test/builtins/Unit/ucmpti2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_ucmpti2
// REQUIRES: int128
//===-- ucmpti2_test.c - Test __ucmpti2 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/udivdi3_test.c b/compiler-rt/test/builtins/Unit/udivdi3_test.c
index bfdd1db13a3..3bd6a887ea9 100644
--- a/compiler-rt/test/builtins/Unit/udivdi3_test.c
+++ b/compiler-rt/test/builtins/Unit/udivdi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_udivdi3
//===-- udivdi3_test.c - Test __udivdi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/udivmoddi4_test.c b/compiler-rt/test/builtins/Unit/udivmoddi4_test.c
index 278b29abca2..2cc05add3e1 100644
--- a/compiler-rt/test/builtins/Unit/udivmoddi4_test.c
+++ b/compiler-rt/test/builtins/Unit/udivmoddi4_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_udivmoddi4
//===-- udivmoddi4_test.c - Test __udivmoddi4 -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/udivmodsi4_test.c b/compiler-rt/test/builtins/Unit/udivmodsi4_test.c
index b390796a482..0e582549c96 100644
--- a/compiler-rt/test/builtins/Unit/udivmodsi4_test.c
+++ b/compiler-rt/test/builtins/Unit/udivmodsi4_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_udivmodsi4
//===-- udivmodsi4_test.c - Test __udivmodsi4 -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/udivmodti4_test.c b/compiler-rt/test/builtins/Unit/udivmodti4_test.c
index d022759dbef..602fd9e1194 100644
--- a/compiler-rt/test/builtins/Unit/udivmodti4_test.c
+++ b/compiler-rt/test/builtins/Unit/udivmodti4_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_udivmodti4
// REQUIRES: int128
//===-- udivmodti4_test.c - Test __udivmodti4 -----------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/udivsi3_test.c b/compiler-rt/test/builtins/Unit/udivsi3_test.c
index f4249f5d196..4ac727941f6 100644
--- a/compiler-rt/test/builtins/Unit/udivsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/udivsi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_udivsi3
//===-- udivsi3_test.c - Test __udivsi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/udivti3_test.c b/compiler-rt/test/builtins/Unit/udivti3_test.c
index ae64123380e..8cb4ac19e03 100644
--- a/compiler-rt/test/builtins/Unit/udivti3_test.c
+++ b/compiler-rt/test/builtins/Unit/udivti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_udivti3
// REQUIRES: int128
//===-- udivti3_test.c - Test __udivti3 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/umoddi3_test.c b/compiler-rt/test/builtins/Unit/umoddi3_test.c
index 5c79e56a75d..567c8e54499 100644
--- a/compiler-rt/test/builtins/Unit/umoddi3_test.c
+++ b/compiler-rt/test/builtins/Unit/umoddi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_umoddi3
//===-- umoddi3_test.c - Test __umoddi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/umodsi3_test.c b/compiler-rt/test/builtins/Unit/umodsi3_test.c
index 2ff1f9e79de..e49fa8d7228 100644
--- a/compiler-rt/test/builtins/Unit/umodsi3_test.c
+++ b/compiler-rt/test/builtins/Unit/umodsi3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_umodsi3
//===-- umodsi3_test.c - Test __umodsi3 -----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
diff --git a/compiler-rt/test/builtins/Unit/umodti3_test.c b/compiler-rt/test/builtins/Unit/umodti3_test.c
index 0f9317599bc..5bbe1c3c1bb 100644
--- a/compiler-rt/test/builtins/Unit/umodti3_test.c
+++ b/compiler-rt/test/builtins/Unit/umodti3_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_umodti3
// REQUIRES: int128
//===-- umodti3_test.c - Test __umodti3 -----------------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/unorddf2vfp_test.c b/compiler-rt/test/builtins/Unit/unorddf2vfp_test.c
index 128c1d81fb2..a04703e5986 100644
--- a/compiler-rt/test/builtins/Unit/unorddf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/unorddf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_unorddf2vfp
//===-- unorddf2vfp_test.c - Test __unorddf2vfp ---------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/unordsf2vfp_test.c b/compiler-rt/test/builtins/Unit/unordsf2vfp_test.c
index 94f06d84121..c3050a402e9 100644
--- a/compiler-rt/test/builtins/Unit/unordsf2vfp_test.c
+++ b/compiler-rt/test/builtins/Unit/unordsf2vfp_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_unordsf2vfp
//===-- unordsf2vfp_test.c - Test __unordsf2vfp ---------------------------===//
//
diff --git a/compiler-rt/test/builtins/Unit/unordtf2_test.c b/compiler-rt/test/builtins/Unit/unordtf2_test.c
index 8f5b1100493..fa4bf7ebf0b 100644
--- a/compiler-rt/test/builtins/Unit/unordtf2_test.c
+++ b/compiler-rt/test/builtins/Unit/unordtf2_test.c
@@ -1,4 +1,5 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
+// REQUIRES: librt_has_comparetf2
//===------------ unordtf2_test.c - Test __unordtf2------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
OpenPOWER on IntegriCloud