blob: cfec1745831a25171fc926e77141333cffcb807e [file] [log] [blame]
Evan Cheng33754092008-08-05 22:19:15 +00001; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2
2; PR2620
3
4define void @t(i32 %m_task_id, i32 %start_x, i32 %end_x) nounwind {
5 vfcmp olt <2 x double> zeroinitializer, zeroinitializer ; <<2 x i64>>:1 [#uses=1]
6 extractelement <2 x i64> %1, i32 1 ; <i64>:2 [#uses=1]
7 lshr i64 %2, 63 ; <i64>:3 [#uses=1]
8 trunc i64 %3 to i1 ; <i1>:4 [#uses=1]
9 zext i1 %4 to i8 ; <i8>:5 [#uses=1]
10 insertelement <2 x i8> zeroinitializer, i8 %5, i32 1 ; <<2 x i8>>:6 [#uses=1]
11 store <2 x i8> %6, <2 x i8>* null
12 ret void
13}
Chris Lattnerd04f85f2009-07-07 22:07:47 +000014
15define void @t2(i32 %m_task_id, i32 %start_x, i32 %end_x) nounwind {
16 %A = fcmp olt <2 x double> zeroinitializer, zeroinitializer ; <<2 x i64>>:1 [#uses=1]
17 sext <2 x i1> %A to <2 x i64>
18 extractelement <2 x i64> %1, i32 1 ; <i64>:2 [#uses=1]
19 lshr i64 %2, 63 ; <i64>:3 [#uses=1]
20 trunc i64 %3 to i1 ; <i1>:4 [#uses=1]
21 zext i1 %4 to i8 ; <i8>:5 [#uses=1]
22 insertelement <2 x i8> zeroinitializer, i8 %5, i32 1 ; <<2 x i8>>:6 [#uses=1]
23 store <2 x i8> %6, <2 x i8>* null
24 ret void
25}