[LLVMbugs] [Bug 6252] New: FP ASM crash with local register allocator

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Feb 6 05:12:36 PST 2010


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

           Summary: FP ASM crash with local register allocator
           Product: new-bugs
           Version: unspecified
          Platform: PC
        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


$ llc -regalloc=local fpcrash.ll 
llc: llvm/lib/Target/X86/X86FloatingPoint.cpp:1051:
void<unnamed>::FPS::handleSpecialFP(llvm::ilist_iterator<llvm::MachineInstr>&):
Assertion `(StackTop == 1 || StackTop == 2) && "Stack should have one or two
element on it to return!"' failed.

Testcase (reduced from GCC's 990413-2.c):

target datalayout =
"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"

define void @f() nounwind {
entry:
  %tmp = call x86_fp80 asm sideeffect "fpatan\0A\09",
"={st},0,{st(1)},~{fpsr},~{flags},~{st(1)}"(x86_fp80 undef, x86_fp80 undef)
nounwind ; <x86_fp80> [#uses=0]
  ret void
}


-- 
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