diff options
author | Colin LeMahieu <colinl@codeaurora.org> | 2015-10-17 01:33:04 +0000 |
---|---|---|
committer | Colin LeMahieu <colinl@codeaurora.org> | 2015-10-17 01:33:04 +0000 |
commit | 7c9587136d4b1942225860bf70a6db2ba54c08c4 (patch) | |
tree | b664d0a6ac43258e2d54296c57c5aab7f464555b /llvm/lib/Target/Hexagon/HexagonSubtarget.h | |
parent | e0ee1e1cd6aa424977196a1052af08ed17950820 (diff) | |
download | bcm5719-llvm-7c9587136d4b1942225860bf70a6db2ba54c08c4.tar.gz bcm5719-llvm-7c9587136d4b1942225860bf70a6db2ba54c08c4.zip |
[Hexagon] Adding skeleton of HVX extension instructions.
llvm-svn: 250600
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonSubtarget.h')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonSubtarget.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonSubtarget.h b/llvm/lib/Target/Hexagon/HexagonSubtarget.h index 34cdad786f8..713f179adab 100644 --- a/llvm/lib/Target/Hexagon/HexagonSubtarget.h +++ b/llvm/lib/Target/Hexagon/HexagonSubtarget.h @@ -34,12 +34,12 @@ namespace llvm { class HexagonSubtarget : public HexagonGenSubtargetInfo { virtual void anchor(); - bool UseMemOps; + bool UseMemOps, UseHVXOps, UseHVXDblOps; bool ModeIEEERndNear; public: enum HexagonArchEnum { - V4, V5 + V4, V5, V55, V60 }; HexagonArchEnum HexagonArchVersion; @@ -84,7 +84,11 @@ public: bool useMemOps() const { return UseMemOps; } bool hasV5TOps() const { return getHexagonArchVersion() >= V5; } bool hasV5TOpsOnly() const { return getHexagonArchVersion() == V5; } + bool hasV60TOps() const { return getHexagonArchVersion() >= V60; } + bool hasV60TOpsOnly() const { return getHexagonArchVersion() == V60; } bool modeIEEERndNear() const { return ModeIEEERndNear; } + bool useHVXDblOps() const { return UseHVXDblOps; } + bool useHVXSglOps() const { return UseHVXOps && !UseHVXDblOps; } bool enableMachineScheduler() const override; // Always use the TargetLowering default scheduler. // FIXME: This will use the vliw scheduler which is probably just hurting |