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