| //===----------------------------------------------------------------------===// |
| // Xtensa subtarget features. |
| //===----------------------------------------------------------------------===// |
| |
| // Xtensa ISA extensions (Xtensa Options). |
| def FeatureDensity : SubtargetFeature<"density", "HasDensity", "true", |
| "Enable Density instructions">; |
| def HasDensity : Predicate<"Subtarget->hasDensity()">, |
| AssemblerPredicate<(all_of FeatureDensity)>; |
| |
| def FeatureWindowed : SubtargetFeature<"windowed", "HasWindowed", "true", |
| "Enable Xtensa Windowed Register option">; |
| def HasWindowed : Predicate<"Subtarget->hasWindowed()">, |
| AssemblerPredicate<(all_of FeatureWindowed)>; |
| |
| def FeatureMAC16 : SubtargetFeature<"mac16", "HasMAC16", "true", |
| "Enable Xtensa MAC16 instructions">; |
| def HasMAC16 : Predicate<"Subtarget->hasMAC16()">, |
| AssemblerPredicate<(all_of FeatureMAC16)>; |
| |
| def FeatureBoolean : SubtargetFeature<"bool", "HasBoolean", "true", |
| "Enable Xtensa Boolean extension">; |
| def HasBoolean : Predicate<"Subtarget->hasBoolean()">, |
| AssemblerPredicate<(all_of FeatureBoolean)>; |