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: unassignedb...@nondot.org ReportedBy: syoyofuj...@gmail.com CC: llvmbugs@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. _______________________________________________ LLVMbugs mailing list LLVMbugs@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs