diff options
| author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-06-22 12:32:43 +0000 |
|---|---|---|
| committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-06-22 12:32:43 +0000 |
| commit | 716859aa644f0df05a84b77f8bd11a057083efe1 (patch) | |
| tree | a8548369aa3845f3eade287a4e69169cfa551334 /clang/test/CodeGen/bmi-builtins.c | |
| parent | 397a34a08db195717d0357a6e55437ee4f84fd2c (diff) | |
| download | bcm5719-llvm-716859aa644f0df05a84b77f8bd11a057083efe1.tar.gz bcm5719-llvm-716859aa644f0df05a84b77f8bd11a057083efe1.zip | |
[Clang][bmi][intrinsics] Adding _mm_tzcnt_64 _mm_tzcnt_32 intrinsics to clang.
Differential Revision: http://reviews.llvm.org/D21373
llvm-svn: 273401
Diffstat (limited to 'clang/test/CodeGen/bmi-builtins.c')
| -rw-r--r-- | clang/test/CodeGen/bmi-builtins.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGen/bmi-builtins.c b/clang/test/CodeGen/bmi-builtins.c index aac491d1a59..b9e22f9b20f 100644 --- a/clang/test/CodeGen/bmi-builtins.c +++ b/clang/test/CodeGen/bmi-builtins.c @@ -64,6 +64,13 @@ unsigned int test__tzcnt_u32(unsigned int __X) { return __tzcnt_u32(__X); } +int test_mm_tzcnt_32(unsigned int __X) { + // CHECK-LABEL: test_mm_tzcnt_32 + // CHECK: icmp ne i32 %{{.*}}, 0 + // CHECK: i32 @llvm.cttz.i32(i32 %{{.*}}, i1 true) + return _mm_tzcnt_32(__X); +} + unsigned long long test__andn_u64(unsigned long __X, unsigned long __Y) { // CHECK-LABEL: test__andn_u64 // CHECK: xor i64 %{{.*}}, -1 @@ -105,6 +112,13 @@ unsigned long long test__tzcnt_u64(unsigned long long __X) { return __tzcnt_u64(__X); } +long long test_mm_tzcnt_64(unsigned long long __X) { + // CHECK-LABEL: test_mm_tzcnt_64 + // CHECK: icmp ne i64 %{{.*}}, 0 + // CHECK: i64 @llvm.cttz.i64(i64 %{{.*}}, i1 true) + return _mm_tzcnt_64(__X); +} + // Intel intrinsics unsigned short test_tzcnt_u16(unsigned short __X) { |

