aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SystemZ/SystemZSubtarget.h
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-19 16:09:03 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-19 16:09:03 +0000
commiteddfaad1ef9a208a8a9ee23c26fac4d980caa99a (patch)
tree507518f73242fc7a0f4be514d0f73b542885c6da /lib/Target/SystemZ/SystemZSubtarget.h
parentb1a003f37725a31e5e744c46112b628c5e0aeb8a (diff)
downloadexternal_llvm-eddfaad1ef9a208a8a9ee23c26fac4d980caa99a.zip
external_llvm-eddfaad1ef9a208a8a9ee23c26fac4d980caa99a.tar.gz
external_llvm-eddfaad1ef9a208a8a9ee23c26fac4d980caa99a.tar.bz2
[SystemZ] Start adding z196 and zEC12 support
This first step just adds definitions for SLLK, SRLK and SRAK. The next patch will actually make use of them during codegen. insn-bad.s tests that some form of error is reported when using these instructions on z10. More work is needed to get the "instruction requires: distinct-ops" that we'd ideally like, so I've stubbed that part out for now. I'll come back and make it mandatory once the necessary changes are in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186680 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZSubtarget.h')
-rw-r--r--lib/Target/SystemZ/SystemZSubtarget.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZSubtarget.h b/lib/Target/SystemZ/SystemZSubtarget.h
index 8d4d450..4a86287 100644
--- a/lib/Target/SystemZ/SystemZSubtarget.h
+++ b/lib/Target/SystemZ/SystemZSubtarget.h
@@ -26,6 +26,9 @@ class GlobalValue;
class StringRef;
class SystemZSubtarget : public SystemZGenSubtargetInfo {
+protected:
+ bool HasDistinctOps;
+
private:
Triple TargetTriple;
@@ -36,6 +39,9 @@ public:
// Automatically generated by tblgen.
void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
+ // Return true if the target has the distinct-operands facility.
+ bool hasDistinctOps() const { return HasDistinctOps; }
+
// Return true if GV can be accessed using LARL for reloc model RM
// and code model CM.
bool isPC32DBLSymbol(const GlobalValue *GV, Reloc::Model RM,