diff --git a/test/CodeGen/X86/2007-03-01-SpillerCrash.ll b/test/CodeGen/X86/2007-03-01-SpillerCrash.ll new file mode 100644 index 00000000000..75cc6939fb4 --- /dev/null +++ b/test/CodeGen/X86/2007-03-01-SpillerCrash.ll @@ -0,0 +1,85 @@ +; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin8 -mattr=+sse2 + +define void @test() { +test.exit: + mul <4 x float> zeroinitializer, zeroinitializer ; <<4 x float>>:0 [#uses=4] + load <4 x float>* null ; <<4 x float>>:1 [#uses=1] + shufflevector <4 x float> %1, <4 x float> undef, <4 x i32> < i32 3, i32 3, i32 3, i32 3 > ; <<4 x float>>:2 [#uses=1] + mul <4 x float> %0, %2 ; <<4 x float>>:3 [#uses=1] + sub <4 x float> zeroinitializer, %3 ; <<4 x float>>:4 [#uses=1] + mul <4 x float> %4, zeroinitializer ; <<4 x float>>:5 [#uses=2] + bitcast <4 x float> zeroinitializer to <4 x i32> ; <<4 x i32>>:0 [#uses=1] + and <4 x i32> %0, < i32 2147483647, i32 2147483647, i32 2147483647, i32 2147483647 > ; <<4 x i32>>:1 [#uses=1] + bitcast <4 x i32> %1 to <4 x float> ; <<4 x float>>:6 [#uses=2] + extractelement <4 x float> %6, i32 0 ; :0 [#uses=1] + extractelement <4 x float> %6, i32 1 ; :1 [#uses=2] + br i1 false, label %0, label %5 + +;