Closed llvmbot closed 16 years ago
This bug has been marked as a duplicate of bug llvm/llvm-project#3222
Evan, this is a regression from your CanonicalizeMovddup work. Please investigate (for llvm 2.4), thanks!
This is an x86 codegen crash (MMX), here's a testcase:
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" target triple = "i386-apple-darwin5" @tmp_V2i = common global <2 x i32> zeroinitializer ; <<2 x i32>*> [#uses=2]
define void @f0() nounwind { entry: %0 = load <2 x i32> @tmp_V2i, align 8 ; <<2 x i32>> [#uses=1] %1 = shufflevector <2 x i32> %0, <2 x i32> undef, <2 x i32> zeroinitializer ; <<2 x i32>> [#uses=1] store <2 x i32> %1, <2 x i32> @tmp_V2i, align 8 ret void }
Extended Description
llvm-gcc ICEs on
typedef signed int V2i attribute((vector_size(8))); void f0() { V2i tmp_V2i; tmp_V2i = __builtin_ia32_punpckldq(tmp_V2i, tmp_V2i); }
ddunbar@ddunbar2:CodeGen$ gcc -v && gcc -c -mmmx m.c Using built-in specs. Target: i686-apple-darwin10 Configured with: /var/tmp/gcc/gcc-5616.3~3/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/usr/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/\ -4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-gxx-include-dir=/usr/include/c++/4.2.1 --host=i686-apple-darwin10 --target=i686-apple-darwin10 Thread model: posix gcc version 4.2.1 (Apple Inc. build 5616) (dot 3)
ddunbar@ddunbar2:CodeGen$ llvm-gcc -v && llvm-gcc -c -mmmx m.c Using built-in specs. Target: i686-apple-darwin10 Configured with: ../llvm-gcc-4.2/configure --prefix=/Users/ddunbar/llvm-gcc/obj/../install --program-prefix=llvm- --enable-llvm=/Users/ddunbar/llvm/ --enable-languages=c,c++,objc,obj-c++ --with-arch=nocona --wit\ h-tune=generic --with-gxx-include-dir=/usr/include/c++/4.2.1 --build=i686-apple-darwin10 --host=i686-apple-darwin10 --target=i686-apple-darwin10 Thread model: posix gcc version 4.2.1 (Based on Apple Inc. build 5623) (LLVM build) Assertion failed: (VT.getSizeInBits() == Operand.getValueType().getSizeInBits() && "Cannot BIT_CONVERT between types of different sizes!"), function getNode, file SelectionDAG.cpp, line 2218. m.c:5: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions.