Skip to content

llvm-gcc build failure on x86 linux (@llvm.x86.sse.comile.ss) #2654

@llvmbot

Description

@llvmbot
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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions