This little path fix a failed testcase when use -cmodel=medany.

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/rvv/base/cpymem-1.c: Split check.

---
 gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-1.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-1.c 
b/gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-1.c
index 9bb4904e8e9..549d6648104 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-1.c
+++ b/gcc/testsuite/gcc.target/riscv/rvv/base/cpymem-1.c
@@ -50,7 +50,7 @@ void f2 (__INT32_TYPE__* a, __INT32_TYPE__* b, int l)
    Use extern here so that we get a known alignment, lest
    DATA_ALIGNMENT force us to make the scan pattern accomodate
    code for different alignments depending on word size.
-** f3:
+** f3: { target { any-opts "-mcmodel=medlow" } }
 **        lui\s+[ta][0-7],%hi\(a_a\)
 **        lui\s+[ta][0-7],%hi\(a_b\)
 **        addi\s+a4,[ta][0-7],%lo\(a_b\)
@@ -61,6 +61,16 @@ void f2 (__INT32_TYPE__* a, __INT32_TYPE__* b, int l)
 **        ret
 */

+/*
+** f3: { target { any-opts "-mcmodel=medany" } }
+**        lla\s+[ta][0-7],a_b
+**        vsetivli\s+zero,16,e32,m4,ta,ma
+**        vle32.v\s+v\d+,0\([ta][0-7]\)
+**        lla\s+[ta][0-7],a_a
+**        vse32\.v\s+v\d+,0\([ta][0-7]\)
+**        ret
+*/
+
 extern struct { __INT32_TYPE__ a[16]; } a_a, a_b;

 void f3 ()
--
2.36.3

Reply via email to