On 11/27/23 01:34, Liao Shihua wrote:
This patch add C intrinsics for scalar crypto extension.
Because of riscv-c-api
(https://github.com/riscv-non-isa/riscv-c-api-doc/pull/44/files) includes
zbkb/zbkc/zbkx's
intrinsics in bit manipulation extension, this patch only support zkn*/zks*'s
intrinsics.
gcc/ChangeLog:
* config.gcc: Add riscv_crypto.h
* config/riscv/riscv_crypto.h: New file.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/zknd32.c: Use intrinsics instead of builtins.
* gcc.target/riscv/zknd64.c: Likewise.
* gcc.target/riscv/zkne32.c: Likewise.
* gcc.target/riscv/zkne64.c: Likewise.
* gcc.target/riscv/zknh-sha256-32.c: Likewise.
* gcc.target/riscv/zknh-sha256-64.c: Likewise.
* gcc.target/riscv/zknh-sha512-32.c: Likewise.
* gcc.target/riscv/zknh-sha512-64.c: Likewise.
* gcc.target/riscv/zksed32.c: Likewise.
* gcc.target/riscv/zksed64.c: Likewise.
* gcc.target/riscv/zksh32.c: Likewise.
* gcc.target/riscv/zksh64.c: Likewise.
Last cycle we let a ton of vector intrinsics through after stage1
closed. I'm not keen to repeat that, but this looks pretty small and
appears to just provide a mapping from the RV intrinsics to the builtin
names within GCC.
I won't object to this one if Kito or Palmer want to see it go forward.
I might object if more of these things get submitted later in
stage3/stage4 :-)
It would be useful if future patches included "RISC-V" in the subject
line. Our Tuesday patchwork meeting focuses on patches with that tag in
the subject line. By using it you ensure it gets on the weekly agenda.
Thanks,
Jeff