diff options
author | Pan Li <pan2.li@intel.com> | 2024-07-11 15:54:32 +0800 |
---|---|---|
committer | Pan Li <pan2.li@intel.com> | 2024-07-11 18:42:25 +0800 |
commit | b3c686416e88bf135def0e72d316713af01445a1 (patch) | |
tree | 03f30b571677305f4d47d89500f8f14cf97df998 /libbacktrace/dwarf.c | |
parent | b38c8fdd82a5b9a550e6ee31502d39cfc3ad9fc8 (diff) | |
download | gcc-b3c686416e88bf135def0e72d316713af01445a1.zip gcc-b3c686416e88bf135def0e72d316713af01445a1.tar.gz gcc-b3c686416e88bf135def0e72d316713af01445a1.tar.bz2 |
RISC-V: Add testcases for vector .SAT_SUB in zip benchmark
This patch would like to add the test cases for the vector .SAT_SUB in
the zip benchmark. Aka:
Form in zip benchmark:
#define DEF_VEC_SAT_U_SUB_ZIP(T1, T2) \
void __attribute__((noinline)) \
vec_sat_u_sub_##T1##_##T2##_fmt_zip (T1 *x, T2 b, unsigned limit) \
{ \
T2 a; \
T1 *p = x; \
do { \
a = *--p; \
*p = (T1)(a >= b ? a - b : 0); \
} while (--limit); \
}
DEF_VEC_SAT_U_SUB_ZIP(uint8_t, uint16_t)
vec_sat_u_sub_uint16_t_uint32_t_fmt_zip:
...
vsetvli a4,zero,e32,m1,ta,ma
vmv.v.x v6,a1
vsetvli zero,zero,e16,mf2,ta,ma
vid.v v2
li a4,-1
vnclipu.wi v6,v6,0 // .SAT_TRUNC
.L3:
vle16.v v3,0(a3)
vrsub.vx v5,v2,a6
mv a7,a4
addw a4,a4,t3
vrgather.vv v1,v3,v5
vssubu.vv v1,v1,v6 // .SAT_SUB
vrgather.vv v3,v1,v5
vse16.v v3,0(a3)
sub a3,a3,t1
bgtu t4,a4,.L3
Passed the rv64gcv tests.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test
helper macros.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Add test
data for .SAT_SUB in zip benchmark.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx.h: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip-run.c: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: New test.
Signed-off-by: Pan Li <pan2.li@intel.com>
Diffstat (limited to 'libbacktrace/dwarf.c')
0 files changed, 0 insertions, 0 deletions