@@ -58,8 +58,13 @@ def DirectivePwrFuture
5858
5959// Specifies that the selected CPU supports 64-bit instructions, regardless of
6060// whether we are in 32-bit or 64-bit mode.
61- def Feature64Bit : SubtargetFeature<"64bit","Has64BitSupport", "true",
62- "Enable 64-bit instructions">;
61+ def Feature64BitSupport : SubtargetFeature<"64bit-support", "Has64BitSupport", "true",
62+ "Supports 64-bit instructions">;
63+ // 64-bit is enabled.
64+ def Feature64Bit : SubtargetFeature<"64bit", "IsPPC64", "true",
65+ "Enable 64-bit mode",
66+ [Feature64BitSupport]>;
67+
6368def AIXOS: SubtargetFeature<"aix", "IsAIX", "true", "AIX OS">;
6469def FeatureModernAIXAs
6570 : SubtargetFeature<"modern-aix-as", "HasModernAIXAs", "true",
@@ -85,7 +90,7 @@ def FeatureAltivec : SubtargetFeature<"altivec","HasAltivec", "true",
8590def FeatureSPE : SubtargetFeature<"spe","HasSPE", "true",
8691 "Enable SPE instructions",
8792 [FeatureHardFloat]>;
88- def FeatureEFPU2 : SubtargetFeature<"efpu2", "HasEFPU2", "true",
93+ def FeatureEFPU2 : SubtargetFeature<"efpu2", "HasEFPU2", "true",
8994 "Enable Embedded Floating-Point APU 2 instructions",
9095 [FeatureSPE]>;
9196def FeatureMFOCRF : SubtargetFeature<"mfocrf","HasMFOCRF", "true",
@@ -429,7 +434,7 @@ def ProcessorFeatures {
429434 FeaturePOPCNTD,
430435 FeatureCMPB,
431436 FeatureLDBRX,
432- Feature64Bit ,
437+ Feature64BitSupport ,
433438 /* Feature64BitRegs, */
434439 FeatureBPERMD,
435440 FeatureExtDiv,
@@ -667,13 +672,13 @@ def : ProcessorModel<"970", G5Model,
667672 [Directive970, FeatureAltivec,
668673 FeatureMFOCRF, FeatureFSqrt,
669674 FeatureFRES, FeatureFRSQRTE, FeatureSTFIWX,
670- Feature64Bit /*, Feature64BitRegs */,
675+ Feature64BitSupport /*, Feature64BitRegs */,
671676 FeatureMFTB]>;
672677def : ProcessorModel<"g5", G5Model,
673678 [Directive970, FeatureAltivec,
674679 FeatureMFOCRF, FeatureFSqrt, FeatureSTFIWX,
675680 FeatureFRES, FeatureFRSQRTE,
676- Feature64Bit /*, Feature64BitRegs */,
681+ Feature64BitSupport /*, Feature64BitRegs */,
677682 FeatureMFTB, DeprecatedDST]>;
678683def : ProcessorModel<"e500", PPCE500Model,
679684 [DirectiveE500,
@@ -694,41 +699,41 @@ def : ProcessorModel<"a2", PPCA2Model,
694699 FeatureSTFIWX, FeatureLFIWAX,
695700 FeatureFPRND, FeatureFPCVT, FeatureISEL,
696701 FeatureSlowPOPCNTD, FeatureCMPB, FeatureLDBRX,
697- Feature64Bit /*, Feature64BitRegs */, FeatureMFTB,
702+ Feature64BitSupport /*, Feature64BitRegs */, FeatureMFTB,
698703 FeatureISA2_06]>;
699704def : ProcessorModel<"pwr3", G5Model,
700705 [DirectivePwr3, FeatureAltivec,
701706 FeatureFRES, FeatureFRSQRTE, FeatureMFOCRF,
702- FeatureSTFIWX, Feature64Bit ]>;
707+ FeatureSTFIWX, Feature64BitSupport ]>;
703708def : ProcessorModel<"pwr4", G5Model,
704709 [DirectivePwr4, FeatureAltivec, FeatureMFOCRF,
705710 FeatureFSqrt, FeatureFRES, FeatureFRSQRTE,
706- FeatureSTFIWX, Feature64Bit , FeatureMFTB]>;
711+ FeatureSTFIWX, Feature64BitSupport , FeatureMFTB]>;
707712def : ProcessorModel<"pwr5", G5Model,
708713 [DirectivePwr5, FeatureAltivec, FeatureMFOCRF,
709714 FeatureFSqrt, FeatureFRE, FeatureFRES,
710715 FeatureFRSQRTE, FeatureFRSQRTES,
711- FeatureSTFIWX, Feature64Bit ,
716+ FeatureSTFIWX, Feature64BitSupport ,
712717 FeatureMFTB, DeprecatedDST]>;
713718def : ProcessorModel<"pwr5x", G5Model,
714719 [DirectivePwr5x, FeatureAltivec, FeatureMFOCRF,
715720 FeatureFSqrt, FeatureFRE, FeatureFRES,
716721 FeatureFRSQRTE, FeatureFRSQRTES,
717- FeatureSTFIWX, FeatureFPRND, Feature64Bit ,
722+ FeatureSTFIWX, FeatureFPRND, Feature64BitSupport ,
718723 FeatureMFTB, DeprecatedDST]>;
719724def : ProcessorModel<"pwr6", G5Model,
720725 [DirectivePwr6, FeatureAltivec,
721726 FeatureMFOCRF, FeatureFCPSGN, FeatureFSqrt, FeatureFRE,
722727 FeatureFRES, FeatureFRSQRTE, FeatureFRSQRTES,
723728 FeatureRecipPrec, FeatureSTFIWX, FeatureLFIWAX, FeatureCMPB,
724- FeatureFPRND, Feature64Bit /*, Feature64BitRegs */,
729+ FeatureFPRND, Feature64BitSupport /*, Feature64BitRegs */,
725730 FeatureMFTB, DeprecatedDST]>;
726731def : ProcessorModel<"pwr6x", G5Model,
727732 [DirectivePwr5x, FeatureAltivec, FeatureMFOCRF,
728733 FeatureFCPSGN, FeatureFSqrt, FeatureFRE, FeatureFRES,
729734 FeatureFRSQRTE, FeatureFRSQRTES, FeatureRecipPrec,
730735 FeatureSTFIWX, FeatureLFIWAX, FeatureCMPB,
731- FeatureFPRND, Feature64Bit ,
736+ FeatureFPRND, Feature64BitSupport ,
732737 FeatureMFTB, DeprecatedDST]>;
733738def : ProcessorModel<"pwr7", P7Model, ProcessorFeatures.P7Features>;
734739def : ProcessorModel<"pwr8", P8Model, ProcessorFeatures.P8Features>;
@@ -746,7 +751,7 @@ def : ProcessorModel<"ppc64", G5Model,
746751 [Directive64, FeatureAltivec,
747752 FeatureMFOCRF, FeatureFSqrt, FeatureFRES,
748753 FeatureFRSQRTE, FeatureSTFIWX,
749- Feature64Bit /*, Feature64BitRegs */,
754+ Feature64BitSupport /*, Feature64BitRegs */,
750755 FeatureMFTB]>;
751756def : ProcessorModel<"ppc64le", P8Model, ProcessorFeatures.P8Features>;
752757
0 commit comments