Lines Matching full:features

32 /// configured set of features.
33 bool PPCTargetInfo::handleTargetFeatures(std::vector<std::string> &Features, in handleTargetFeatures() argument
36 for (const auto &Feature : Features) { in handleTargetFeatures()
517 llvm::StringMap<bool> &Features, DiagnosticsEngine &Diags, StringRef CPU, in initFeatureMap() argument
519 Features["altivec"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
534 Features["power9-vector"] = (CPU == "pwr9"); in initFeatureMap()
535 Features["crypto"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
540 Features["power8-vector"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
545 Features["bpermd"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
551 Features["extdiv"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
557 Features["direct-move"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
562 Features["crbits"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
567 Features["vsx"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
573 Features["htm"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
580 Features["rop-protect"] = false; in initFeatureMap()
582 Features["privileged"] = false; in initFeatureMap()
586 Features["aix-small-local-exec-tls"] = false; in initFeatureMap()
587 Features["aix-small-local-dynamic-tls"] = false; in initFeatureMap()
590 Features["aix-shared-lib-tls-model-opt"] = false; in initFeatureMap()
592 Features["spe"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
597 Features["isa-v206-instructions"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
605 Features["isa-v207-instructions"] = llvm::StringSwitch<bool>(CPU) in initFeatureMap()
611 Features["isa-v30-instructions"] = in initFeatureMap()
614 Features["quadword-atomics"] = in initFeatureMap()
620 // Power10 includes all the same features as Power9 plus any features specific in initFeatureMap()
623 initFeatureMap(Features, Diags, "pwr9", FeaturesVec); in initFeatureMap()
624 addP10SpecificFeatures(Features); in initFeatureMap()
627 // Power11 includes all the same features as Power10 plus any features in initFeatureMap()
630 initFeatureMap(Features, Diags, "pwr10", FeaturesVec); in initFeatureMap()
631 addP11SpecificFeatures(Features); in initFeatureMap()
634 // Future CPU should include all of the features of Power 11 as well as any in initFeatureMap()
635 // additional features (yet to be determined) specific to it. in initFeatureMap()
637 initFeatureMap(Features, Diags, "pwr11", FeaturesVec); in initFeatureMap()
638 addFutureSpecificFeatures(Features); in initFeatureMap()
693 return TargetInfo::initFeatureMap(Features, Diags, CPU, FeaturesVec); in initFeatureMap()
696 // Add any Power10 specific features.
698 llvm::StringMap<bool> &Features) const { in addP10SpecificFeatures()
699 Features["htm"] = false; // HTM was removed for P10. in addP10SpecificFeatures()
700 Features["paired-vector-memops"] = true; in addP10SpecificFeatures()
701 Features["mma"] = true; in addP10SpecificFeatures()
702 Features["power10-vector"] = true; in addP10SpecificFeatures()
703 Features["pcrelative-memops"] = true; in addP10SpecificFeatures()
704 Features["prefix-instrs"] = true; in addP10SpecificFeatures()
705 Features["isa-v31-instructions"] = true; in addP10SpecificFeatures()
708 // Add any Power11 specific features.
710 llvm::StringMap<bool> &Features) const {} in addP11SpecificFeatures()
712 // Add features specific to the "Future" CPU.
714 llvm::StringMap<bool> &Features) const {} in addFutureSpecificFeatures()
750 void PPCTargetInfo::setFeatureEnabled(llvm::StringMap<bool> &Features, in setFeatureEnabled() argument
754 Features["spe"] = true; in setFeatureEnabled()
755 // If we're enabling any of the vsx based features then enable vsx and in setFeatureEnabled()
768 Features["vsx"] = Features["altivec"] = true; in setFeatureEnabled()
770 Features["power8-vector"] = true; in setFeatureEnabled()
772 Features["power8-vector"] = Features["power9-vector"] = true; in setFeatureEnabled()
774 Features["pcrelative-memops"] = true; in setFeatureEnabled()
776 Features["prefix-instrs"] = true; in setFeatureEnabled()
778 Features[Name] = true; in setFeatureEnabled()
781 Features["efpu2"] = false; in setFeatureEnabled()
783 // features. in setFeatureEnabled()
785 Features["vsx"] = Features["direct-move"] = Features["power8-vector"] = in setFeatureEnabled()
786 Features["float128"] = Features["power9-vector"] = in setFeatureEnabled()
787 Features["paired-vector-memops"] = Features["mma"] = in setFeatureEnabled()
788 Features["power10-vector"] = false; in setFeatureEnabled()
790 Features["power9-vector"] = Features["paired-vector-memops"] = in setFeatureEnabled()
791 Features["mma"] = Features["power10-vector"] = false; in setFeatureEnabled()
793 Features["paired-vector-memops"] = Features["mma"] = in setFeatureEnabled()
794 Features["power10-vector"] = false; in setFeatureEnabled()
796 Features["pcrelative-memops"] = false; in setFeatureEnabled()
798 Features["prefix-instrs"] = false; in setFeatureEnabled()
800 Features[Name] = false; in setFeatureEnabled()