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` =)
This commit is contained in:
commit
17914c89ec
1 changed files with 4 additions and 0 deletions
|
@ -227,6 +227,10 @@ const RISCV_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
|
|||
("zhinxmin", Some(sym::riscv_target_feature)),
|
||||
("zfh", Some(sym::riscv_target_feature)),
|
||||
("zfhmin", Some(sym::riscv_target_feature)),
|
||||
("zba", Some(sym::riscv_target_feature)),
|
||||
("zbb", Some(sym::riscv_target_feature)),
|
||||
("zbc", Some(sym::riscv_target_feature)),
|
||||
("zbs", Some(sym::riscv_target_feature)),
|
||||
("zbkb", Some(sym::riscv_target_feature)),
|
||||
("zbkc", Some(sym::riscv_target_feature)),
|
||||
("zbkx", Some(sym::riscv_target_feature)),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue