about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-08-15 20:11:37 +0200
committerGitHub <noreply@github.com>2022-08-15 20:11:37 +0200
commit17914c89ecbe9e7d7c887d1596d7f0463ee9a1aa (patch)
tree25e852d47f0ab00208b966b4dd68adf95587be19 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parenta1fdea2b787c919596bbb4c5c12982decf45fbe9 (diff)
parentbe8fd0e59186f82318acac9381d304f21f4c715d (diff)
downloadrust-17914c89ecbe9e7d7c887d1596d7f0463ee9a1aa.tar.gz
rust-17914c89ecbe9e7d7c887d1596d7f0463ee9a1aa.zip
Rollup merge of #100528 - tux3:riscv-bitmanip-features, r=davidtwco
Support 1st group of RISC-V Bitmanip backend target features

These target features use the same names as LLVM and `is_riscv_feature_detected!`, they are:
- zba (address generation instructions)
- zbb (basic bit manipulation)
- zbc (carry-less multiplication)
- zbs (single-bit manipulation)

The extension is frozen and ratified, and I don't think we should expect LLVM to change those feature names in the future.
For reference, the specification for the B extension can be found here: https://github.com/riscv/riscv-bitmanip/releases/download/1.0.0/bitmanip-1.0.0-38-g865e7a7.pdf)

On my current project, I see a 7.6% reduction in binary size with these features on, so I have some incentive to try to silence the "unknown feature" warning from `-Ctarget-feature` =)
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions