diff options
author | Nate Begeman <natebegeman@mac.com> | 2006-04-11 19:44:43 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2006-04-11 19:44:43 +0000 |
commit | f19bcd51774a4c92c328df1630e79fb508707616 (patch) | |
tree | 134176fb2d1b877d63dbef906e47d7371413f4c7 /llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | |
parent | 1bb132099f2990353001b4402bc085ca635944e4 (diff) | |
download | bcm5719-llvm-f19bcd51774a4c92c328df1630e79fb508707616.tar.gz bcm5719-llvm-f19bcd51774a4c92c328df1630e79fb508707616.zip |
Fix SingleSource/UnitTests/Vector/sumarray-dbl
llvm-svn: 27594
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp index 963ca055d5a..cbc22de6211 100644 --- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp +++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp @@ -397,12 +397,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(NumBytes <= 32768 && "Unhandled stack size and alignment combo!"); + assert(isInt16(MaxAlign-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).addSImm(MaxAlign); - BuildMI(MBB, MBBI, PPC::ADDI, 2, PPC::R0).addReg(PPC::R0) - .addSImm(NegNumbytes); + BuildMI(MBB, MBBI, PPC::SUBFIC,2,PPC::R0).addReg(PPC::R0) + .addSImm(MaxAlign-NumBytes); BuildMI(MBB, MBBI, PPC::STWUX, 3) .addReg(PPC::R1).addReg(PPC::R1).addReg(PPC::R0); } else if (NumBytes <= 32768) { |