aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitar Dimitrov <dimitar@dinux.eu>2018-06-22 06:35:42 +0300
committerDimitar Dimitrov <dimitar@dinux.eu>2020-05-05 20:42:57 +0300
commit931dfb70abce3d979b8fa81e3b7c7dfcfecb0cd4 (patch)
treeeb41c2cc040b57ff00e5709c5acb646adfb04c8f
parent09d8b020dbcbfd50e4ed1ee8681a191572288ebd (diff)
downloadgcc-931dfb70abce3d979b8fa81e3b7c7dfcfecb0cd4.zip
gcc-931dfb70abce3d979b8fa81e3b7c7dfcfecb0cd4.tar.gz
gcc-931dfb70abce3d979b8fa81e3b7c7dfcfecb0cd4.tar.bz2
testsuite: pru: Add clobber test
gcc/testsuite/ChangeLog: 2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu> * gcc.target/pru/clobber-sp.c: New test. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/pru/clobber-sp.c24
2 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 092eab6..97a1ad5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu>
+ * gcc.target/pru/clobber-sp.c: New test.
+
+2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu>
+
* gcc.target/pru/lra-framepointer-fragmentation-1.c: Update test to
take into account additional available registers.
* gcc.target/pru/lra-framepointer-fragmentation-2.c: Ditto.
diff --git a/gcc/testsuite/gcc.target/pru/clobber-sp.c b/gcc/testsuite/gcc.target/pru/clobber-sp.c
new file mode 100644
index 0000000..3cc0a60
--- /dev/null
+++ b/gcc/testsuite/gcc.target/pru/clobber-sp.c
@@ -0,0 +1,24 @@
+/* Test inline ASM clobber for SP register */
+
+/* { dg-do compile } */
+/* { dg-options "-O1" } */
+
+/* -O1 in the options is significant. */
+
+extern void abort (void);
+
+int
+test1 (void)
+{
+ int res;
+
+ /* { dg-warning "listing the stack pointer register 'sp' in a clobber list is deprecated" "" { target pru-*-* } .+2 } */
+ /* { dg-message "note: the value of the stack pointer after an 'asm' statement must be the same as it was before the statement" "" { target pru-*-* } .+1 } */
+ asm volatile(
+ "ldi %[res], 101 \n\t"
+ : [res] "=r" (res)
+ :
+ : "sp");
+
+ return res;
+}