[NVPTX] Generate a more optimal sequence for select of i1
[oota-llvm.git] / test / CodeGen / NVPTX / bug22246.ll
1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
2
3 target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"
4 target triple = "nvptx64-nvidia-cuda"
5
6 ; CHECK-LABEL: _Z3foobbbPb
7 define void @_Z3foobbbPb(i1 zeroext %p1, i1 zeroext %p2, i1 zeroext %p3, i8* nocapture %output) {
8 entry:
9 ; CHECK: selp.b32       %r{{[0-9]+}}, %r{{[0-9]+}}, %r{{[0-9]+}}, %p{{[0-9]+}}
10   %.sink.v = select i1 %p1, i1 %p2, i1 %p3
11   %frombool5 = zext i1 %.sink.v to i8
12   store i8 %frombool5, i8* %output, align 1
13   ret void
14 }