]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
RISC-V: Fix RVV strided load/store testcases failure
authorPan Li <pan2.li@intel.com>
Fri, 29 Nov 2024 04:01:33 +0000 (12:01 +0800)
committerPan Li <pan2.li@intel.com>
Mon, 2 Dec 2024 01:37:11 +0000 (09:37 +0800)
This patch would like to fix the testcases failures of strided
load/store after sorts of optimization option passing to testcase.

* Add no strict align for vector option.
* Adjust dg-final by any-opts and/or no-opts if the rtl dump changes
  on different optimization options (like O2, O3, zvl).

The below test suites are passed for this patch.
* The rv64gcv fully regression test.

It is test only patch and obvious up to a point, will commit it
directly if no comments in next 48H.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Fix
the failed test by target any-opts and/or no-opts.
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto
* gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto

Signed-off-by: Pan Li <pan2.li@intel.com>
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c

index a128e9fb20aa2fdb33d8626f5a18b1bf2ed9c2e2..4098774ba381b9718f8f460ab056ee3ceee6cf7a 100644 (file)
@@ -1,13 +1,31 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv_zvfh -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv_zvfh -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
 DEF_STRIDED_LD_ST_FORM_1(_Float16)
 
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-assembler-times {vlse16.v} 1 } } */
-/* { dg-final { scan-assembler-times {vsse16.v} 1 } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse16.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse16.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
index 621c26a2df2cdbe733894008f1b30aefc13e306e..e1d1063ec8c29e13e33c36c111f562a351af8a76 100644 (file)
@@ -1,13 +1,31 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
 DEF_STRIDED_LD_ST_FORM_1(float)
 
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-assembler-times {vlse32.v} 1 } } */
-/* { dg-final { scan-assembler-times {vsse32.v} 1 } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse32.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse32.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
index 48ae5aa6d426955a91b612af2a8672212b1f0bd1..e4f6a40873be110ce71f37a2660ef51089b5dca8 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
index 37d43106113cd332a0a3c843df387dacba48555d..57b20a2f9527797be66d27b0b35c46da33e8824b 100644 (file)
@@ -1,13 +1,31 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
 DEF_STRIDED_LD_ST_FORM_1(int16_t)
 
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-assembler-times {vlse16.v} 1 } } */
-/* { dg-final { scan-assembler-times {vsse16.v} 1 } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse16.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse16.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
index 88a9bf02dac70fd030e0eb198eb9b1ca4d3d93fc..1e4ae9fc98f65088faa123c61c29356045273f9a 100644 (file)
@@ -1,13 +1,45 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
 DEF_STRIDED_LD_ST_FORM_1(int32_t)
 
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-assembler-times {vlse32.v} 1 } } */
-/* { dg-final { scan-assembler-times {vsse32.v} 1 } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 8 "expand" { target {
+     any-opts "-O3" "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 8 "expand" { target {
+     any-opts "-O3" "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse32.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse32.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse32.v} 2 { target {
+     any-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse32.v} 2 { target {
+     any-opts "-mrvv-vector-bits=zvl"
+   } } } } */
index 3b3ad5da6c0f5b7372f75c25bdeb25b159427ff4..afbce2263681b25215409fc80186786e638be198 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
index 74f5aea3264bbf5d6341806a7743052f67957764..d948f89abe707b2449dbe9d2b320d6c3b45a8adb 100644 (file)
@@ -1,13 +1,31 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
 DEF_STRIDED_LD_ST_FORM_1(int8_t)
 
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-assembler-times {vlse8.v} 1 } } */
-/* { dg-final { scan-assembler-times {vsse8.v} 1 } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse8.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse8.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
index 8176006f8bf9c3571041834b046fa3fa4902adc6..78b6dbc1c49e6f3daee6e721677e98f7bc9977bd 100644 (file)
@@ -1,13 +1,31 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
 DEF_STRIDED_LD_ST_FORM_1(uint16_t)
 
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-assembler-times {vlse16.v} 1 } } */
-/* { dg-final { scan-assembler-times {vsse16.v} 1 } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse16.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse16.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
index 41531f39f262b8d5a58262812bc6697e61344d17..b1994d7d199d32bba127c0b302b73e3972b9dcf0 100644 (file)
@@ -1,13 +1,45 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
 DEF_STRIDED_LD_ST_FORM_1(uint32_t)
 
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-assembler-times {vlse32.v} 1 } } */
-/* { dg-final { scan-assembler-times {vsse32.v} 1 } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 8 "expand" { target {
+     any-opts "-O3" "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 8 "expand" { target {
+     any-opts "-O3" "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse32.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse32.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse32.v} 2 { target {
+     any-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse32.v} 2 { target {
+     any-opts "-mrvv-vector-bits=zvl"
+   } } } } */
index 695964fedb1f35f357eb7dc49385f3bef6ba2eae..a66eb5bcfd41e477898e94553f917ac8053265a6 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
index 7bc3b4ee602a73dff3f4dbed3cca123f55ae71fb..7870ede903d92dc96aae6661c3abc09424a46df9 100644 (file)
@@ -1,13 +1,31 @@
 /* { dg-do compile } */
-/* { dg-options "-march=rv64gcv -mabi=lp64d -fno-vect-cost-model -fdump-rtl-expand-details" } */
+/* { dg-options "-march=rv64gcv -mabi=lp64d -mno-vector-strict-align -fno-vect-cost-model -fdump-rtl-expand-details" } */
 
 #include "strided_ld_st.h"
 
 DEF_STRIDED_LD_ST_FORM_1(uint8_t)
 
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target { any-opts "-O3" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target { any-opts "-O2" } } } } */
-/* { dg-final { scan-assembler-times {vlse8.v} 1 } } */
-/* { dg-final { scan-assembler-times {vsse8.v} 1 } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 4 "expand" { target {
+     any-opts "-O3"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_LOAD " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-rtl-dump-times ".MASK_LEN_STRIDED_STORE " 2 "expand" { target {
+     any-opts "-O2"
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+
+/* { dg-final { scan-assembler-times {vlse8.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */
+/* { dg-final { scan-assembler-times {vsse8.v} 1 { target {
+     no-opts "-mrvv-vector-bits=zvl"
+   } } } } */