1 ; RUN: llc < %s -mtriple=i686-windows-msvc | FileCheck %s 2 ; RUN: llc < %s -mtriple=i686-windows-gnu | FileCheck %s 3 4 define x86_fastcallcc i32 @pass_fast_bool(i1 inreg zeroext %b) { 5 entry: 6 %cond = select i1 %b, i32 66, i32 0 7 ret i32 %cond 8 } 9 10 ; CHECK-LABEL: @pass_fast_bool@4: 11 ; CHECK-DAG: testb %cl, %cl 12 ; CHECK-DAG: movl $66, 13 ; CHECK: retl 14 15 define x86_vectorcallcc i32 @pass_vector_bool(i1 inreg zeroext %b) { 16 entry: 17 %cond = select i1 %b, i32 66, i32 0 18 ret i32 %cond 19 } 20 21 ; CHECK-LABEL: pass_vector_bool@@4: 22 ; CHECK-DAG: testb %cl, %cl 23 ; CHECK-DAG: movl $66, 24 ; CHECK: retl 25 26 define zeroext i1 @ret_true() { 27 entry: 28 ret i1 true 29 } 30 31 ; CHECK-LABEL: ret_true: 32 ; CHECK: movb $1, %al 33 ; CHECK: retl 34