blob: 7b3c99f13cca222ca07820abb6abf20dbe55f2b4 [file] [log] [blame]
Quentin Colombet90a646e2013-12-19 18:32:04 +00001; RUN: llc -mtriple x86_64-apple-darwin -O0 -o - < %s | FileCheck %s
2; Make sure we only use the less significant bit of the value that feeds the
3; select. Otherwise, we may account for a non-zero value whereas the
4; lsb is zero.
5; <rdar://problem/15651765>
6
Juergen Ributzka6ef06f92014-06-23 21:55:36 +00007; CHECK-LABEL: fastisel_select:
Quentin Colombet90a646e2013-12-19 18:32:04 +00008; CHECK: subb {{%[a-z0-9]+}}, [[RES:%[a-z0-9]+]]
9; CHECK: testb $1, [[RES]]
Juergen Ributzka6ef06f92014-06-23 21:55:36 +000010; CHECK: cmovnel %edi, %esi
Quentin Colombet90a646e2013-12-19 18:32:04 +000011define i32 @fastisel_select(i1 %exchSub2211_, i1 %trunc_8766) {
12 %shuffleInternal15257_8932 = sub i1 %exchSub2211_, %trunc_8766
13 %counter_diff1345 = select i1 %shuffleInternal15257_8932, i32 1204476887, i32 0
14 ret i32 %counter_diff1345
15}
16