aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/PowerPC/PPCInstrFormats.td
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2013-06-24 11:55:21 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2013-06-24 11:55:21 +0000
commite5a30f0ca22cc1ba97478e9fadcdef02d341004e (patch)
tree1529ac5eb573f9db03f27be0e01f1df05f815c87 /lib/Target/PowerPC/PPCInstrFormats.td
parent9679c47a07386cbf3547a0927609c7ee080b2aab (diff)
downloadexternal_llvm-e5a30f0ca22cc1ba97478e9fadcdef02d341004e.zip
external_llvm-e5a30f0ca22cc1ba97478e9fadcdef02d341004e.tar.gz
external_llvm-e5a30f0ca22cc1ba97478e9fadcdef02d341004e.tar.bz2
[PowerPC] Support generic conditional branches in asm parser
This adds instruction patterns to cover the generic forms of the conditional branch instructions. This allows the assembler to support the generic mnemonics. The compiler will still generate the various specific forms of the instruction that were already supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184722 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrFormats.td')
-rw-r--r--lib/Target/PowerPC/PPCInstrFormats.td14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td
index a244058..b316fa6 100644
--- a/lib/Target/PowerPC/PPCInstrFormats.td
+++ b/lib/Target/PowerPC/PPCInstrFormats.td
@@ -145,6 +145,20 @@ class BForm_2<bits<6> opcode, bits<5> bo, bits<5> bi, bit aa, bit lk,
let Inst{31} = lk;
}
+class BForm_3<bits<6> opcode, bit aa, bit lk,
+ dag OOL, dag IOL, string asmstr>
+ : I<opcode, OOL, IOL, asmstr, BrB> {
+ bits<5> BO;
+ bits<5> BI;
+ bits<14> BD;
+
+ let Inst{6-10} = BO;
+ let Inst{11-15} = BI;
+ let Inst{16-29} = BD;
+ let Inst{30} = aa;
+ let Inst{31} = lk;
+}
+
// 1.7.3 SC-Form
class SCForm<bits<6> opcode, bits<1> xo,
dag OOL, dag IOL, string asmstr, InstrItinClass itin,