summaryrefslogtreecommitdiff
path: root/lib/Target/SystemZ/SystemZOperands.td
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-08 09:35:23 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-08 09:35:23 +0000
commitdff0009d0ced62b92cb5900bc2203ec40142ba15 (patch)
treed79c3350233490455c9b9c623ff5376369b3f1c2 /lib/Target/SystemZ/SystemZOperands.td
parent12b701beea6f26d2305dc18cf09838da1d068006 (diff)
downloadllvm-dff0009d0ced62b92cb5900bc2203ec40142ba15.tar.gz
llvm-dff0009d0ced62b92cb5900bc2203ec40142ba15.tar.bz2
llvm-dff0009d0ced62b92cb5900bc2203ec40142ba15.tar.xz
[SystemZ] Use MVC for memcpy
Use MVC for memcpy in cases where a single MVC is enough. Using MVC is a win for longer copies too, but I'll leave that for later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185802 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZOperands.td')
-rw-r--r--lib/Target/SystemZ/SystemZOperands.td5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZOperands.td b/lib/Target/SystemZ/SystemZOperands.td
index 620876e7cb..9d79439228 100644
--- a/lib/Target/SystemZ/SystemZOperands.td
+++ b/lib/Target/SystemZ/SystemZOperands.td
@@ -219,6 +219,11 @@ def uimm8 : Immediate<i8, [{}], UIMM8, "U8Imm">;
// i32 immediates
//===----------------------------------------------------------------------===//
+// Immediates for 8-bit lengths.
+def imm32len8 : Immediate<i32, [{
+ return isUInt<8>(N->getZExtValue() - 1);
+}], NOOP_SDNodeXForm, "U32Imm">;
+
// Immediates for the lower and upper 16 bits of an i32, with the other
// bits of the i32 being zero.
def imm32ll16 : Immediate<i32, [{