RISC-V: Allow IMM operand for unsigned scalar .SAT_ADD
This patch would like to allow the IMM operand of the unsigned
scalar .SAT_ADD. Like the operand 0, the operand 1 of .SAT_ADD
will be zero extended to Xmode before underlying code generation.
The below test suites are passed for this patch.
* The rv64gcv fully regression test.
gcc/ChangeLog:
* config/riscv/riscv.cc (riscv_expand_usadd): Zero extend
the second operand of usadd as the first operand does.
* config/riscv/riscv.md (usadd<m>3): Allow imm operand for
scalar usadd pattern.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/sat_u_add-11.c: Make asm check robust.
* gcc.target/riscv/sat_u_add-15.c: Ditto.
* gcc.target/riscv/sat_u_add-19.c: Ditto.
* gcc.target/riscv/sat_u_add-23.c: Ditto.
* gcc.target/riscv/sat_u_add-3.c: Ditto.
* gcc.target/riscv/sat_u_add-7.c: Ditto.
Signed-off-by:
Pan Li <pan2.li@intel.com>
Showing
- gcc/config/riscv/riscv.cc 1 addition, 1 deletiongcc/config/riscv/riscv.cc
- gcc/config/riscv/riscv.md 2 additions, 2 deletionsgcc/config/riscv/riscv.md
- gcc/testsuite/gcc.target/riscv/sat_u_add-11.c 1 addition, 1 deletiongcc/testsuite/gcc.target/riscv/sat_u_add-11.c
- gcc/testsuite/gcc.target/riscv/sat_u_add-15.c 1 addition, 1 deletiongcc/testsuite/gcc.target/riscv/sat_u_add-15.c
- gcc/testsuite/gcc.target/riscv/sat_u_add-19.c 1 addition, 1 deletiongcc/testsuite/gcc.target/riscv/sat_u_add-19.c
- gcc/testsuite/gcc.target/riscv/sat_u_add-23.c 1 addition, 1 deletiongcc/testsuite/gcc.target/riscv/sat_u_add-23.c
- gcc/testsuite/gcc.target/riscv/sat_u_add-3.c 1 addition, 1 deletiongcc/testsuite/gcc.target/riscv/sat_u_add-3.c
- gcc/testsuite/gcc.target/riscv/sat_u_add-7.c 1 addition, 1 deletiongcc/testsuite/gcc.target/riscv/sat_u_add-7.c
Loading
Please register or sign in to comment