aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackson Woodruff <jackson.woodruff@arm.com>2017-09-13 14:08:49 +0000
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>2017-09-13 14:08:49 +0000
commit1cb656f82c5d03ce40495bbe59111ac3cc26b713 (patch)
treebe9a908a98ee32fe0ca2cbaed13459fc5b876bfa
parentd0dda804153175636ebe0f2850263c8825b6d791 (diff)
downloadgcc-1cb656f82c5d03ce40495bbe59111ac3cc26b713.zip
gcc-1cb656f82c5d03ce40495bbe59111ac3cc26b713.tar.gz
gcc-1cb656f82c5d03ce40495bbe59111ac3cc26b713.tar.bz2
[Aarch64, Patch] Update failing testcase pr62178.c
This patch changes pr62178.c so that it now scans for two `ldr`s, one into an `s` register, instead of a `ld1r` as before. Also add a scan for an mla instruction. The `ld1r` was needed when this should have generated a mla by vector. Now that we can generate an mla by element instruction and can load directly into the simd register, it is cheaper to not do the ld1r which needlessly duplicates the single element used across the whole vector register. Committed on behalf of Jackson Woodruff gcc/testsuite/ * gcc.target/aarch64/pr62178.c: Updated testcase to scan for two ldrs and an mla. From-SVN: r252086
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pr62178.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 55a9720..4b57651 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-09-13 Jackson Woodruff <jackson.woodruff@arm.com>
+
+ * gcc.target/aarch64/pr62178.c: Updated testcase
+ to scan for two ldrs and an mla.
+
2017-09-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59949
diff --git a/gcc/testsuite/gcc.target/aarch64/pr62178.c b/gcc/testsuite/gcc.target/aarch64/pr62178.c
index b80ce68..1bf6d83 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr62178.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr62178.c
@@ -14,4 +14,6 @@ void foo (void) {
}
}
-/* { dg-final { scan-assembler "ld1r\\t\{v\[0-9\]+\."} } */
+/* { dg-final { scan-assembler "ldr\\ts\[0-9\]+, \\\[x\[0-9\]+, \[0-9\]+\\\]!" } } */
+/* { dg-final { scan-assembler "ldr\\tq\[0-9\]+, \\\[x\[0-9\]+\\\], \[0-9\]+" } } */
+/* { dg-final { scan-assembler "mla\\tv\[0-9\]+\.4s, v\[0-9\]+\.4s, v\[0-9\]+\.s\\\[0\\\]" } } */