diff options
author | Dylan McKay <me@dylanmckay.io> | 2017-05-31 06:27:46 +0000 |
---|---|---|
committer | Dylan McKay <me@dylanmckay.io> | 2017-05-31 06:27:46 +0000 |
commit | 043fa4b3d62190b45390347fc1a39e1c75e9ea0d (patch) | |
tree | 14c44a1ff70c4c4af792b46dab4b3975bb69aa90 /llvm/lib/Target/AVR | |
parent | 48614d4a2c5401bc24a16739b51f02ba3b395c4b (diff) | |
download | bcm5719-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.cpp | 4 |
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: |