summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/arm/long-calls-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.target/arm/long-calls-2.c')
-rw-r--r--gcc/testsuite/gcc.target/arm/long-calls-2.c46
1 files changed, 26 insertions, 20 deletions
diff --git a/gcc/testsuite/gcc.target/arm/long-calls-2.c b/gcc/testsuite/gcc.target/arm/long-calls-2.c
index c63f8abec3b..8ce2404c1f7 100644
--- a/gcc/testsuite/gcc.target/arm/long-calls-2.c
+++ b/gcc/testsuite/gcc.target/arm/long-calls-2.c
@@ -38,8 +38,14 @@ DO_TESTS_CALL_ATTR (weak_, EXTERN_CALL, weak)
DO_TESTS_CALL_ATTR (static_, STATIC_CALL,)
-/* Calls to remote_* should honor the call type sttribute,
- with "long" being the default. */
+/* Calls to remote_* should honor the call type attribute,
+ with "long" being the default.
+
+ In the regular expressions below:
+
+ * We allow both "b" and "bl" in some cases to allow for the
+ possibility of sibling calls. As of this writing, GCC does not
+ use sibling calls in Thumb-2 mode. */
/* { dg-final { scan-assembler-not "\tbl\tremote_n1\n" } } */
/* { dg-final { scan-assembler-not "\tbl\tremote_n2\n" } } */
@@ -59,26 +65,26 @@ DO_TESTS_CALL_ATTR (static_, STATIC_CALL,)
should be short. */
/* { dg-final { scan-assembler "\tbl\tstrong_n1\n" } } */
-/* { dg-final { scan-assembler "\tb\tstrong_n1\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstrong_n1\n" } } */
/* { dg-final { scan-assembler-not "\tbl\tstrong_n2\n" } } */
/* { dg-final { scan-assembler "\tbl\tstrong_n3\n" } } */
-/* { dg-final { scan-assembler "\tb\tstrong_n3\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstrong_n3\n" } } */
/* { dg-final { scan-assembler "\tbl\tstrong_l1\n" } } */
-/* { dg-final { scan-assembler "\tb\tstrong_l1\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstrong_l1\n" } } */
/* { dg-final { scan-assembler-not "\tbl?\tstrong_l2\n" } } */
/* { dg-final { scan-assembler "\tbl\tstrong_l3\n" } } */
-/* { dg-final { scan-assembler "\tb\tstrong_l3\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstrong_l3\n" } } */
/* { dg-final { scan-assembler "\tbl\tstrong_s1\n" } } */
-/* { dg-final { scan-assembler "\tb\tstrong_s1\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstrong_s1\n" } } */
/* { dg-final { scan-assembler "\tbl\tstrong_s2\n" } } */
-/* { dg-final { scan-assembler "\tb\tstrong_s2\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstrong_s2\n" } } */
/* { dg-final { scan-assembler "\tbl\tstrong_s3\n" } } */
-/* { dg-final { scan-assembler "\tb\tstrong_s3\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstrong_s3\n" } } */
-/* Calls to weak_* should honor the call type sttribute,
+/* Calls to weak_* should honor the call type attribute,
with "long" being the default. */
/* { dg-final { scan-assembler-not "\tbl?\tweak_n1\n" } } */
@@ -90,11 +96,11 @@ DO_TESTS_CALL_ATTR (static_, STATIC_CALL,)
/* { dg-final { scan-assembler-not "\tbl?\tweak_l3\n" } } */
/* { dg-final { scan-assembler "\tbl\tweak_s1\n" } } */
-/* { dg-final { scan-assembler "\tb\tweak_s1\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tweak_s1\n" } } */
/* { dg-final { scan-assembler "\tbl\tweak_s2\n" } } */
-/* { dg-final { scan-assembler "\tb\tweak_s2\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tweak_s2\n" } } */
/* { dg-final { scan-assembler "\tbl\tweak_s3\n" } } */
-/* { dg-final { scan-assembler "\tb\tweak_s3\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tweak_s3\n" } } */
/* Calls to static_*2 calls should honor the call type attribute,
@@ -102,20 +108,20 @@ DO_TESTS_CALL_ATTR (static_, STATIC_CALL,)
should be short. */
/* { dg-final { scan-assembler "\tbl\tstatic_n1\n" } } */
-/* { dg-final { scan-assembler "\tb\tstatic_n1\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstatic_n1\n" } } */
/* { dg-final { scan-assembler-not "\tbl?\tstatic_n2\n" } } */
/* { dg-final { scan-assembler "\tbl\tstatic_n3\n" } } */
-/* { dg-final { scan-assembler "\tb\tstatic_n3\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstatic_n3\n" } } */
/* { dg-final { scan-assembler "\tbl\tstatic_l1\n" } } */
-/* { dg-final { scan-assembler "\tb\tstatic_l1\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstatic_l1\n" } } */
/* { dg-final { scan-assembler-not "\tbl?\tstatic_l2\n" } } */
/* { dg-final { scan-assembler "\tbl\tstatic_l3\n" } } */
-/* { dg-final { scan-assembler "\tb\tstatic_l3\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstatic_l3\n" } } */
/* { dg-final { scan-assembler "\tbl\tstatic_s1\n" } } */
-/* { dg-final { scan-assembler "\tb\tstatic_s1\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstatic_s1\n" } } */
/* { dg-final { scan-assembler "\tbl\tstatic_s2\n" } } */
-/* { dg-final { scan-assembler "\tb\tstatic_s2\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstatic_s2\n" } } */
/* { dg-final { scan-assembler "\tbl\tstatic_s3\n" } } */
-/* { dg-final { scan-assembler "\tb\tstatic_s3\n" } } */
+/* { dg-final { scan-assembler "\tbl?\tstatic_s3\n" } } */