• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +popcnt -emit-llvm -o - | FileCheck %s
2 
3 // Don't include mm_malloc.h, it's system specific.
4 #define __MM_MALLOC_H
5 
6 #include <x86intrin.h>
7 
test_mm_popcnt_u32(unsigned int __X)8 unsigned int test_mm_popcnt_u32(unsigned int __X) {
9   //CHECK: call i32 @llvm.ctpop.i32
10   return _mm_popcnt_u32(__X);
11 }
12 
test_popcnt_32(int __X)13 unsigned int test_popcnt_32(int __X) {
14   //CHECK: call i32 @llvm.ctpop.i32
15   return _popcnt32(__X);
16 }
17 
test_mm_popcnt_u64(unsigned long long __X)18 unsigned long long test_mm_popcnt_u64(unsigned long long __X) {
19   //CHECK: call i64 @llvm.ctpop.i64
20   return _mm_popcnt_u64(__X);
21 }
22 
test_popcnt_64(long long __X)23 unsigned long long test_popcnt_64(long long __X) {
24   //CHECK: call i64 @llvm.ctpop.i64
25   return _popcnt64(__X);
26 }
27