Optimize the sequence blend(sign_extend(x)) to blend(shl(x)) since SSE blend instruct...
[oota-llvm.git] / test / CodeGen / X86 / sext-blend.ll
1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 -promote-elements -mattr=+sse41 | FileCheck %s
2
3 ; CHECK: foo
4 define <4 x double> @foo(<4 x double> %x, <4 x double> %y) {
5   ; CHECK: cmpnlepd
6   ; CHECK: psllq
7   ; CHECK-NEXT: blendvpd
8   ; CHECK: psllq
9   ; CHECK-NEXT: blendvpd
10   ; CHECK: ret
11   %min_is_x = fcmp ult <4 x double> %x, %y
12   %min = select <4 x i1> %min_is_x, <4 x double> %x, <4 x double> %y
13   ret <4 x double> %min
14 }
15