-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Description
| Bugzilla Link | 2282 |
| Resolution | FIXED |
| Resolved on | May 04, 2008 16:28 |
| Version | unspecified |
| OS | Linux |
| Reporter | LLVM Bugzilla Contributor |
| CC | @asl |
Extended Description
The LLVM build fails on x86-32 and x86-64 linux:
cc1: llvm/lib/VMCore/Instructions.cpp:301: void llvm::CallInst::init(llvm::Value , llvm::Value): Assertion `(FTy->getNumParams() == 1 || (FTy->isVarArg() && FTy->getNumParams() == 0)) && "Calling a function with bad signature"' failed.
gcc/config/i386/crtfastmath.c: In function ‘set_fast_math’:
gcc/config/i386/crtfastmath.c:48: internal compiler error: Aborted
The problem is that this code (64 bit case):
unsigned int mxcsr = __builtin_ia32_stmxcsr ();
mxcsr |= MXCSR_DAZ | MXCSR_FTZ;
__builtin_ia32_ldmxcsr (mxcsr);
is generating a call to
declare i32 @llvm.x86.sse.comile.ss(<4 x float>, <4 x float>) nounwind readnone
but is only passing one parameter to it:
%tmp6 = bitcast i32* %memtmp5 to i8* ; <i8*> [#uses=1]