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} } } */

Reply via email to