From: xuli <xu...@eswincomputing.com>

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/rvv/base/cpymem-2.c: Fix checks.
---
 .../gcc.target/riscv/rvv/base/cpymem-2.c      | 44 ++++++++++++++-----
 1 file changed, 33 insertions(+), 11 deletions(-)

diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-2.c 
b/gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-2.c
index 7b706b6ef52..f1914a36161 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-2.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-2.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-additional-options "-O1" } */
+/* { dg-additional-options "-O1 -fno-schedule-insns -fno-schedule-insns2" } */
 /* { dg-add-options riscv_v } */
 /* { dg-final { check-function-bodies "**" "" } } */
 
@@ -8,23 +8,38 @@ typedef struct { char c[32]; } c32;
 typedef struct { short s; char c[30]; } s16;
 
 /* A short struct copy can use vsetivli.
-** f1:
-**     vsetivli\s+zero,16,e8,m1,ta,ma
+** f1: { target { no-opts "--param=riscv-autovec-preference=fixed-vlmax" } }
+**     vsetivli\s+zero,16,e8,m(1|f8|f2|f4),ta,ma
 **     vle8.v\s+v1,0\(a1\)
 **     vse8.v\s+v1,0\(a0\)
 **     ret
 */
+
+/*
+** f1: { target {  { any-opts "--param=riscv-autovec-preference=fixed-vlmax" } 
&& { no-opts "-march=rv64gcv_zvl1024b" "-march=rv64gcv_zvl256b" 
"-march=rv64gcv_zvl512b --param=riscv-autovec-lmul=dynamic" } } }
+**     vl1re8.v\s+v1,0\(a1\)
+**     vs1r.v\s+v1,0\(a0\)
+**     ret
+*/
+
 void f1 (c16 *a, c16* b)
 {
   *a = *b;
 }
 
 /* A longer one needs li.
-** f2:
+** f2: { target { no-opts "--param=riscv-autovec-preference=fixed-vlmax" } }
 **     li\s+[ta][0-7],32
-**     vsetvli\s+zero,[ta][0-7],e8,m2,ta,ma
-**     vle8.v\s+v2,0\(a1\)
-**     vse8.v\s+v2,0\(a0\)
+**     vsetvli\s+zero,[ta][0-7],e8,m(f4|f2|1|2|8),ta,ma
+**     vle8.v\s+v(1|2|8),0\(a1\)
+**     vse8.v\s+v(1|2|8),0\(a0\)
+**     ret
+*/
+
+/*
+** f2: { target {  { any-opts "--param=riscv-autovec-preference=fixed-vlmax" } 
&& { no-opts "-march=rv64gcv_zvl1024b" "-march=rv64gcv_zvl256b" 
"-march=rv64gcv_zvl512b --param=riscv-autovec-lmul=dynamic" } } }
+**     vl2re8.v\s+v2,0\(a1\)
+**     vs2r.v\s+v2,0\(a0\)
 **     ret
 */
 void f2 (c32 *a, c32* b)
@@ -34,10 +49,17 @@ void f2 (c32 *a, c32* b)
 
 /* A 32 byte struct is still short enough for vsetivli
    if we can use an element width larger than 8.
-** f3:
-**     vsetivli\s+zero,16,e16,m2,ta,ma
-**     vle16.v\s+v2,0\(a1\)
-**     vse16.v\s+v2,0\(a0\)
+** f3: { target { no-opts "--param=riscv-autovec-preference=fixed-vlmax" } }
+**     vsetivli\s+zero,16,e16,m(f2|f4|1|2|8),ta,ma
+**     vle16.v\s+v(1|2|8),0\(a1\)
+**     vse16.v\s+v(1|2|8),0\(a0\)
+**     ret
+*/
+
+/*
+** f3: { target {  { any-opts "--param=riscv-autovec-preference=fixed-vlmax" } 
&& { no-opts "-march=rv64gcv_zvl1024b" "-march=rv64gcv_zvl256b" 
"-march=rv64gcv_zvl512b --param=riscv-autovec-lmul=dynamic" } } }
+**     vl2re16.v\s+v2,0\(a1\)
+**     vs2r.v\s+v2,0\(a0\)
 **     ret
 */
 void f3 (s16 *a, s16* b)
-- 
2.17.1

Reply via email to