aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SystemZ/SystemZInstrFormats.td
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-10-01 14:20:41 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-10-01 14:20:41 +0000
commitb9dcca8265e9da01119c47e65f114c3adc972ba6 (patch)
tree474a2545c18f2a9b2a403d74aa942bd6180544f7 /lib/Target/SystemZ/SystemZInstrFormats.td
parent1ff62e182e648c72e6fce4f9d7911f2edfd914d2 (diff)
downloadexternal_llvm-b9dcca8265e9da01119c47e65f114c3adc972ba6.zip
external_llvm-b9dcca8265e9da01119c47e65f114c3adc972ba6.tar.gz
external_llvm-b9dcca8265e9da01119c47e65f114c3adc972ba6.tar.bz2
[SystemZ] Allow integer AND involving high words
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191762 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrFormats.td')
-rw-r--r--lib/Target/SystemZ/SystemZInstrFormats.td10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrFormats.td b/lib/Target/SystemZ/SystemZInstrFormats.td
index aa15ebd..b35aea8 100644
--- a/lib/Target/SystemZ/SystemZInstrFormats.td
+++ b/lib/Target/SystemZ/SystemZInstrFormats.td
@@ -1397,6 +1397,16 @@ class StoreRXYPseudo<SDPatternOperator operator, RegisterOperand cls,
let AccessBytes = bytes;
}
+// Like RotateSelectRIEf, but expanded after RA depending on the choice
+// of registers.
+class RotateSelectRIEfPseudo<RegisterOperand cls1, RegisterOperand cls2>
+ : Pseudo<(outs cls1:$R1),
+ (ins cls1:$R1src, cls2:$R2, uimm8:$I3, uimm8:$I4, uimm8zx6:$I5),
+ []> {
+ let Constraints = "$R1 = $R1src";
+ let DisableEncoding = "$R1src";
+}
+
// Implements "$dst = $cc & (8 >> CC) ? $src1 : $src2", where CC is
// the value of the PSW's 2-bit condition code field.
class SelectWrapper<RegisterOperand cls>