rustc_target: Add the fp16 target feature for AArch32
This commit is contained in:
parent
5ff18d0eae
commit
53f9852224
2 changed files with 2 additions and 0 deletions
|
@ -271,6 +271,7 @@ pub(crate) fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> Option<LLVMFea
|
||||||
("aarch64", "fp16") => Some(LLVMFeature::new("fullfp16")),
|
("aarch64", "fp16") => Some(LLVMFeature::new("fullfp16")),
|
||||||
// Filter out features that are not supported by the current LLVM version
|
// Filter out features that are not supported by the current LLVM version
|
||||||
("aarch64", "fpmr") if get_version().0 != 18 => None,
|
("aarch64", "fpmr") if get_version().0 != 18 => None,
|
||||||
|
("arm", "fp16") => Some(LLVMFeature::new("fullfp16")),
|
||||||
// In LLVM 18, `unaligned-scalar-mem` was merged with `unaligned-vector-mem` into a single
|
// In LLVM 18, `unaligned-scalar-mem` was merged with `unaligned-vector-mem` into a single
|
||||||
// feature called `fast-unaligned-access`. In LLVM 19, it was split back out.
|
// feature called `fast-unaligned-access`. In LLVM 19, it was split back out.
|
||||||
("riscv32" | "riscv64", "unaligned-scalar-mem") if get_version().0 == 18 => {
|
("riscv32" | "riscv64", "unaligned-scalar-mem") if get_version().0 == 18 => {
|
||||||
|
|
|
@ -145,6 +145,7 @@ const ARM_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
|
||||||
("dotprod", Unstable(sym::arm_target_feature), &["neon"]),
|
("dotprod", Unstable(sym::arm_target_feature), &["neon"]),
|
||||||
("dsp", Unstable(sym::arm_target_feature), &[]),
|
("dsp", Unstable(sym::arm_target_feature), &[]),
|
||||||
("fp-armv8", Unstable(sym::arm_target_feature), &["vfp4"]),
|
("fp-armv8", Unstable(sym::arm_target_feature), &["vfp4"]),
|
||||||
|
("fp16", Unstable(sym::arm_target_feature), &["neon"]),
|
||||||
("fpregs", Unstable(sym::arm_target_feature), &[]),
|
("fpregs", Unstable(sym::arm_target_feature), &[]),
|
||||||
("i8mm", Unstable(sym::arm_target_feature), &["neon"]),
|
("i8mm", Unstable(sym::arm_target_feature), &["neon"]),
|
||||||
("mclass", Unstable(sym::arm_target_feature), &[]),
|
("mclass", Unstable(sym::arm_target_feature), &[]),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue