Skip to content

Commit 6205144

Browse files
RISC-V: Refactor the testcases for rvv binop and cmp
This patch would like to refactor the testcases for rvv binop and cmp after sorts of optimization option passing to testcase. To fits different optimization option asm dump checks. 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/binop/vcompress-avlprop-1.c: Skip m8 as it has different body layout. * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-1.c: Add build option condition when check asm dumps. * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-2.c: Ditto. * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-5.c: Ditto. * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-6.c: Ditto. * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-9.c: Ditto. Signed-off-by: Pan Li <[email protected]>
1 parent f873c60 commit 6205144

File tree

6 files changed

+70
-6
lines changed

6 files changed

+70
-6
lines changed

gcc/testsuite/gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/* { dg-do compile } */
22
/* { dg-options "-march=rv64gcv_zvl512b -mabi=lp64d -O3 -mrvv-vector-bits=zvl -fno-schedule-insns -fno-schedule-insns2" } */
33
/* { dg-final { check-function-bodies "**" "" } } */
4+
/* { dg-skip-if "" { *-*-* } { "-mrvv-max-lmul=dynamic" } } */
45
#define MAX 10
56

67
struct s { struct s *n; } *p;

gcc/testsuite/gcc.target/riscv/rvv/autovec/cmp/cmp_vi-1.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,16 @@ CMP_VI (ne_unsigned_short, unsigned short, n, !=, 15)
1212
CMP_VI (ne_unsigned_int, unsigned int, n, !=, 15)
1313
CMP_VI (ne_unsigned_long, unsigned long, n, !=, 15)
1414

15-
/* { dg-final { scan-assembler-times {vmsne\.vi} 16 } } */
15+
/* { dg-final { scan-assembler-times {vmsne\.vi} 16 { target {
16+
any-opts "-mrvv-max-lmul=m1"
17+
} } } } */
18+
19+
/* { dg-final { scan-assembler-times {vmsne\.vi} 10 { target {
20+
any-opts "-mrvv-max-lmul=m2"
21+
} } } } */
22+
23+
/* { dg-final { scan-assembler-times {vmsne\.vi} 8 { target {
24+
any-opts "-mrvv-max-lmul=m4" "-mrvv-max-lmul=m8" "-mrvv-max-lmul=dynamic"
25+
} } } } */
26+
1627
/* { dg-final { scan-assembler-not {vmsne\.vv} } } */

gcc/testsuite/gcc.target/riscv/rvv/autovec/cmp/cmp_vi-2.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,16 @@ CMP_VI (ne_unsigned_short, unsigned short, n, !=, -16)
1212
CMP_VI (ne_unsigned_int, unsigned int, n, !=, -16)
1313
CMP_VI (ne_unsigned_long, unsigned long, n, !=, -16)
1414

15-
/* { dg-final { scan-assembler-times {vmsne\.vi} 13 } } */
15+
/* { dg-final { scan-assembler-times {vmsne\.vi} 13 { target {
16+
any-opts "-mrvv-max-lmul=m1"
17+
} } } } */
18+
19+
/* { dg-final { scan-assembler-times {vmsne\.vi} 7 { target {
20+
any-opts "-mrvv-max-lmul=m2"
21+
} } } } */
22+
23+
/* { dg-final { scan-assembler-times {vmsne\.vi} 5 { target {
24+
any-opts "-mrvv-max-lmul=m4" "-mrvv-max-lmul=m8" "-mrvv-max-lmul=dynamic"
25+
} } } } */
26+
1627
/* { dg-final { scan-assembler-not {vmsne\.vv} } } */

gcc/testsuite/gcc.target/riscv/rvv/autovec/cmp/cmp_vi-5.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,16 @@ CMP_VI (eq_unsigned_short, unsigned short, n, ==, 15)
1212
CMP_VI (eq_unsigned_int, unsigned int, n, ==, 15)
1313
CMP_VI (eq_unsigned_long, unsigned long, n, ==, 15)
1414

15-
/* { dg-final { scan-assembler-times {vmseq\.vi} 16 } } */
15+
/* { dg-final { scan-assembler-times {vmseq\.vi} 16 { target {
16+
any-opts "-mrvv-max-lmul=m1"
17+
} } } } */
18+
19+
/* { dg-final { scan-assembler-times {vmseq\.vi} 10 { target {
20+
any-opts "-mrvv-max-lmul=m2"
21+
} } } } */
22+
23+
/* { dg-final { scan-assembler-times {vmseq\.vi} 8 { target {
24+
any-opts "-mrvv-max-lmul=m4" "-mrvv-max-lmul=m8" "-mrvv-max-lmul=dynamic"
25+
} } } } */
26+
1627
/* { dg-final { scan-assembler-not {vmseq\.vv} } } */

gcc/testsuite/gcc.target/riscv/rvv/autovec/cmp/cmp_vi-6.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,16 @@ CMP_VI (eq_unsigned_short, unsigned short, n, ==, -16)
1212
CMP_VI (eq_unsigned_int, unsigned int, n, ==, -16)
1313
CMP_VI (eq_unsigned_long, unsigned long, n, ==, -16)
1414

15-
/* { dg-final { scan-assembler-times {vmseq\.vi} 13 } } */
15+
/* { dg-final { scan-assembler-times {vmseq\.vi} 13 { target {
16+
any-opts "-mrvv-max-lmul=m1"
17+
} } } } */
18+
19+
/* { dg-final { scan-assembler-times {vmseq\.vi} 13 { target {
20+
any-opts "-mrvv-max-lmul=m2"
21+
} } } } */
22+
23+
/* { dg-final { scan-assembler-times {vmseq\.vi} 13 { target {
24+
any-opts "-mrvv-max-lmul=m4" "-mrvv-max-lmul=m8" "-mrvv-max-lmul=dynamic"
25+
} } } } */
26+
1627
/* { dg-final { scan-assembler-not {vmseq\.vv} } } */

gcc/testsuite/gcc.target/riscv/rvv/autovec/cmp/cmp_vi-9.c

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,26 @@ CMP_VI (le_unsigned_short, unsigned short, n, <=, 15)
1212
CMP_VI (le_unsigned_int, unsigned int, n, <=, 15)
1313
CMP_VI (le_unsigned_long, unsigned long, n, <=, 15)
1414

15-
/* { dg-final { scan-assembler-times {vmsle\.vi} 7 } } */
16-
/* { dg-final { scan-assembler-times {vmsleu\.vi} 9 } } */
15+
/* { dg-final { scan-assembler-times {vmsle\.vi} 7 { target {
16+
any-opts "-mrvv-max-lmul=m1"
17+
} } } } */
18+
/* { dg-final { scan-assembler-times {vmsleu\.vi} 9 { target {
19+
any-opts "-mrvv-max-lmul=m1"
20+
} } } } */
21+
22+
/* { dg-final { scan-assembler-times {vmsle\.vi} 4 { target {
23+
any-opts "-mrvv-max-lmul=m2"
24+
} } } } */
25+
/* { dg-final { scan-assembler-times {vmsleu\.vi} 6 { target {
26+
any-opts "-mrvv-max-lmul=m2"
27+
} } } } */
28+
29+
/* { dg-final { scan-assembler-times {vmsle\.vi} 3 { target {
30+
any-opts "-mrvv-max-lmul=m4" "-mrvv-max-lmul=m8" "-mrvv-max-lmul=dynamic"
31+
} } } } */
32+
/* { dg-final { scan-assembler-times {vmsleu\.vi} 5 { target {
33+
any-opts "-mrvv-max-lmul=m4" "-mrvv-max-lmul=m4" "-mrvv-max-lmul=dynamic"
34+
} } } } */
35+
1736
/* { dg-final { scan-assembler-not {vmsle\.vv} } } */
1837
/* { dg-final { scan-assembler-not {vmsleu\.vv} } } */

0 commit comments

Comments
 (0)