[LLVMbugs] [Bug 2282] New: llvm-gcc build failure on x86 linux (@llvm.x86.sse.comile. ss)

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun May 4 10:17:12 PDT 2008


http://llvm.org/bugs/show_bug.cgi?id=2282

           Summary: llvm-gcc build failure on x86 linux
                    (@llvm.x86.sse.comile.ss)
           Product: new-bugs
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: baldrick at free.fr
                CC: llvmbugs at cs.uiuc.edu


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]


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list