summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonSubtarget.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonSubtarget.h')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonSubtarget.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonSubtarget.h b/llvm/lib/Target/Hexagon/HexagonSubtarget.h
index ea69bd34192..678ef210d0a 100644
--- a/llvm/lib/Target/Hexagon/HexagonSubtarget.h
+++ b/llvm/lib/Target/Hexagon/HexagonSubtarget.h
@@ -50,6 +50,8 @@ class HexagonSubtarget : public HexagonGenSubtargetInfo {
bool UseLongCalls;
bool ModeIEEERndNear;
+ bool HasMemNoShuf = false;
+ bool EnableDuplex = false;
public:
Hexagon::ArchEnum HexagonArchVersion;
Hexagon::ArchEnum HexagonHVXVersion = Hexagon::ArchEnum::V4;
@@ -138,11 +140,18 @@ public:
bool hasV62TOpsOnly() const {
return getHexagonArchVersion() == Hexagon::ArchEnum::V62;
}
+ bool hasV65TOps() const {
+ return getHexagonArchVersion() >= Hexagon::ArchEnum::V65;
+ }
+ bool hasV65TOpsOnly() const {
+ return getHexagonArchVersion() == Hexagon::ArchEnum::V65;
+ }
bool modeIEEERndNear() const { return ModeIEEERndNear; }
bool useHVXOps() const { return HexagonHVXVersion > Hexagon::ArchEnum::V4; }
bool useHVX128BOps() const { return useHVXOps() && UseHVX128BOps; }
bool useHVX64BOps() const { return useHVXOps() && UseHVX64BOps; }
+ bool hasMemNoShuf() const { return HasMemNoShuf; }
bool useLongCalls() const { return UseLongCalls; }
bool usePredicatedCalls() const;
OpenPOWER on IntegriCloud