summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/InstPrinter
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-07-30 20:24:24 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-07-30 20:24:24 +0000
commit5973e8371a797633ddd55f22c8cc53ae8cd06e9e (patch)
treefcbfde46f34c68bd80ae794eed98b17eaed3e761 /llvm/lib/Target/Mips/InstPrinter
parent62b418e2de10a2f719a5841df91dbd2137045474 (diff)
downloadbcm5719-llvm-5973e8371a797633ddd55f22c8cc53ae8cd06e9e.tar.gz
bcm5719-llvm-5973e8371a797633ddd55f22c8cc53ae8cd06e9e.zip
[mips] Define "bal" as a pseudo instruction. Also, fix bug in the InstAlias that
turns "bal" into "bgezal". llvm-svn: 187440
Diffstat (limited to 'llvm/lib/Target/Mips/InstPrinter')
-rw-r--r--llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp b/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
index a2098a0f8c0..c1c141ac5c0 100644
--- a/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
+++ b/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
@@ -241,6 +241,9 @@ bool MipsInstPrinter::printAlias(const MCInst &MI, raw_ostream &OS) {
case Mips::BNE64:
// bne $r0, $zero, $L2 => bnez $r0, $L2
return isReg<Mips::ZERO_64>(MI, 1) && printAlias("bnez", MI, 0, 2, OS);
+ case Mips::BGEZAL:
+ // bgezal $zero, $L1 => bal $L1
+ return isReg<Mips::ZERO>(MI, 0) && printAlias("bal", MI, 1, OS);
case Mips::BC1T:
// bc1t $fcc0, $L1 => bc1t $L1
return isReg<Mips::FCC0>(MI, 0) && printAlias("bc1t", MI, 1, OS);
OpenPOWER on IntegriCloud