https://gcc.gnu.org/g:cc621069b211cccbb7b8e0e7fc5c1138ffd4704a
commit r17-2295-gcc621069b211cccbb7b8e0e7fc5c1138ffd4704a Author: Pan Li <[email protected]> Date: Wed Jul 8 13:57:43 2026 +0800 RISC-V: Adjust the scan asm for v[sz]ext.vf2 for v1 and v12 The previous match v1 may match the v12 as well, therefore add the non-num boundary. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m1.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m2.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m4.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf2.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf4.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m1.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m2.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-mf2.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m1.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m2.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf2.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf4.c: * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf8.c: Signed-off-by: Pan Li <[email protected]> Diff: --- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m1.c | 4 ++-- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m2.c | 2 +- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m4.c | 2 +- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf2.c | 4 ++-- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf4.c | 4 ++-- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m1.c | 4 ++-- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m2.c | 2 +- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-mf2.c | 4 ++-- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m1.c | 4 ++-- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m2.c | 2 +- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf2.c | 4 ++-- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf4.c | 4 ++-- .../gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf8.c | 4 ++-- 13 files changed, 22 insertions(+), 22 deletions(-) diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m1.c index 6b59a0da8eea..6508a99b960e 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m1.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m1.c @@ -13,5 +13,5 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v1} 1 } } */ -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v2,v3} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v1([^0-9]|$)} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v2,v3([^0-9]|$)} 1 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m2.c index 0396046a7b1a..6b8c9935d2fa 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m2.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m2.c @@ -13,5 +13,5 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X8) -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v2} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v2([^0-9]|$)} 1 } } */ /* { dg-final { scan-assembler-times {vsext\.vf2\s+v4,v6} 1 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m4.c index 1670668d04bb..7aded3703060 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m4.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m4.c @@ -13,5 +13,5 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X4) -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v4} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v4([^0-9]|$)} 1 } } */ /* { dg-final { scan-assembler-times {vsext\.vf2\s+v8,v12} 1 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf2.c index e700eb532a99..c9c6cb835659 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf2.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf2.c @@ -13,8 +13,8 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1} } } */ -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1([^0-9]|$)} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3([^0-9]|$)} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v4,v5} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v6,v7} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v8,v9} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf4.c index ca48d17e13d8..4f22473dcd04 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf4.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf4.c @@ -13,8 +13,8 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1} } } */ -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1([^0-9]|$)} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3([^0-9]|$)} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v4,v5} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v6,v7} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v8,v9} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m1.c index 461f4ef6b1a0..c2d2e38cd282 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m1.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m1.c @@ -13,5 +13,5 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v1} 1 } } */ -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v2,v3} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v1([^0-9]|$)} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v2,v3([^0-9]|$)} 1 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m2.c index 6c7d8a5193b6..e8d61fa50c33 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m2.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m2.c @@ -13,5 +13,5 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X8) -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v2} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v2([^0-9]|$)} 1 } } */ /* { dg-final { scan-assembler-times {vsext\.vf2\s+v4,v6} 1 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-mf2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-mf2.c index 4144306df4e2..4faf542eff23 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-mf2.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-mf2.c @@ -13,8 +13,8 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1} } } */ -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1([^0-9]|$)} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3([^0-9]|$)} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v4,v5} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v6,v7} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v8,v9} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m1.c index 7a4ecd72d188..381cf6934fb8 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m1.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m1.c @@ -13,5 +13,5 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v1} 1 } } */ -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v2,v3} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v1([^0-9]|$)} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v2,v3([^0-9]|$)} 1 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m2.c index 318360f93744..a292cfb8370a 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m2.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m2.c @@ -13,5 +13,5 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X8) -/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v2} 1 } } */ +/* { dg-final { scan-assembler-times {vsext\.vf2\s+v0,v2([^0-9]|$)} 1 } } */ /* { dg-final { scan-assembler-times {vsext\.vf2\s+v4,v6} 1 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf2.c index fde319ec37af..ab9b03070582 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf2.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf2.c @@ -13,8 +13,8 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1} } } */ -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1([^0-9]|$)} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3([^0-9]|$)} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v4,v5} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v6,v7} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v8,v9} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf4.c index 1a1922abef44..023304b6f8ad 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf4.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf4.c @@ -13,8 +13,8 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1} } } */ -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1([^0-9]|$)} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3([^0-9]|$)} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v4,v5} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v6,v7} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v8,v9} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf8.c index 49b56468cc98..4db324051ab5 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf8.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf8.c @@ -13,8 +13,8 @@ DEF_GROUP_OVERLAP_UNARY_0( vsext_vf, LOOP_UNARY_BODY_X16) -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1} } } */ -/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v0,v1([^0-9]|$)} } } */ +/* { dg-final { scan-assembler-not {vsext\.vf2\s+v2,v3([^0-9]|$)} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v4,v5} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v6,v7} } } */ /* { dg-final { scan-assembler-not {vsext\.vf2\s+v8,v9} } } */
