blob: 14778f097ef536eac991c173f8138bf589fa38c0 [file] [log] [blame]
Dan Gohman36a09472009-09-08 23:54:48 +00001; RUN: llc < %s -march=x86 -mcpu=penryn > %t
Dan Gohmanc90a5c22008-10-16 23:57:54 +00002; RUN: not grep movd %t
Dan Gohmand17cfbe2008-10-31 00:57:24 +00003; RUN: grep {movss %xmm} %t | count 1
4; RUN: grep {extractps \\\$1, %xmm0, } %t | count 1
Dan Gohmand9ced092008-08-08 18:30:21 +00005; PR2647
6
7external global float, align 16 ; <float*>:0 [#uses=2]
8
9define internal void @""() nounwind {
10 load float* @0, align 16 ; <float>:1 [#uses=1]
11 insertelement <4 x float> undef, float %1, i32 0 ; <<4 x float>>:2 [#uses=1]
12 call <4 x float> @llvm.x86.sse.rsqrt.ss( <4 x float> %2 ) ; <<4 x float>>:3 [#uses=1]
13 extractelement <4 x float> %3, i32 0 ; <float>:4 [#uses=1]
14 store float %4, float* @0, align 16
15 ret void
16}
Dan Gohmand17cfbe2008-10-31 00:57:24 +000017define internal void @""() nounwind {
18 load float* @0, align 16 ; <float>:1 [#uses=1]
19 insertelement <4 x float> undef, float %1, i32 1 ; <<4 x float>>:2 [#uses=1]
20 call <4 x float> @llvm.x86.sse.rsqrt.ss( <4 x float> %2 ) ; <<4 x float>>:3 [#uses=1]
21 extractelement <4 x float> %3, i32 1 ; <float>:4 [#uses=1]
22 store float %4, float* @0, align 16
23 ret void
24}
Dan Gohmand9ced092008-08-08 18:30:21 +000025
26declare <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float>) nounwind readnone
27