diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-12-11 18:57:54 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-12-11 18:57:54 +0000 |
commit | a8ab1b75cb0d84ea61642d7b7c0139e6e367c28e (patch) | |
tree | e5c4b89bd21c115664b1be7bb84fa2ea11f8b3bd /llvm/lib/Target/Hexagon/HexagonSubtarget.cpp | |
parent | e83876e31d9da26c9e0c11cf7463e4a645e96bc4 (diff) | |
download | bcm5719-llvm-a8ab1b75cb0d84ea61642d7b7c0139e6e367c28e.tar.gz bcm5719-llvm-a8ab1b75cb0d84ea61642d7b7c0139e6e367c28e.zip |
[Hexagon] Add support for Hexagon V65
llvm-svn: 320404
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonSubtarget.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonSubtarget.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp b/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp index 37f1e455b23..6f1f6c46a10 100644 --- a/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp +++ b/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp @@ -93,7 +93,7 @@ static cl::opt<bool> EnableCheckBankConflict("hexagon-check-bank-conflict", HexagonSubtarget::HexagonSubtarget(const Triple &TT, StringRef CPU, StringRef FS, const TargetMachine &TM) : HexagonGenSubtargetInfo(TT, CPU, FS), OptLevel(TM.getOptLevel()), - CPUString(Hexagon_MC::selectHexagonCPU(TT, CPU)), + CPUString(Hexagon_MC::selectHexagonCPU(CPU)), InstrInfo(initializeSubtargetDependencies(CPU, FS)), RegInfo(getHwMode()), TLInfo(TM, *this), InstrItins(getInstrItineraryForCPU(CPUString)) { @@ -110,6 +110,7 @@ HexagonSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS) { {"hexagonv55", Hexagon::ArchEnum::V55}, {"hexagonv60", Hexagon::ArchEnum::V60}, {"hexagonv62", Hexagon::ArchEnum::V62}, + {"hexagonv65", Hexagon::ArchEnum::V65}, }; auto FoundIt = CpuTable.find(CPUString); @@ -131,6 +132,11 @@ HexagonSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS) { if (OverrideLongCalls.getPosition()) UseLongCalls = OverrideLongCalls; + FeatureBitset Features = getFeatureBits(); + if (HexagonDisableDuplex) + setFeatureBits(Features.set(Hexagon::FeatureDuplex, false)); + setFeatureBits(Hexagon_MC::completeHVXFeatures(Features)); + return *this; } |