This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / CodeGen / Mips / 2010-11-09-CountLeading.ll
blobd592fef331af966e0c3348ad343475db3032e798
1 ; RUN: llc -march=mips -mcpu=4ke < %s | FileCheck %s
3 ; CHECK: clz $2, $4
4 define i32 @t1(i32 %X) nounwind readnone {
5 entry:
6   %tmp1 = tail call i32 @llvm.ctlz.i32(i32 %X)
7   ret i32 %tmp1
10 declare i32 @llvm.ctlz.i32(i32) nounwind readnone
12 ; CHECK: clz $2, $4
13 define i32 @t2(i32 %X) nounwind readnone {
14 entry:
15   %tmp1 = tail call i32 @llvm.ctlz.i32(i32 %X)
16   ret i32 %tmp1
19 ; CHECK: clo $2, $4
20 define i32 @t3(i32 %X) nounwind readnone {
21 entry:
22   %neg = xor i32 %X, -1
23   %tmp1 = tail call i32 @llvm.ctlz.i32(i32 %neg)
24   ret i32 %tmp1
27 ; CHECK: clo $2, $4
28 define i32 @t4(i32 %X) nounwind readnone {
29 entry:
30   %neg = xor i32 %X, -1
31   %tmp1 = tail call i32 @llvm.ctlz.i32(i32 %neg)
32   ret i32 %tmp1