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

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

Form 3:
  #define SAT_ADD_U_3(T) \
  T sat_add_u_3_##T (T x, T y) \
  { \
    T ret; \
    return __builtin_add_overflow (x, y, &ret) ? -1 : ret; \
  }

Passed the rv64gcv fully regression test.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/sat_arith.h: Add test macro for form 3.
* gcc.target/riscv/sat_u_add-13.c: New test.
* gcc.target/riscv/sat_u_add-14.c: New test.
* gcc.target/riscv/sat_u_add-15.c: New test.
* gcc.target/riscv/sat_u_add-16.c: New test.
* gcc.target/riscv/sat_u_add-run-13.c: New test.
* gcc.target/riscv/sat_u_add-run-14.c: New test.
* gcc.target/riscv/sat_u_add-run-15.c: New test.
* gcc.target/riscv/sat_u_add-run-16.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-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-run-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-run-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-run-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sat_u_add-run-16.c [new file with mode: 0644]