aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SystemZ/SystemZInstrFormats.td
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-10-01 13:18:56 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-10-01 13:18:56 +0000
commit645d250b84fe0d097e7813b980ae58daeca2c2e6 (patch)
tree546e722390d56140fee454cc642a0d234d85291c /lib/Target/SystemZ/SystemZInstrFormats.td
parent2e1625475fab156b98204fa73c168ca4a828b775 (diff)
downloadexternal_llvm-645d250b84fe0d097e7813b980ae58daeca2c2e6.zip
external_llvm-645d250b84fe0d097e7813b980ae58daeca2c2e6.tar.gz
external_llvm-645d250b84fe0d097e7813b980ae58daeca2c2e6.tar.bz2
[SystemZ] Allow integer insertions with a high-word destination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191753 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrFormats.td')
-rw-r--r--lib/Target/SystemZ/SystemZInstrFormats.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrFormats.td b/lib/Target/SystemZ/SystemZInstrFormats.td
index c74091f..aa15ebd 100644
--- a/lib/Target/SystemZ/SystemZInstrFormats.td
+++ b/lib/Target/SystemZ/SystemZInstrFormats.td
@@ -1378,6 +1378,14 @@ class UnaryRRPseudo<string key, SDPatternOperator operator,
let OpType = "reg";
}
+// Like BinaryRI, but expanded after RA depending on the choice of register.
+class BinaryRIPseudo<SDPatternOperator operator, RegisterOperand cls,
+ Immediate imm>
+ : Pseudo<(outs cls:$R1), (ins cls:$R1src, imm:$I2),
+ [(set cls:$R1, (operator cls:$R1src, imm:$I2))]> {
+ let Constraints = "$R1 = $R1src";
+}
+
// Like StoreRXY, but expanded after RA depending on the choice of registers.
class StoreRXYPseudo<SDPatternOperator operator, RegisterOperand cls,
bits<5> bytes, AddressingMode mode = bdxaddr20only>