1 ; RUN: llc < %s -march=x86 -mattr=-sse3,+sse2 | FileCheck %s -check-prefix=SSE2 2 ; RUN: llc < %s -march=x86 -mattr=-sse4.2,+sse4.1 | FileCheck %s -check-prefix=SSE41 3 ; RUN: llc < %s -march=x86 -mattr=+sse4.2 | FileCheck %s -check-prefix=SSE42 4 5 define <2 x i64> @test1(<2 x i64> %A, <2 x i64> %B) nounwind { 6 ; SSE42-LABEL: test1: 7 ; SSE42: pcmpgtq 8 ; SSE42: ret 9 ; SSE41-LABEL: test1: 10 ; SSE41-NOT: pcmpgtq 11 ; SSE41: ret 12 ; SSE2-LABEL: test1: 13 ; SSE2-NOT: pcmpgtq 14 ; SSE2: ret 15 16 %C = icmp sgt <2 x i64> %A, %B 17 %D = sext <2 x i1> %C to <2 x i64> 18 ret <2 x i64> %D 19 } 20 21 define <2 x i64> @test2(<2 x i64> %A, <2 x i64> %B) nounwind { 22 ; SSE42-LABEL: test2: 23 ; SSE42: pcmpeqq 24 ; SSE42: ret 25 ; SSE41-LABEL: test2: 26 ; SSE41: pcmpeqq 27 ; SSE41: ret 28 ; SSE2-LABEL: test2: 29 ; SSE2-NOT: pcmpeqq 30 ; SSE2: ret 31 32 %C = icmp eq <2 x i64> %A, %B 33 %D = sext <2 x i1> %C to <2 x i64> 34 ret <2 x i64> %D 35 } 36