[PATCH] D99320: [RISCV] [1/2] Add intrinsic for Zbb extension

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 31 09:18:43 PDT 2021


craig.topper added a comment.

In D99320#2661285 <https://reviews.llvm.org/D99320#2661285>, @asb wrote:

> Can I just check the reasoning on the naming? I see that the bitmanip 0.93 spec proposes `_{rv,rv32,rv64}_{opname}` intrinsics. Does the `__builtin__{riscv,riscv32,riscv64}_opname` format match what GCC are doing / planning to do here? Precedent for RVV, for other archs, or something else?
>
> Just trying to determine to what these names are an open item of discussion vs matching something else.
>
> EDIT: I see Craig commented on this point in https://reviews.llvm.org/D99009#2660456

Yeah the big open for naming is the name of the intrinsic header. Whether it should be rvintrin.h or riscv_intrinsic.h.

The builtins in this patch are

__builtin_riscv_orc_b_32
__builtin_riscv_orc_b_64

I've update the description summary to reflect this since it change during development.

The Zbr patch uses the following without a 32/64 suffix.
__builtin_riscv_crc32_b/w/d/q

There's a difference because orc.b needs to be available for 32-bit on RV32 and RV64 per the spec so we have two builtins. crc32.b intrinsics in the spec are defined only for xlen so we have a single builtin.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99320/new/

https://reviews.llvm.org/D99320



More information about the cfe-commits mailing list