// Subtarget Features
//===----------------------------------------------------------------------===//
-def FeatureCIX : SubtargetFeature<"CIX", "Enable CIX extentions">;
-def FeatureFIX : SubtargetFeature<"FIX", "Enable FIX extentions">;
+def FeatureCIX : SubtargetFeature<"CIX", "bool", "HasCT",
+ "Enable CIX extentions">;
+def FeatureFIX : SubtargetFeature<"FIX", "bool", "HasF2I",
+ "Enable FIX extentions">;
//===----------------------------------------------------------------------===//
// Register File Description
// PowerPC Subtarget features.
//
-def Feature64Bit : SubtargetFeature<"64bit",
+def Feature64Bit : SubtargetFeature<"64bit", "bool", "Is64Bit",
"Enable 64-bit instructions">;
-def Feature64BitRegs : SubtargetFeature<"64bitregs",
+def Feature64BitRegs : SubtargetFeature<"64bitregs", "bool", "Has64BitRegs",
"Enable 64-bit registers [beta]">;
-def FeatureAltivec : SubtargetFeature<"altivec",
+def FeatureAltivec : SubtargetFeature<"altivec", "bool", "HasAltivec",
"Enable Altivec instructions">;
-def FeatureGPUL : SubtargetFeature<"gpul",
+def FeatureGPUL : SubtargetFeature<"gpul", "bool", "IsGigaProcessor",
"Enable GPUL instructions">;
-def FeatureFSqrt : SubtargetFeature<"fsqrt",
+def FeatureFSqrt : SubtargetFeature<"fsqrt", "bool", "HasFSQRT",
"Enable the fsqrt instruction">;
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
// SubtargetFeature - A characteristic of the chip set.
//
-class SubtargetFeature<string n, string d> {
+class SubtargetFeature<string n, string t, string a, string d> {
// Name - Feature name. Used by command line (-mattr=) to determine the
// appropriate target chip.
//
string Name = n;
+ // Type - Type of attribute to be set by feature.
+ //
+ string Type = t;
+
+ // Attribute - Attribute to be set by feature.
+ //
+ string Attribute = a;
+
// Desc - Feature description. Used by command line (-mattr=) to display help
// information.
//