]> gcc.gnu.org Git - gcc.git/commit
RISC-V: Implement ZBKB, ZBKC and ZBKX extensions
authorLiao Shihua <shihua@iscas.ac.cn>
Mon, 20 Feb 2023 07:01:22 +0000 (15:01 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Sun, 5 Mar 2023 17:04:56 +0000 (01:04 +0800)
commit2c8095109b8756bebc5d0ac2cc0ded34fd6a46df
tree4205274555b9dedac6f766446b2e178ea284d4f0
parent89456334473c6b1ea1713740fb5f5191cd0b2235
RISC-V: Implement ZBKB, ZBKC and ZBKX extensions

This patch supports Zkbk, Zbkc and Zkbx extension.
It includes instruction's machine description and built-in funtions.
It is worth mentioning that this patch only adds instructions in Zbkb but no
longer in Zbb.
If any instructions both in Zbb and Zbkb, they will be generated by code
generator instead of built-in functions.

gcc/ChangeLog:

* config/riscv/bitmanip.md: Add ZBKB's instructions.
* config/riscv/riscv-builtins.cc (AVAIL): Add new.
* config/riscv/riscv.md: Add new type for crypto instructions.
* config/riscv/crypto.md: Add Scalar Cryptography extension's machine
description file.
* config/riscv/riscv-scalar-crypto.def: Add Scalar Cryptography
extension's built-in function file.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/zbkb32.c: New test.
* gcc.target/riscv/zbkb64.c: New test.
* gcc.target/riscv/zbkc32.c: New test.
* gcc.target/riscv/zbkc64.c: New test.
* gcc.target/riscv/zbkx32.c: New test.
* gcc.target/riscv/zbkx64.c: New test.

Co-Authored-By: SiYu Wu <siyu@isrc.iscas.ac.cn>
gcc/config/riscv/bitmanip.md
gcc/config/riscv/crypto.md [new file with mode: 0644]
gcc/config/riscv/riscv-builtins.cc
gcc/config/riscv/riscv-scalar-crypto.def [new file with mode: 0644]
gcc/config/riscv/riscv.md
gcc/testsuite/gcc.target/riscv/zbkb32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zbkb64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zbkc32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zbkc64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zbkx32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zbkx64.c [new file with mode: 0644]
This page took 0.063553 seconds and 5 git commands to generate.