aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2004-10-23 20:29:24 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2004-10-23 20:29:24 +0000
commit40a55e1e291f1e28eadae19e5ce6f9087d99e085 (patch)
tree5459b011fa2fcc1e032d62b41a8db278e088db75
parent3a561f5478f764434d092209c1e6cb9625733c55 (diff)
downloadexternal_llvm-40a55e1e291f1e28eadae19e5ce6f9087d99e085.zip
external_llvm-40a55e1e291f1e28eadae19e5ce6f9087d99e085.tar.gz
external_llvm-40a55e1e291f1e28eadae19e5ce6f9087d99e085.tar.bz2
Add BA, BL, and BLA opcodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17193 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.td5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td
index 8d539b8..69cc55f 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/lib/Target/PowerPC/PPCInstrInfo.td
@@ -53,7 +53,10 @@ def MovePCtoLR : Pseudo<(ops piclabel:$label), "bl $label">;
let isBranch = 1, isTerminator = 1 in {
def COND_BRANCH : Pseudo<(ops), "; COND_BRANCH">;
- def B : IForm<18, 0, 0, 0, 0, (ops target:$func), "b $func">;
+ def B : IForm<18, 0, 0, 0, 0, (ops target:$func), "b $func">;
+ def BA : IForm<18, 1, 0, 0, 0, (ops target:$func), "ba $func">;
+ def BL : IForm<18, 0, 1, 0, 0, (ops target:$func), "bl $func">;
+ def BLA : IForm<18, 1, 1, 0, 0, (ops target:$func), "bla $func">;
// FIXME: 4*CR# needs to be added to the BI field!
// This will only work for CR0 as it stands now
def BLT : BForm_ext<16, 0, 0, 12, 0, 0, 0, (ops CRRC:$crS, target:$block),