[gcc r17-2295] RISC-V: Adjust the scan asm for v[sz]ext.vf2 for v1 and v12

Pan Li via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
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} } } */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.