summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/builtins/Unit/arm
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/test/builtins/Unit/arm')
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c3
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c4
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c3
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c4
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c2
-rw-r--r--compiler-rt/test/builtins/Unit/arm/call_apsr.S8
10 files changed, 28 insertions, 4 deletions
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c
index ce8b0a4313f..0d9e006f019 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c
@@ -1,3 +1,6 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %arm_call_apsr -o %t.aspr.o
+// RUN: %clang_builtins %s %t.aspr.o %librt -o %t && %run %t
//===-- aeabi_cdcmpeq.c - Test __aeabi_cdcmpeq ----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c
index afc70149369..e499bf85a13 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_cdcmple_test.c
@@ -1,3 +1,7 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %arm_call_apsr -o %t.aspr.o
+// RUN: %clang_builtins %s %t.aspr.o %librt -o %t && %run %t
+
//===-- aeabi_cdcmple.c - Test __aeabi_cdcmple and __aeabi_cdrcmple -------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c
index fe0166485e6..72a556ca772 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c
@@ -1,3 +1,6 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %arm_call_apsr -o %t.aspr.o
+// RUN: %clang_builtins %s %t.aspr.o %librt -o %t && %run %t
//===-- aeabi_cfcmpeq.c - Test __aeabi_cfcmpeq ----------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c
index aebe4257e29..a09aead6bdc 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_cfcmple_test.c
@@ -1,3 +1,7 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %arm_call_apsr -o %t.aspr.o
+// RUN: %clang_builtins %s %t.aspr.o %librt -o %t && %run %t
+
//===-- aeabi_cfcmple.c - Test __aeabi_cfcmple and __aeabi_cfrcmple -------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c
index 7d867ef2c95..8bd04a9898b 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_drsub_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_drsub.c - Test __aeabi_drsub --------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c
index b8b21b96e3b..3d301616aed 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_frsub_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_frsub.c - Test __aeabi_frsub --------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
index c732e4ba439..ac1804694d7 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_idivmod_test.c - Test __aeabi_idivmod -----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
index 81d5e0e1f8f..9ac51da5980 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_uidivmod_test.c - Test __aeabi_uidivmod ---------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c b/compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
index f629d6b4d2c..a40f006fa69 100644
--- a/compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
+++ b/compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
@@ -1,3 +1,5 @@
+// REQUIRES-ANY: arm-target-arch,armv6m-target-arch
+// RUN: %clang_builtins %s %librt -o %t && %run %t
//===-- aeabi_uldivmod_test.c - Test aeabi_uldivmod -----------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/compiler-rt/test/builtins/Unit/arm/call_apsr.S b/compiler-rt/test/builtins/Unit/arm/call_apsr.S
index b5e154cff31..2656f8de667 100644
--- a/compiler-rt/test/builtins/Unit/arm/call_apsr.S
+++ b/compiler-rt/test/builtins/Unit/arm/call_apsr.S
@@ -22,11 +22,11 @@
// }
DEFINE_COMPILERRT_PRIVATE_FUNCTION(call_apsr_d)
- push {lr}
- ldr ip, [sp, #4]
- blx ip
+ push {r7, lr}
+ ldr r7, [sp, #8]
+ blx r7
mrs r0, apsr
- pop {pc}
+ pop {r7, pc}
END_COMPILERRT_FUNCTION(call_apsr_d)
// __attribute__((pcs("aapcs")))
OpenPOWER on IntegriCloud