[PATCH] D54633: [NFC][AArch64] Split out backend features
Diogo N. Sampaio via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 27 10:03:24 PST 2018
dnsampaio marked 21 inline comments as done.
dnsampaio added inline comments.
================
Comment at: lib/Target/AArch64/AArch64.td:71
+ "Enable ARMv8 Reliability, Availability and Serviceability Extensions",
+ [FeatureID_AA64MMFR2_EL1]>;
----------------
olista01 wrote:
> RAS doesn't use ID_AA64MMFR2_EL1.
True.
================
Comment at: lib/Target/AArch64/AArch64.td:92
+def FeaturePAN : SubtargetFeature<
+ "hasPAN", "HasPAN", "true",
+ "Enables ARM v8.1 Privileged Access-Never extension">;
----------------
olista01 wrote:
> None of the existing features have the with "has" in the name (first parameter), so I think we should stick with that convention.
Ok.
================
Comment at: lib/Target/AArch64/AArch64.td:240
+ "Enable v8.3-A Floating-point complex number support",
+ [FeatureNEON]>;
+
----------------
olista01 wrote:
> This should also depend on FeatureFullFP16.
They FP16 instructions are dependent of FullFP16. In AArch64InstrFormats.td, you will see that such instructions depend on ComplNum, NEON and FullFP16.
================
Comment at: lib/Target/AArch64/AArch64.td:261
+def FeatureTRACE : SubtargetFeature<
+ "hasTRACE", "HasTRACE", "true",
+ "Enable v8.4-A Trace extension">;
----------------
olista01 wrote:
> I think this name is too generic, trace has always been a part of the 64-bit architecture, this feature just enables some extensions to it.
Ok, will set to TRACEv8_4.
================
Comment at: lib/Target/AArch64/AArch64.td:273
+def FeatureTLBI : SubtargetFeature<
+ "hasTLBI", "HasTLBI", "true",
+ "Enable v8.4-A TLB range and maintenance Instructions",
----------------
olista01 wrote:
> This name is too generic, maybe "tlbi-range"?
tlb-rmi TLB Range and Management Instructions?
================
Comment at: lib/Target/AArch64/AArch64.td:285
+ "hasWRC", "HasWRC", "true",
+ "Enable v8.4-A Weaker Release Consistency enhancements">;
+
----------------
bryanpkc wrote:
> Should `FeatureWRC` imply `FeatureRCPC`?
Yes it should. Indeed the naming is not the best. Will set it to RCPC_IMMO, as for "RCPC with Immediate Offset".
================
Comment at: lib/Target/AArch64/AArch64InstrInfo.td:2965
-let Predicates = [HasV8_1a] in {
+let Predicates = [HasVH] in {
// v8.1a "Limited Order Region" extension load-acquire instructions
----------------
olista01 wrote:
> This is the "Limited ordering regions" (ARMv8.1-LOR in the ArmARM) extension, not "Virtualization host extensions" (ARMv8.1-VHE). This will need a separate subtarget feature.
Indeed the feature is there, just got it wrong here. Thanks.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D54633/new/
https://reviews.llvm.org/D54633
More information about the llvm-commits
mailing list