https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94396
Bug ID: 94396 Summary: [8/9/10 Regression] fp16 feature bits not passed on to assembler from Armv8.4-a and up. Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: tnfchris at gcc dot gnu.org Reporter: tnfchris at gcc dot gnu.org Target Milestone: --- Target: aarch64-* At Arm8.2-a using `+fp16fml` enables both `+fp` and `+fp16` as such the smallest canonical option to use is `armv8.2-a+fp16fml`. For `Armv8.4-a` and up `+fp16fml` is mandatory if `+fp16` but optional otherwise. This requirement confuses the canonization. This confusion makes `armv8.4-a+fp16` canonicalize to `armv8.4-a` which is incorrect and so it's impossible to use `fp16` and `fp16fml` at `armv8.4-a` and higher.