http://llvm.org/bugs/show_bug.cgi?id=3287
Summary: Vector of float with length 2 broken on x86
Product: new-bugs
Version: unspecified
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Vectors of float on the x86 use the MM registers and not the MMX registers
which wreaks havoc. Here is a simple test program which prints nan instead of
1.
If you comment out the (pointless) store it prints 1.
This is with llvm-2.4.
foo.ll:
define double @foo(<2 x float>*) {
store <2 x float> < float 1.000000e+00, float 2.000000e+00 >, <2 x
float>* %0
ret double 1.000000e+00
}
c.c:
double foo(float *);
main()
{
float fs[2];
printf("%g\n", foo(fs));
}
--
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs