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

Reply via email to