Don't generate carry bit when loading immediate values on the Microblaze.
authorWesley Peck <peckw@wesleypeck.com>
Wed, 22 Dec 2010 01:29:32 +0000 (01:29 +0000)
committerWesley Peck <peckw@wesleypeck.com>
Wed, 22 Dec 2010 01:29:32 +0000 (01:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122385 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/MBlaze/MBlazeInstrInfo.cpp
lib/Target/MBlaze/MBlazeInstrInfo.td

index 57c03feb974ed1f44e62e589064905818360b7f9..b353dcdef05ba64ae26abaaa58d456c697110b52 100644 (file)
@@ -80,7 +80,7 @@ copyPhysReg(MachineBasicBlock &MBB,
             MachineBasicBlock::iterator I, DebugLoc DL,
             unsigned DestReg, unsigned SrcReg,
             bool KillSrc) const {
-  llvm::BuildMI(MBB, I, DL, get(MBlaze::ADD), DestReg)
+  llvm::BuildMI(MBB, I, DL, get(MBlaze::ADDK), DestReg)
     .addReg(SrcReg, getKillRegState(KillSrc)).addReg(MBlaze::R0);
 }
 
index 990b95da31bc27a34d76a7970fe99fe94e80a550..548cc07aa820b2a25ffa007601635fee263758b9 100644 (file)
@@ -714,7 +714,7 @@ let usesCustomInserter=1 in {
 //===----------------------------------------------------------------------===//
 
 // Small immediates
-def : Pat<(i32 0), (ADD (i32 R0), (i32 R0))>;
+def : Pat<(i32 0), (ADDK (i32 R0), (i32 R0))>;
 def : Pat<(i32 immSExt16:$imm), (ADDIK (i32 R0), imm:$imm)>;
 def : Pat<(i32 immZExt16:$imm), (ORI (i32 R0), imm:$imm)>;