1; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s 2 3; rdar://6504833 4define float @test1(i32 %x) nounwind readnone { 5; CHECK: test1 6; CHECK: movd 7; CHECK: orpd 8; CHECK: subsd 9; CHECK: cvtsd2ss 10; CHECK: movss 11; CHECK: flds 12; CHECK: ret 13entry: 14 %0 = uitofp i32 %x to float 15 ret float %0 16} 17 18; PR10802 19define float @test2(<4 x i32> %x) nounwind readnone ssp { 20; CHECK: test2 21; CHECK: xorps [[ZERO:%xmm[0-9]+]] 22; CHECK: movss {{.*}}, [[ZERO]] 23; CHECK: orps 24; CHECK: subsd 25; CHECK: cvtsd2ss 26; CHECK: movss 27; CHECK: flds 28; CHECK: ret 29entry: 30 %vecext = extractelement <4 x i32> %x, i32 0 31 %conv = uitofp i32 %vecext to float 32 ret float %conv 33} 34