xref: /llvm-project/clang/test/CodeGen/builtin-count-zeros.c (revision a7a61e270183eb36f8353d049a1892a59f459deb)
1*a7a61e27SBob Wilson // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm %s -o - | FileCheck %s
2*a7a61e27SBob Wilson // RUN: %clang_cc1 -triple arm-unknown-unknown -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK-ARM
35e2281edSEli Friedman 
a(int a)45e2281edSEli Friedman int a(int a) {return __builtin_ctz(a) + __builtin_clz(a);}
5*a7a61e27SBob Wilson // CHECK: call i32 @llvm.cttz.i32({{.*}}, i1 true)
6*a7a61e27SBob Wilson // CHECK: call i32 @llvm.ctlz.i32({{.*}}, i1 true)
7*a7a61e27SBob Wilson // CHECK-ARM: call i32 @llvm.cttz.i32({{.*}}, i1 false)
8*a7a61e27SBob Wilson // CHECK-ARM: call i32 @llvm.ctlz.i32({{.*}}, i1 false)
9