================ @@ -128,6 +128,59 @@ static cl::opt<bool> EnableHexagonCabac static constexpr StringRef DefaultArch = "hexagonv68"; +static const FeatureBitset HexagonArchFeatures = { + llvm::Hexagon::ArchV5, llvm::Hexagon::ArchV55, llvm::Hexagon::ArchV60, + llvm::Hexagon::ArchV62, llvm::Hexagon::ArchV65, llvm::Hexagon::ArchV66, + llvm::Hexagon::ArchV67, llvm::Hexagon::ArchV68, llvm::Hexagon::ArchV69, + llvm::Hexagon::ArchV71, llvm::Hexagon::ArchV73, llvm::Hexagon::ArchV75, + llvm::Hexagon::ArchV79, +}; + +static const FeatureBitset HVXFeatures = { + llvm::Hexagon::ExtensionHVX, + llvm::Hexagon::ExtensionHVX64B, + llvm::Hexagon::ExtensionHVX128B, +}; + +static const FeatureBitset HVXVersionFeatures = { + llvm::Hexagon::ExtensionHVXV60, llvm::Hexagon::ExtensionHVXV62, + llvm::Hexagon::ExtensionHVXV65, llvm::Hexagon::ExtensionHVXV66, + llvm::Hexagon::ExtensionHVXV67, llvm::Hexagon::ExtensionHVXV68, + llvm::Hexagon::ExtensionHVXV69, llvm::Hexagon::ExtensionHVXV71, + llvm::Hexagon::ExtensionHVXV73, llvm::Hexagon::ExtensionHVXV75, + llvm::Hexagon::ExtensionHVXV79, + +}; + +static const std::unordered_map<unsigned, unsigned> HexagonDefaultHVXVersion = { + {llvm::Hexagon::ArchV60, llvm::Hexagon::ExtensionHVXV60}, + {llvm::Hexagon::ArchV62, llvm::Hexagon::ExtensionHVXV62}, + {llvm::Hexagon::ArchV65, llvm::Hexagon::ExtensionHVXV65}, + {llvm::Hexagon::ArchV66, llvm::Hexagon::ExtensionHVXV66}, + {llvm::Hexagon::ArchV67, llvm::Hexagon::ExtensionHVXV67}, + {llvm::Hexagon::ArchV68, llvm::Hexagon::ExtensionHVXV68}, + {llvm::Hexagon::ArchV69, llvm::Hexagon::ExtensionHVXV69}, + {llvm::Hexagon::ArchV71, llvm::Hexagon::ExtensionHVXV71}, + {llvm::Hexagon::ArchV73, llvm::Hexagon::ExtensionHVXV73}, + {llvm::Hexagon::ArchV75, llvm::Hexagon::ExtensionHVXV75}, + {llvm::Hexagon::ArchV79, llvm::Hexagon::ExtensionHVXV79}, + +}; + +// An enum must be used as a command option type, therefore we need to convert +// it. Note that no mapping exists for NoArch and Generic, the users must filter +// these values. +static const std::map<llvm::Hexagon::ArchEnum, unsigned> ---------------- quic-akaryaki wrote:
Absolutely. https://github.com/llvm/llvm-project/pull/145812 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits