RISC-V: Implement instruction patterns for ZBA extension.
authorJim Wilson <jimw@sifive.com>
Mon, 23 Aug 2021 07:50:22 +0000 (15:50 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Mon, 25 Oct 2021 09:06:13 +0000 (17:06 +0800)
commit283b1707f2373794c9ff724f01429586359f0b71
treeac1d6759d88f09336dc5873f7ae1429c56fc9fcb
parent149e217033f01410a9783c5cb2d020cf8334ae4c
RISC-V: Implement instruction patterns for ZBA extension.

2021-10-25  Jim Wilson  <jimw@sifive.com>
    Kito Cheng  <kito.cheng@sifive.com>
    Jia-Wei Chen  <jiawei@iscas.ac.cn>

gcc/ChangeLog:

* config/riscv/bitmanip.md (*zero_extendsidi2_bitmanip): New.
(*shNadd): Ditto.
(*shNadduw): Ditto.
(*add.uw): Ditto.
(*slliuw): Ditto.
(riscv_rtx_costs): Ditto.
* config/riscv/riscv.md: Include bitmanip.md
(type): Add bitmanip bype.
(zero_extendsidi2): Change to define_expand pattern.
(*zero_extendsidi2_internal): New.
(zero_extendsidi2_shifted): Disable for ZBA.

2021-10-25  Kito Cheng  <kito.cheng@sifive.com>
    Jia-Wei Chen  <jiawei@iscas.ac.cn>

gcc/testsuite/ChangeLog:

* gcc.target/riscv/zba-adduw.c: New.
* gcc.target/riscv/zba-shNadd-01.c: Ditto.
* gcc.target/riscv/zba-shNadd-02.c: Ditto.
* gcc.target/riscv/zba-shNadd-03.c: Ditto.
* gcc.target/riscv/zba-slliuw.c: Ditto.
* gcc.target/riscv/zba-zextw.c: Ditto.

Co-authored-by: Kito Cheng <kito.cheng@sifive.com>
Co-authored-by: Jia-Wei Chen <jiawei@iscas.ac.cn>
gcc/config/riscv/bitmanip.md [new file with mode: 0644]
gcc/config/riscv/riscv.md
gcc/testsuite/gcc.target/riscv/zba-adduw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zba-shNadd-01.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zba-shNadd-02.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zba-shNadd-03.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zba-slliuw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zba-zextw.c [new file with mode: 0644]