rust/compiler/rustc_target/src/asm
Jubilee Young b807d5970b Fold aarch64 feature +fp into +neon
Arm's FEAT_FP and Feat_AdvSIMD describe the same thing on AArch64:
The Neon unit, which handles both floating point and SIMD instructions.
Moreover, a configuration for AArch64 must include both or neither.
Arm says "entirely proprietary" toolchains may omit floating point:
https://developer.arm.com/documentation/102374/0101/Data-processing---floating-point
In the Programmer's Guide for Armv8-A, Arm says AArch64 can have
both FP and Neon or neither in custom implementations:
https://developer.arm.com/documentation/den0024/a/AArch64-Floating-point-and-NEON

In "Bare metal boot code for Armv8-A", enabling Neon and FP
is just disabling the same trap flag:
https://developer.arm.com/documentation/dai0527/a

In an unlikely future where "Neon and FP" become unrelated,
we can add "[+-]fp" as its own feature flag.
Until then, we can simplify programming with Rust on AArch64 by
folding both into "[+-]neon", which is valid as it supersets both.

"[+-]neon" is retained for niche uses such as firmware, kernels,
"I just hate floats", and so on.
2022-03-22 15:14:33 -07:00
..
aarch64.rs Fold aarch64 feature +fp into +neon 2022-03-22 15:14:33 -07:00
arm.rs ARM: Only allow using d16-d31 with asm! when supported by the target 2022-02-24 22:37:53 +00:00
avr.rs Use Symbol for target features in asm handling 2022-01-17 18:06:27 +01:00
bpf.rs Simplify gating of BPF w registers behind the alu32 target feature 2022-02-21 18:28:22 +00:00
hexagon.rs Use Symbol for target features in asm handling 2022-01-17 18:06:27 +01:00
mips.rs Use Symbol for target features in asm handling 2022-01-17 18:06:27 +01:00
mod.rs Take CodegenFnAttrs into account when validating asm! register operands 2022-02-21 18:28:22 +00:00
msp430.rs Add preliminary support for inline assembly for msp430. 2022-01-22 23:42:46 -05:00
nvptx.rs Use Symbol for target features in asm handling 2022-01-17 18:06:27 +01:00
powerpc.rs Use Symbol for target features in asm handling 2022-01-17 18:06:27 +01:00
riscv.rs Add tests 2022-02-21 18:28:22 +00:00
s390x.rs Use Symbol for target features in asm handling 2022-01-17 18:06:27 +01:00
spirv.rs Use Symbol for target features in asm handling 2022-01-17 18:06:27 +01:00
wasm.rs Use Symbol for target features in asm handling 2022-01-17 18:06:27 +01:00
x86.rs Add tests 2022-02-21 18:28:22 +00:00