[LLVMbugs] [Bug 3287] New: Vector of float with length 2 broken on x86

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Jan 6 12:46:00 PST 2009


           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: unassignedbugs at nondot.org
        ReportedBy: lennart at augustsson.net
                CC: llvmbugs at cs.uiuc.edu

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
If you comment out the (pointless) store it prints 1.

This is with llvm-2.4.


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


double foo(float *);

  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.

More information about the llvm-bugs mailing list