aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2020-12-05 18:26:25 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2020-12-05 18:26:25 +0000
commitda076a8b12c17b10cfe2e6a9c5ea84aa0a0f5ebf (patch)
tree4861f15e0377ca6e3b6689db1a327d98dea0e9e3 /gcc
parent65eee57a8cccc77a1bfd5ad5cde53460ad564124 (diff)
downloadgcc-da076a8b12c17b10cfe2e6a9c5ea84aa0a0f5ebf.zip
gcc-da076a8b12c17b10cfe2e6a9c5ea84aa0a0f5ebf.tar.gz
gcc-da076a8b12c17b10cfe2e6a9c5ea84aa0a0f5ebf.tar.bz2
VAX: Add tests for `sync_lock_test_and_set' and `sync_lock_release'
Based on gcc.dg/pr61756.c. gcc/testsuite/ * gcc.target/vax/bbcci.c: New test. * gcc.target/vax/bbssi.c: New test.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/vax/bbcci.c20
-rw-r--r--gcc/testsuite/gcc.target/vax/bbssi.c20
2 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/vax/bbcci.c b/gcc/testsuite/gcc.target/vax/bbcci.c
new file mode 100644
index 0000000..f58d3a7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/vax/bbcci.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+
+#include <stdatomic.h>
+
+extern volatile atomic_flag guard;
+
+void
+try_atomic_flag_clear (void)
+{
+ atomic_flag_clear (&guard);
+}
+
+/* Expect assembly like:
+
+ jbcci $0,guard,.L2
+.L2:
+
+ */
+
+/* { dg-final { scan-assembler "\tjbcci \\\$0,guard," } } */
diff --git a/gcc/testsuite/gcc.target/vax/bbssi.c b/gcc/testsuite/gcc.target/vax/bbssi.c
new file mode 100644
index 0000000..65111e9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/vax/bbssi.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+
+#include <stdatomic.h>
+
+extern volatile atomic_flag guard;
+
+void
+try_atomic_flag_test_and_set (void)
+{
+ atomic_flag_test_and_set (&guard);
+}
+
+/* Expect assembly like:
+
+ jbssi $0,guard,.L1
+.L1:
+
+ */
+
+/* { dg-final { scan-assembler "\tjbssi \\\$0,guard," } } */