| ; RUN: llc < %s -mtriple=i686-windows-msvc | FileCheck %s | |
| ; RUN: llc < %s -mtriple=i686-windows-gnu | FileCheck %s | |
| define x86_fastcallcc i32 @pass_fast_bool(i1 inreg zeroext %b) { | |
| entry: | |
| %cond = select i1 %b, i32 66, i32 0 | |
| ret i32 %cond | |
| } | |
| ; CHECK-LABEL: @pass_fast_bool@4: | |
| ; CHECK-DAG: testb %cl, %cl | |
| ; CHECK-DAG: movl $66, | |
| ; CHECK: retl | |
| define x86_vectorcallcc i32 @pass_vector_bool(i1 inreg zeroext %b) { | |
| entry: | |
| %cond = select i1 %b, i32 66, i32 0 | |
| ret i32 %cond | |
| } | |
| ; CHECK-LABEL: pass_vector_bool@@4: | |
| ; CHECK-DAG: testb %cl, %cl | |
| ; CHECK-DAG: movl $66, | |
| ; CHECK: retl | |
| define zeroext i1 @ret_true() { | |
| entry: | |
| ret i1 true | |
| } | |
| ; CHECK-LABEL: ret_true: | |
| ; CHECK: movb $1, %al | |
| ; CHECK: retl |