forked from OSchip/llvm-project
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:
parent
222e5e4ad2
commit
e3bba6e3d0
|
@ -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");
|
||||
|
|
Loading…
Reference in New Issue