summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AVR
diff options
context:
space:
mode:
authorDylan McKay <me@dylanmckay.io>2017-05-31 06:27:46 +0000
committerDylan McKay <me@dylanmckay.io>2017-05-31 06:27:46 +0000
commit043fa4b3d62190b45390347fc1a39e1c75e9ea0d (patch)
tree14c44a1ff70c4c4af792b46dab4b3975bb69aa90 /llvm/lib/Target/AVR
parent48614d4a2c5401bc24a16739b51f02ba3b395c4b (diff)
downloadbcm5719-llvm-043fa4b3d62190b45390347fc1a39e1c75e9ea0d.tar.gz
bcm5719-llvm-043fa4b3d62190b45390347fc1a39e1c75e9ea0d.zip
[AVR] Fix a big in shift operator lowering; Authored by Dr. Gergo Erdi
When generating code for a shift loop, check the shift amount against the literal value 0, not R0 llvm-svn: 304284
Diffstat (limited to 'llvm/lib/Target/AVR')
-rw-r--r--llvm/lib/Target/AVR/AVRISelLowering.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/AVR/AVRISelLowering.cpp b/llvm/lib/Target/AVR/AVRISelLowering.cpp
index ef9c00e4b78..7d3faac1dcc 100644
--- a/llvm/lib/Target/AVR/AVRISelLowering.cpp
+++ b/llvm/lib/Target/AVR/AVRISelLowering.cpp
@@ -1500,9 +1500,9 @@ MachineBasicBlock *AVRTargetLowering::insertShift(MachineInstr &MI,
unsigned DstReg = MI.getOperand(0).getReg();
// BB:
- // cp 0, N
+ // cpi N, 0
// breq RemBB
- BuildMI(BB, dl, TII.get(AVR::CPRdRr)).addReg(ShiftAmtSrcReg).addReg(AVR::R0);
+ BuildMI(BB, dl, TII.get(AVR::CPIRdK)).addReg(ShiftAmtSrcReg).addImm(0);
BuildMI(BB, dl, TII.get(AVR::BREQk)).addMBB(RemBB);
// LoopBB:
OpenPOWER on IntegriCloud