diff options
author | Chris Lattner <sabre@nondot.org> | 2006-05-10 06:38:32 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-05-10 06:38:32 +0000 |
commit | 3e6a35076ed072525d3eda1945033863b613aef8 (patch) | |
tree | 868a47c7a8f4bccf53bc4e93b05ba424767f9a22 | |
parent | 90db0358bbe4479099adfe41589f1787e3dc1545 (diff) | |
download | external_llvm-3e6a35076ed072525d3eda1945033863b613aef8.zip external_llvm-3e6a35076ed072525d3eda1945033863b613aef8.tar.gz external_llvm-3e6a35076ed072525d3eda1945033863b613aef8.tar.bz2 |
Fix the PowerPC JIT-only failure on UnitTests/Vector/sumarray-dbl, which is
really a bad codegen bug that LLC happens to get lucky with. I must chat with
Nate for the proper fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28213 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/PowerPC/PPCRegisterInfo.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/PowerPC/PPCRegisterInfo.cpp b/lib/Target/PowerPC/PPCRegisterInfo.cpp index 36cb869..0b961cb 100644 --- a/lib/Target/PowerPC/PPCRegisterInfo.cpp +++ b/lib/Target/PowerPC/PPCRegisterInfo.cpp @@ -506,11 +506,11 @@ void PPCRegisterInfo::emitPrologue(MachineFunction &MF) const { // If there is a preferred stack alignment, align R1 now if (MaxAlign > TargetAlign) { assert(isPowerOf2_32(MaxAlign) && MaxAlign < 32767 && "Invalid alignment!"); - assert(isInt16(MaxAlign-NumBytes) && "Unhandled stack size and alignment!"); + assert(isInt16(0-NumBytes) && "Unhandled stack size and alignment!"); BuildMI(MBB, MBBI, PPC::RLWINM, 4, PPC::R0) .addReg(PPC::R1).addImm(0).addImm(32-Log2_32(MaxAlign)).addImm(31); BuildMI(MBB, MBBI, PPC::SUBFIC,2,PPC::R0).addReg(PPC::R0) - .addImm(MaxAlign-NumBytes); + .addImm(0-NumBytes); BuildMI(MBB, MBBI, PPC::STWUX, 3) .addReg(PPC::R1).addReg(PPC::R1).addReg(PPC::R0); } else if (NumBytes <= 32768) { |