diff options
author | Pan Li <pan2.li@intel.com> | 2024-07-08 21:58:59 +0800 |
---|---|---|
committer | Pan Li <pan2.li@intel.com> | 2024-07-09 08:47:11 +0800 |
commit | ecde8d50bea3573194f21277666f83463cbbe9c9 (patch) | |
tree | b1400e97bb58bf17607c4520853d1cd9ff18999a /gcc/common | |
parent | 35b1096896a94a90d787f5ef402ba009dd4f0393 (diff) | |
download | gcc-ecde8d50bea3573194f21277666f83463cbbe9c9.zip gcc-ecde8d50bea3573194f21277666f83463cbbe9c9.tar.gz gcc-ecde8d50bea3573194f21277666f83463cbbe9c9.tar.bz2 |
RISC-V: Add testcases for unsigned vector .SAT_ADD IMM form 2
After the middle-end supported the vector mode of .SAT_ADD, add more
testcases to ensure the correctness of RISC-V backend for form 2. Aka:
Form 2:
#define DEF_VEC_SAT_U_ADD_IMM_FMT_2(T, IMM) \
T __attribute__((noinline)) \
vec_sat_u_add_imm##IMM##_##T##_fmt_2 (T *out, T *in, unsigned limit) \
{ \
unsigned i; \
for (i = 0; i < limit; i++) \
out[i] = (T)(in[i] + IMM) < in[i] ? -1 : (in[i] + IMM); \
}
DEF_VEC_SAT_U_ADD_IMM_FMT_2 (uint64_t, 9)
Passed the fully rv64gcv regression tests.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add help
test macro.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-5.c: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-6.c: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-7.c: New test.
* gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-8.c: New test.
Signed-off-by: Pan Li <pan2.li@intel.com>
Diffstat (limited to 'gcc/common')
0 files changed, 0 insertions, 0 deletions