aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2020-02-10 17:42:58 +0100
committerHans-Peter Nilsson <hp@axis.com>2020-02-10 17:42:58 +0100
commitd50ecb8388162b8485619c4817f3f24fc0da3357 (patch)
tree7dd16cc4944c36c5160bb622576dfed539169ec4
parent7573521f46427d36a203f72794af7188ce04de88 (diff)
downloadgcc-d50ecb8388162b8485619c4817f3f24fc0da3357.zip
gcc-d50ecb8388162b8485619c4817f3f24fc0da3357.tar.gz
gcc-d50ecb8388162b8485619c4817f3f24fc0da3357.tar.bz2
gcc.target/cris/dbr-1.c: New test.
Random spotting. Exposes the missed benefit for delay-slot filling of a splitter for indexed addressing mode (the [rN+M] one). To be considered for common instructions and perhaps only for suitable M; at least +-63 is obvious (when there's a register available) as both the original and the add fit in delay-slots.
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.target/cris/dbr-1.c11
2 files changed, 15 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 69c564f..f81fd12 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -3,10 +3,9 @@
* gcc.target/cris/cris.exp (check_effective_target_cc0): New.
PR target/93372
- * gcc.target/cris/pr93372-1.c: New test.
- * gcc.target/cris/pr93372-2.c, gcc.target/cris/pr93372-5.c,
- gcc.target/cris/pr93372-8.c: New tests.
- * gcc.target/cris/pr93372-3.c, gcc.target/cris/pr93372-4.c,
+ * gcc.target/cris/pr93372-1.c, gcc.target/cris/pr93372-2.c,
+ gcc.target/cris/pr93372-5.c, gcc.target/cris/pr93372-8.c,
+ gcc.target/cris/pr93372-3.c, gcc.target/cris/pr93372-4.c,
gcc.target/cris/pr93372-6.c, gcc.target/cris/pr93372-7.c,
gcc.target/cris/pr93372-9.c, gcc.target/cris/pr93372-10.c,
gcc.target/cris/pr93372-11.c, gcc.target/cris/pr93372-12.c,
@@ -21,7 +20,7 @@
gcc.target/cris/pr93372-29.c, gcc.target/cris/pr93372-30.c,
gcc.target/cris/pr93372-31.c, gcc.target/cris/pr93372-32.c,
gcc.target/cris/pr93372-33.c, gcc.target/cris/pr93372-34.c,
- gcc.target/cris/pr93372-35.c: New tests.
+ gcc.target/cris/pr93372-35.c, gcc.target/cris/dbr-1.c: New tests.
2020-02-10 Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/testsuite/gcc.target/cris/dbr-1.c b/gcc/testsuite/gcc.target/cris/dbr-1.c
new file mode 100644
index 0000000..9f79a76
--- /dev/null
+++ b/gcc/testsuite/gcc.target/cris/dbr-1.c
@@ -0,0 +1,11 @@
+/* Check that delayed-branch-slot is able to fill a trivially fillable
+ slot. The xfail is due to the "move.d [$r10+4],$r10" not being split
+ up into "addq 4,$r10" and "move.d [$r10],$r10"; both slottable and of
+ the same actual cost in size and cycles as the unsplit insn. */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-final { scan-assembler-not "\tnop" { xfail *-*-* } } } */
+void *f(void **p)
+{
+ return p[1];
+}