You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The set of features in arch/aarch64.rs is rather behind the architecture (and what's described by Linux's auxv).
I went to bring the list up to date, and noticed that a few are actually listed (in os/linux/aarch64.rs), but commented out. Are they deliberately omitted? If so, what criteria are used for inclusion here?
Oh, thanks for that pointer! I will do that; it makes sense to keep these in agreement.
Actually making use of them in the compiler will be rather more difficult, of course. Can I assume that all that is required is awareness (e.g. for asm!)?
Yes, I saw reference to that in a comment in rustc (in your first link).
I think there may be a missing translation there, actually: "fp16" is called "fphp" in Linux and the tests don't detect it (when other tools do). I've not followed the logic through the whole stack yet; consider it a strong hunch :-) Since finding hardware with all of the features is difficult, I intend to test what I can, and audit the the whole list to check that there aren't similar issues elsewhere.
Activity
Amanieu commentedon Feb 3, 2021
It's just because these features are not supported here in the compiler. You are welcome to update both to add the latest features.
jacobbramley commentedon Feb 4, 2021
Oh, thanks for that pointer! I will do that; it makes sense to keep these in agreement.
Actually making use of them in the compiler will be rather more difficult, of course. Can I assume that all that is required is awareness (e.g. for
asm!
)?Amanieu commentedon Feb 4, 2021
The main concern is that the compiler and stdarch (and LLVM to some extent) agree on the same name for a particular feature. You should check against the feature names that LLVM uses in https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AArch64/AArch64.td, though rustc has some renaming logic for some feature names.
jacobbramley commentedon Feb 4, 2021
Yes, I saw reference to that in a comment in rustc (in your first link).
I think there may be a missing translation there, actually: "fp16" is called "fphp" in Linux and the tests don't detect it (when other tools do). I've not followed the logic through the whole stack yet; consider it a strong hunch :-) Since finding hardware with all of the features is difficult, I intend to test what I can, and audit the the whole list to check that there aren't similar issues elsewhere.
Amanieu commentedon Feb 15, 2021
The feature detection code was fixed in #1005. However the submodule in rust-lang/rust hasn't been updated yet.
Rollup merge of rust-lang#84665 - adamgemmell:aarch64-features, r=Ama…