]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Add testcases for scalar unsigned SAT_ADD form 4
authorPan Li <pan2.li@intel.com>
Mon, 3 Jun 2024 02:33:15 +0000 (10:33 +0800)
committerPan Li <pan2.li@intel.com>
Fri, 7 Jun 2024 00:53:30 +0000 (08:53 +0800)
commita171aac72408837ed0b20e3912a22c5b4891ace4
tree0d805079ae6c56eb1e0cae7d1d8e81c5954d3396
parent39dde9200dd936339df7dd6c8f56e88866bcecc5
RISC-V: Add testcases for scalar unsigned SAT_ADD form 4

After the middle-end support the form 4 of unsigned SAT_ADD and
the RISC-V backend implement the scalar .SAT_ADD, add more test
case to cover the form 4 of unsigned .SAT_ADD.

Form 4:
  #define SAT_ADD_U_4(T) \
  T sat_add_u_4_##T (T x, T y) \
  { \
    T ret; \
    return __builtin_add_overflow (x, y, &ret) == 0 ? ret : -1; \
  }

Passed the rv64gcv fully regression test.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/sat_arith.h: Add test macro for form 4.
* gcc.target/riscv/sat_u_add-17.c: New test.
* gcc.target/riscv/sat_u_add-18.c: New test.
* gcc.target/riscv/sat_u_add-19.c: New test.
* gcc.target/riscv/sat_u_add-20.c: New test.
* gcc.target/riscv/sat_u_add-run-17.c: New test.
* gcc.target/riscv/sat_u_add-run-18.c: New test.
* gcc.target/riscv/sat_u_add-run-19.c: New test.
* gcc.target/riscv/sat_u_add-run-20.c: New test.

Signed-off-by: Pan Li <pan2.li@intel.com>
gcc/testsuite/gcc.target/riscv/sat_arith.h
gcc/testsuite/gcc.target/riscv/sat_u_add-17.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-18.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-19.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-20.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-run-17.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-run-18.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-run-19.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-run-20.c [new file with mode: 0644]