1 ; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+sse41,-avx < %s | FileCheck %s --check-prefix SSE41
2 ; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+avx < %s | FileCheck %s --check-prefix AVX
4 define i32 @veccond(<4 x i32> %input) {
6 %0 = bitcast <4 x i32> %input to i128
7 %1 = icmp ne i128 %0, 0
8 br i1 %1, label %if-true-block, label %endif-block
10 if-true-block: ; preds = %entry
12 endif-block: ; preds = %entry,
22 define i32 @vectest(<4 x i32> %input) {
24 %0 = bitcast <4 x i32> %input to i128
25 %1 = icmp ne i128 %0, 0
26 %2 = zext i1 %1 to i32
36 define i32 @vecsel(<4 x i32> %input, i32 %a, i32 %b) {
38 %0 = bitcast <4 x i32> %input to i128
39 %1 = icmp ne i128 %0, 0
40 %2 = select i1 %1, i32 %a, i32 %b