@@ -58,8 +58,13 @@ def DirectivePwrFuture
58
58
59
59
// Specifies that the selected CPU supports 64-bit instructions, regardless of
60
60
// 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
+
63
68
def AIXOS: SubtargetFeature<"aix", "IsAIX", "true", "AIX OS">;
64
69
def FeatureModernAIXAs
65
70
: SubtargetFeature<"modern-aix-as", "HasModernAIXAs", "true",
@@ -85,7 +90,7 @@ def FeatureAltivec : SubtargetFeature<"altivec","HasAltivec", "true",
85
90
def FeatureSPE : SubtargetFeature<"spe","HasSPE", "true",
86
91
"Enable SPE instructions",
87
92
[FeatureHardFloat]>;
88
- def FeatureEFPU2 : SubtargetFeature<"efpu2", "HasEFPU2", "true",
93
+ def FeatureEFPU2 : SubtargetFeature<"efpu2", "HasEFPU2", "true",
89
94
"Enable Embedded Floating-Point APU 2 instructions",
90
95
[FeatureSPE]>;
91
96
def FeatureMFOCRF : SubtargetFeature<"mfocrf","HasMFOCRF", "true",
@@ -429,7 +434,7 @@ def ProcessorFeatures {
429
434
FeaturePOPCNTD,
430
435
FeatureCMPB,
431
436
FeatureLDBRX,
432
- Feature64Bit ,
437
+ Feature64BitSupport ,
433
438
/* Feature64BitRegs, */
434
439
FeatureBPERMD,
435
440
FeatureExtDiv,
@@ -667,13 +672,13 @@ def : ProcessorModel<"970", G5Model,
667
672
[Directive970, FeatureAltivec,
668
673
FeatureMFOCRF, FeatureFSqrt,
669
674
FeatureFRES, FeatureFRSQRTE, FeatureSTFIWX,
670
- Feature64Bit /*, Feature64BitRegs */,
675
+ Feature64BitSupport /*, Feature64BitRegs */,
671
676
FeatureMFTB]>;
672
677
def : ProcessorModel<"g5", G5Model,
673
678
[Directive970, FeatureAltivec,
674
679
FeatureMFOCRF, FeatureFSqrt, FeatureSTFIWX,
675
680
FeatureFRES, FeatureFRSQRTE,
676
- Feature64Bit /*, Feature64BitRegs */,
681
+ Feature64BitSupport /*, Feature64BitRegs */,
677
682
FeatureMFTB, DeprecatedDST]>;
678
683
def : ProcessorModel<"e500", PPCE500Model,
679
684
[DirectiveE500,
@@ -694,41 +699,41 @@ def : ProcessorModel<"a2", PPCA2Model,
694
699
FeatureSTFIWX, FeatureLFIWAX,
695
700
FeatureFPRND, FeatureFPCVT, FeatureISEL,
696
701
FeatureSlowPOPCNTD, FeatureCMPB, FeatureLDBRX,
697
- Feature64Bit /*, Feature64BitRegs */, FeatureMFTB,
702
+ Feature64BitSupport /*, Feature64BitRegs */, FeatureMFTB,
698
703
FeatureISA2_06]>;
699
704
def : ProcessorModel<"pwr3", G5Model,
700
705
[DirectivePwr3, FeatureAltivec,
701
706
FeatureFRES, FeatureFRSQRTE, FeatureMFOCRF,
702
- FeatureSTFIWX, Feature64Bit ]>;
707
+ FeatureSTFIWX, Feature64BitSupport ]>;
703
708
def : ProcessorModel<"pwr4", G5Model,
704
709
[DirectivePwr4, FeatureAltivec, FeatureMFOCRF,
705
710
FeatureFSqrt, FeatureFRES, FeatureFRSQRTE,
706
- FeatureSTFIWX, Feature64Bit , FeatureMFTB]>;
711
+ FeatureSTFIWX, Feature64BitSupport , FeatureMFTB]>;
707
712
def : ProcessorModel<"pwr5", G5Model,
708
713
[DirectivePwr5, FeatureAltivec, FeatureMFOCRF,
709
714
FeatureFSqrt, FeatureFRE, FeatureFRES,
710
715
FeatureFRSQRTE, FeatureFRSQRTES,
711
- FeatureSTFIWX, Feature64Bit ,
716
+ FeatureSTFIWX, Feature64BitSupport ,
712
717
FeatureMFTB, DeprecatedDST]>;
713
718
def : ProcessorModel<"pwr5x", G5Model,
714
719
[DirectivePwr5x, FeatureAltivec, FeatureMFOCRF,
715
720
FeatureFSqrt, FeatureFRE, FeatureFRES,
716
721
FeatureFRSQRTE, FeatureFRSQRTES,
717
- FeatureSTFIWX, FeatureFPRND, Feature64Bit ,
722
+ FeatureSTFIWX, FeatureFPRND, Feature64BitSupport ,
718
723
FeatureMFTB, DeprecatedDST]>;
719
724
def : ProcessorModel<"pwr6", G5Model,
720
725
[DirectivePwr6, FeatureAltivec,
721
726
FeatureMFOCRF, FeatureFCPSGN, FeatureFSqrt, FeatureFRE,
722
727
FeatureFRES, FeatureFRSQRTE, FeatureFRSQRTES,
723
728
FeatureRecipPrec, FeatureSTFIWX, FeatureLFIWAX, FeatureCMPB,
724
- FeatureFPRND, Feature64Bit /*, Feature64BitRegs */,
729
+ FeatureFPRND, Feature64BitSupport /*, Feature64BitRegs */,
725
730
FeatureMFTB, DeprecatedDST]>;
726
731
def : ProcessorModel<"pwr6x", G5Model,
727
732
[DirectivePwr5x, FeatureAltivec, FeatureMFOCRF,
728
733
FeatureFCPSGN, FeatureFSqrt, FeatureFRE, FeatureFRES,
729
734
FeatureFRSQRTE, FeatureFRSQRTES, FeatureRecipPrec,
730
735
FeatureSTFIWX, FeatureLFIWAX, FeatureCMPB,
731
- FeatureFPRND, Feature64Bit ,
736
+ FeatureFPRND, Feature64BitSupport ,
732
737
FeatureMFTB, DeprecatedDST]>;
733
738
def : ProcessorModel<"pwr7", P7Model, ProcessorFeatures.P7Features>;
734
739
def : ProcessorModel<"pwr8", P8Model, ProcessorFeatures.P8Features>;
@@ -746,7 +751,7 @@ def : ProcessorModel<"ppc64", G5Model,
746
751
[Directive64, FeatureAltivec,
747
752
FeatureMFOCRF, FeatureFSqrt, FeatureFRES,
748
753
FeatureFRSQRTE, FeatureSTFIWX,
749
- Feature64Bit /*, Feature64BitRegs */,
754
+ Feature64BitSupport /*, Feature64BitRegs */,
750
755
FeatureMFTB]>;
751
756
def : ProcessorModel<"ppc64le", P8Model, ProcessorFeatures.P8Features>;
752
757
0 commit comments