[LLVMbugs] [Bug 7191] New: [instruction selection] float compare -> int result + march=athlon64-sse3 == "Cannot yet slect ... X86ISD::FP_TO_INT32_IN_MEM"

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri May 21 15:30:39 PDT 2010


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

           Summary: [instruction selection] float compare -> int result +
                    march=athlon64-sse3 == "Cannot yet slect ...
                    X86ISD::FP_TO_INT32_IN_MEM"
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: kaffeemonster at googlemail.com
                CC: llvmbugs at cs.uiuc.edu


The only floating point snippet in my programm and clang barfs on it, i think
im jinxed...

clang/llvm TOT at 104387

unsigned short foo(double d_lat)
{
        unsigned short s_lat;

        d_lat  = (d_lat  +  90.0) * 65535.0 / 180.0;
        s_lat  = d_lat  < 0.0 ? 0 : (d_lat  > 65535.0 ? 65535 : (unsigned
short)d_lat);
        return s_lat;
}

compile with "clang -c -march=athlon64-sse3 fp.c -o fp.o", result:
fatal error: error in backend: Cannot yet select: 0xa13a670: ch =
X86ISD::FP_TO_INT32_IN_MEM 0xa12c178, 0xa13a230, 0xa140378 [ID=7]
  0xa12c178: ch = EntryToken [ORD=9] [ID=0]
  0xa13a230: f64,ch = load 0xa12c178, 0xa13a120, 0xa13a450<LD8[%2](align=4)>
[ORD=9] [ID=6]
    0xa12c178: ch = EntryToken [ORD=9] [ID=0]
    0xa13a120: i32 = FrameIndex<1> [ORD=9] [ID=1]
    0xa13a450: i32 = undef [ORD=9] [ID=2]
  0xa140378: i32 = FrameIndex<3> [ID=4]

Greetings
Jan

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