From ccdf5cc7bc443726425dd1ad498d44768332d49c Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 5 Aug 2013 11:07:38 +0000 Subject: [SystemZ] Add definitions for BRCT and BRCTG git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187721 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/SystemZ/SystemZInstrFormats.td | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/Target/SystemZ/SystemZInstrFormats.td') diff --git a/lib/Target/SystemZ/SystemZInstrFormats.td b/lib/Target/SystemZ/SystemZInstrFormats.td index 9883714..534ed88 100644 --- a/lib/Target/SystemZ/SystemZInstrFormats.td +++ b/lib/Target/SystemZ/SystemZInstrFormats.td @@ -489,6 +489,12 @@ class InstSS op, dag outs, dag ins, string asmstr, list pattern> // Inherent: // One register output operand and no input operands. // +// BranchUnary: +// One register output operand, one register input operand and +// one branch displacement. The instructions stores a modified +// form of the source register in the destination register and +// branches on the result. +// // Store: // One register or immediate input operand and one address input operand. // The instruction stores the first operand to the address. @@ -555,6 +561,15 @@ class InherentRRE opcode, RegisterOperand cls, let R2 = 0; } +class BranchUnaryRI opcode, RegisterOperand cls> + : InstRI { + let isBranch = 1; + let isTerminator = 1; + let Constraints = "$R1 = $R1src"; + let DisableEncoding = "$R1src"; +} + class LoadMultipleRSY opcode, RegisterOperand cls> : InstRSY { -- cgit v1.1