x86_64 ABI: "is passed in regs" computation for va_arg was broken for

things passed in mixed registers.

This knocks out 8 x86_64 failures.

llvm-svn: 64958
This commit is contained in:
Daniel Dunbar 2009-02-18 22:05:01 +00:00
parent 222e5e4ad2
commit e3bba6e3d0
1 changed files with 1 additions and 1 deletions

View File

@ -1013,7 +1013,7 @@ llvm::Value *X86_64ABIInfo::EmitVAArg(llvm::Value *VAListAddr, QualType Ty,
llvm::ConstantInt::get(llvm::Type::Int32Ty,
176 - neededSSE * 8),
"fits_in_fp");
InRegs = InRegs ? CGF.Builder.CreateOr(InRegs, FitsInFP) : FitsInFP;
InRegs = InRegs ? CGF.Builder.CreateAnd(InRegs, FitsInFP) : FitsInFP;
}
llvm::BasicBlock *InRegBlock = CGF.createBasicBlock("vaarg.in_reg");