Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=corei7 -mattr=sse2 | FileCheck %s
      2 
      3 define <4 x i32> @test1(<4 x i32> %A, <4 x i32> %B) {
      4   %select = select <4 x i1><i1 true, i1 true, i1 false, i1 false>, <4 x i32> %A, <4 x i32> %B
      5   ret <4 x i32> %select
      6 }
      7 ; CHECK-LABEL: test1
      8 ; CHECK: movsd
      9 ; CHECK: ret
     10 
     11 define <4 x i32> @test2(<4 x i32> %A, <4 x i32> %B) {
     12   %select = select <4 x i1><i1 false, i1 false, i1 true, i1 true>, <4 x i32> %A, <4 x i32> %B
     13   ret <4 x i32> %select
     14 }
     15 ; CHECK-LABEL: test2
     16 ; CHECK: movsd
     17 ; CHECK-NEXT: ret
     18 
     19 define <4 x float> @test3(<4 x float> %A, <4 x float> %B) {
     20   %select = select <4 x i1><i1 true, i1 true, i1 false, i1 false>, <4 x float> %A, <4 x float> %B
     21   ret <4 x float> %select
     22 }
     23 ; CHECK-LABEL: test3
     24 ; CHECK: movsd
     25 ; CHECK: ret
     26 
     27 define <4 x float> @test4(<4 x float> %A, <4 x float> %B) {
     28   %select = select <4 x i1><i1 false, i1 false, i1 true, i1 true>, <4 x float> %A, <4 x float> %B
     29   ret <4 x float> %select
     30 }
     31 ; CHECK-LABEL: test4
     32 ; CHECK: movsd
     33 ; CHECK-NEXT: ret
     34