THe attached patch improves checking of teh results of the
subtests "a" and "f". As they share the same "vone" instruction,
the duplicate scan-assembler-times was bogus. Moved "f" to a
separate function to fix this. Also double check that no extra
"vgmf" instructions are used.
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt
IBM Germany
gcc/testsuite/ChangeLog
* gcc.target/s390/zvector/vec-genmask-1.c: Improve result verification.
>From 6750201c2b594bbbdce9abb14a3e1944806c425d Mon Sep 17 00:00:00 2001
From: Dominik Vogt <[email protected]>
Date: Thu, 18 Aug 2016 09:52:40 +0100
Subject: [PATCH] S/390: Improve result verification in test case
vec-genmask-1.c.
---
.../gcc.target/s390/zvector/vec-genmask-1.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/gcc/testsuite/gcc.target/s390/zvector/vec-genmask-1.c
b/gcc/testsuite/gcc.target/s390/zvector/vec-genmask-1.c
index 745c1ed..0e57b8d 100644
--- a/gcc/testsuite/gcc.target/s390/zvector/vec-genmask-1.c
+++ b/gcc/testsuite/gcc.target/s390/zvector/vec-genmask-1.c
@@ -14,11 +14,19 @@ foo ()
c = vec_genmasks_32 (31, 31);
d = vec_genmasks_32 (5, 5);
e = vec_genmasks_32 (31, 0);
+}
+
+int
+bar ()
+{
+ /* Needs to be in a separate function so that the vone from "a" is not reused
+ for "f". */
f = vec_genmasks_32 (6, 5);
}
-/* { dg-final { scan-assembler-times "vone" 1 } } */
-/* { dg-final { scan-assembler-times "vgmf\t%v.*,0,0" 1 } } */
-/* { dg-final { scan-assembler-times "vgmf\t%v.*,31,31" 1 } } */
-/* { dg-final { scan-assembler-times "vgmf\t%v.*,5,5" 1 } } */
-/* { dg-final { scan-assembler-times "vgmf\t%v.*,31,0" 1 } } */
-/* { dg-final { scan-assembler-times "vone" 1 } } */
+
+/* a + f: { dg-final { scan-assembler-times "vone" 2 } } */
+/* b: { dg-final { scan-assembler-times "vgmf\t%v.*,0,0" 1 } } */
+/* c: { dg-final { scan-assembler-times "vgmf\t%v.*,31,31" 1 } } */
+/* d: { dg-final { scan-assembler-times "vgmf\t%v.*,5,5" 1 } } */
+/* e: { dg-final { scan-assembler-times "vgmf\t%v.*,31,0" 1 } } */
+/* b - e: { dg-final { scan-assembler-times "vgmf" 4 } } */
--
2.3.0