Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
The scalar crypto v1.0 builtins/intrinsics is still under discussion. Maybe we should wait for the final results?
Any intrinsic that takes an immediate that needs to be in certain range, needs to have code added to SemaChecking.cpp to validate the range. Look for the other places we call SemaBuiltinConstantArgRange in Sema::CheckRISCVBuiltinFunctionCall
clang/include/clang/Basic/BuiltinsRISCV.def | ||
---|---|---|
62 | Nothing is preventing __builtin_riscv_zip/unzip from being used on RV64 which will crash. We don't have a "32bit" feature flag so we can't fix it from here. You'll need to go into clang/lib/Sema/SemaChecking.cpp and implement something like where X86 emits err_32_bit_builtin_64_bit_tgt. Same is true for any other 32-bit only intrinsic. |
clang/include/clang/Basic/BuiltinsRISCV.def | ||
---|---|---|
61 | Shouldn't brev8 be using "LiLi"? | |
62 | Please add _32 to the end of zip and unzip. | |
clang/lib/Sema/SemaChecking.cpp | ||
4092 ↗ | (On Diff #411676) | What about aes64ks1i's rnum? |
clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbkb.c | ||
13 ↗ | (On Diff #411676) | This should be long not int |
clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbkb.c | ||
1 ↗ | (On Diff #411676) | Extra blank line at the top of the file |
9 ↗ | (On Diff #411676) | These should be i64 |
14 ↗ | (On Diff #411676) | This should be long not int |
Capital Z