diff options
Diffstat (limited to 'compiler-rt/test/builtins/Unit/arm')
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"))) |

