[PATCH] D20624: [mips] bnec/beqc register constraint fix
Simon Dardis via llvm-commits
llvm-commits at lists.llvm.org
Wed May 25 08:13:04 PDT 2016
sdardis created this revision.
sdardis added reviewers: dsanders, vkalintiris.
sdardis added a subscriber: llvm-commits.
sdardis set the repository for this revision to rL LLVM.
Herald added subscribers: sdardis, dsanders.
beqc and bnec cannot have $rs == $rt. Inhibit compact branch creation
if that would occur.
Repository:
rL LLVM
http://reviews.llvm.org/D20624
Files:
lib/Target/Mips/MipsInstrInfo.cpp
Index: lib/Target/Mips/MipsInstrInfo.cpp
===================================================================
--- lib/Target/Mips/MipsInstrInfo.cpp
+++ lib/Target/Mips/MipsInstrInfo.cpp
@@ -301,13 +301,15 @@
case Mips::BEQ:
if (canUseShortMicroMipsCTI)
return Mips::BEQZC_MM;
- else
- return Mips::BEQC;
+ else if (I->getOperand(0).getReg() == I->getOperand(1).getReg())
+ return 0;
+ return Mips::BEQC;
case Mips::BNE:
if (canUseShortMicroMipsCTI)
return Mips::BNEZC_MM;
- else
- return Mips::BNEC;
+ else if (I->getOperand(0).getReg() == I->getOperand(1).getReg())
+ return 0;
+ return Mips::BNEC;
case Mips::BGE:
if (I->getOperand(0).getReg() == I->getOperand(1).getReg())
return 0;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20624.58421.patch
Type: text/x-patch
Size: 806 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160525/06512aa4/attachment.bin>
More information about the llvm-commits
mailing list