On 2023/09/12 11:44, Kito Cheng wrote: > LGTM, I think llvm and GCC are inconsistent for those intrinsics API > is really unfortunate...so really appreciate making those API align :)
I guess that you mean LGTM to this patch set (given the context). If so, I will commit this patch set later. > And did you have plan to add riscv_crypto.h after updating/fixing all builtin? Like riscv_vector.h? I don't and I think we need to discuss what to include in... like Toolchain SIG first. Additionally, we need to discuss what to do with these XLEN-specific builtins specific to LLVM (my idea is, add XLEN-specific builtins like LLVM but not to remove XLEN independent ones). Thanks, Tsukasa > Excerpt from the latest clang/include/clang/Basic/BuiltinsRISCV.def: > > // Zbb extension > TARGET_BUILTIN(__builtin_riscv_orc_b_32, "UiUi", "nc", "zbb") > TARGET_BUILTIN(__builtin_riscv_orc_b_64, "UWiUWi", "nc", "zbb,64bit") > TARGET_BUILTIN(__builtin_riscv_clz_32, "UiUi", "nc", "zbb|xtheadbb") > TARGET_BUILTIN(__builtin_riscv_clz_64, "UiUWi", "nc", "zbb|xtheadbb,64bit") > TARGET_BUILTIN(__builtin_riscv_ctz_32, "UiUi", "nc", "zbb") > TARGET_BUILTIN(__builtin_riscv_ctz_64, "UiUWi", "nc", "zbb,64bit") > > // Zbc or Zbkc extension > TARGET_BUILTIN(__builtin_riscv_clmul_32, "UiUiUi", "nc", "zbc|zbkc") > TARGET_BUILTIN(__builtin_riscv_clmul_64, "UWiUWiUWi", "nc", "zbc|zbkc,64bit") > TARGET_BUILTIN(__builtin_riscv_clmulh_32, "UiUiUi", "nc", "zbc|zbkc,32bit") > TARGET_BUILTIN(__builtin_riscv_clmulh_64, "UWiUWiUWi", "nc", "zbc|zbkc,64bit") > TARGET_BUILTIN(__builtin_riscv_clmulr_32, "UiUiUi", "nc", "zbc,32bit") > TARGET_BUILTIN(__builtin_riscv_clmulr_64, "UWiUWiUWi", "nc", "zbc,64bit") > > // Zbkx > TARGET_BUILTIN(__builtin_riscv_xperm4_32, "UiUiUi", "nc", "zbkx,32bit") > TARGET_BUILTIN(__builtin_riscv_xperm4_64, "UWiUWiUWi", "nc", "zbkx,64bit") > TARGET_BUILTIN(__builtin_riscv_xperm8_32, "UiUiUi", "nc", "zbkx,32bit") > TARGET_BUILTIN(__builtin_riscv_xperm8_64, "UWiUWiUWi", "nc", "zbkx,64bit") > > // Zbkb extension > TARGET_BUILTIN(__builtin_riscv_brev8_32, "UiUi", "nc", "zbkb") > TARGET_BUILTIN(__builtin_riscv_brev8_64, "UWiUWi", "nc", "zbkb,64bit") > TARGET_BUILTIN(__builtin_riscv_zip_32, "UiUi", "nc", "zbkb,32bit") > TARGET_BUILTIN(__builtin_riscv_unzip_32, "UiUi", "nc", "zbkb,32bit")