aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-05-10 06:38:32 +0000
committerChris Lattner <sabre@nondot.org>2006-05-10 06:38:32 +0000
commit3e6a35076ed072525d3eda1945033863b613aef8 (patch)
tree868a47c7a8f4bccf53bc4e93b05ba424767f9a22
parent90db0358bbe4479099adfe41589f1787e3dc1545 (diff)
downloadexternal_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.cpp4
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) {