aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SystemZ/SystemZInstrInfo.td
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-05 11:07:38 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-05 11:07:38 +0000
commitccdf5cc7bc443726425dd1ad498d44768332d49c (patch)
treeba6ba8530fea0b0d41dff8638f24d06bd3997035 /lib/Target/SystemZ/SystemZInstrInfo.td
parent9b05c709c65ba05645853ca49bc2a1ea8b554f37 (diff)
downloadexternal_llvm-ccdf5cc7bc443726425dd1ad498d44768332d49c.zip
external_llvm-ccdf5cc7bc443726425dd1ad498d44768332d49c.tar.gz
external_llvm-ccdf5cc7bc443726425dd1ad498d44768332d49c.tar.bz2
[SystemZ] Add definitions for BRCT and BRCTG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187721 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrInfo.td')
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.td7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.td b/lib/Target/SystemZ/SystemZInstrInfo.td
index 58fb662..73a6126 100644
--- a/lib/Target/SystemZ/SystemZInstrInfo.td
+++ b/lib/Target/SystemZ/SystemZInstrInfo.td
@@ -166,6 +166,13 @@ defm AsmJE : IntCondExtendedMnemonic<8, "e", "nlh">;
defm AsmJHE : IntCondExtendedMnemonic<10, "he", "nl">;
defm AsmJLE : IntCondExtendedMnemonic<12, "le", "nh">;
+// Decrement a register and branch if it is nonzero. These don't clobber CC,
+// but we might need to split long branches into sequences that do.
+let Defs = [CC] in {
+ def BRCT : BranchUnaryRI<"brct", 0xA76, GR32>;
+ def BRCTG : BranchUnaryRI<"brctg", 0xA77, GR64>;
+}
+
//===----------------------------------------------------------------------===//
// Select instructions
//===----------------------------------------------------------------------===//