summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonSubtarget.h
diff options
context:
space:
mode:
authorColin LeMahieu <colinl@codeaurora.org>2015-10-17 01:33:04 +0000
committerColin LeMahieu <colinl@codeaurora.org>2015-10-17 01:33:04 +0000
commit7c9587136d4b1942225860bf70a6db2ba54c08c4 (patch)
treeb664d0a6ac43258e2d54296c57c5aab7f464555b /llvm/lib/Target/Hexagon/HexagonSubtarget.h
parente0ee1e1cd6aa424977196a1052af08ed17950820 (diff)
downloadbcm5719-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.h8
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
OpenPOWER on IntegriCloud