Home | History | Annotate | Download | only in CodeGen
      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 
      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 
     13 unsigned int test_popcnt_32(int __X) {
     14   //CHECK: call i32 @llvm.ctpop.i32
     15   return _popcnt32(__X);
     16 }
     17 
     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 
     23 unsigned long long test_popcnt_64(long long __X) {
     24   //CHECK: call i64 @llvm.ctpop.i64
     25   return _popcnt64(__X);
     26 }
     27