[LLVMbugs] [Bug 1211] NEW: "Register class of operand and regclass of use don't agree!" on x86 glibc atan
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Mon Feb 19 14:16:20 PST 2007
http://llvm.org/bugs/show_bug.cgi?id=1211
Summary: "Register class of operand and regclass of use don't
agree!" on x86 glibc atan
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
The following is simplified from the x86 atan2 code in glibc's mathinline.h:
double atan (double x)
{
register double value;
__asm ("fld1; fpatan" : "=t" (value) : "0" (x) : "st(1)");
return value;
}
A quite recent llvm-gcc4 barfs on it:
$ gcc -c atan.c
cc1: llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:364: void
llvm::ScheduleDAG::AddOperand(llvm::MachineInstr*, llvm::SDOperand, unsigned
int, const llvm::TargetInstrDescriptor*, llvm::DenseMap<llvm::SDNode*,
unsigned int>&): Assertion `RegMap->getRegClass(VReg) == RC && "Register class
of operand and regclass of use don't agree!"' failed.
atan.c:6: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs> for instructions.
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the llvm-bugs
mailing list