[LLVMbugs] [Bug 9473] New: sitofp isel failed for x86 AVX backend.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Mar 12 23:39:25 PST 2011


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

           Summary: sitofp isel failed for x86 AVX backend.
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: syoyofujita at gmail.com
                CC: llvmbugs at cs.uiuc.edu


OS: Linux 64bit
Target-triple: x86_64-unknown-linux-gnu
LLVM revision: r127562

In the following int-to-double cast expression, x86 AVX backend reports "Cannot
select" error.

// test.c
int
main()
{
    double x;

    int i;
    x = i;
}

$ clang -c -emit-llvm test.c
$ llvm -mattr=+avx test.o 
fatal error: error in backend: Cannot select: 0x3cd30e0: f64 = sint_to_fp
      0x3cd2fe0 [ORD=3] [ID=8]
  0x3cd2fe0: i32,ch = load 0x3cd2de0, 0x3cd2ee0, 0x3cd2ce0<LD4[%i]> [ORD=2]
[ID=7]
    0x3cd2ee0: i64 = FrameIndex<2> [ORD=2] [ID=4]
    0x3cd2ce0: i64 = undef [ORD=1] [ID=3]


// llvm-dis test.o
; ModuleID = 'test.o'
target datalayout =
"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"

define i32 @main() nounwind {
entry:
  %retval = alloca i32, align 4
  %x = alloca double, align 8
  %i = alloca i32, align 4
  store i32 0, i32* %retval
  %tmp = load i32* %i, align 4
  %conv = sitofp i32 %tmp to double
  store double %conv, double* %x, align 8
  %0 = load i32* %retval
  ret i32 %0
}

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