diff options
author | dim <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 |
commit | 952eddef9aff85b1e92626e89baaf7a360e2ac85 (patch) | |
tree | df8df0b0067b381eab470a3b8f28d14a552a6340 /test/CodeGen/avx-cmp-builtins.c | |
parent | ea266cad53e3d49771fa38103913d3ec7a166694 (diff) | |
download | FreeBSD-src-952eddef9aff85b1e92626e89baaf7a360e2ac85.zip FreeBSD-src-952eddef9aff85b1e92626e89baaf7a360e2ac85.tar.gz |
Vendor import of clang release_34 branch r197841 (effectively, 3.4 RC3):
https://llvm.org/svn/llvm-project/cfe/branches/release_34@197841
Diffstat (limited to 'test/CodeGen/avx-cmp-builtins.c')
-rw-r--r-- | test/CodeGen/avx-cmp-builtins.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/CodeGen/avx-cmp-builtins.c b/test/CodeGen/avx-cmp-builtins.c index 1ac1c31..5b205d7 100644 --- a/test/CodeGen/avx-cmp-builtins.c +++ b/test/CodeGen/avx-cmp-builtins.c @@ -44,3 +44,51 @@ __m128d test_cmp_ss(__m128 a, __m128 b) { // CHECK: @llvm.x86.sse.cmp.ss({{.*}}, i8 13) return _mm_cmp_ss(a, b, _CMP_GE_OS); } + +__m128 test_cmpgt_ss(__m128 a, __m128 b) { + // CHECK: @llvm.x86.sse.cmp.ss({{.*}}, i8 1) + // CHECK: shufflevector <{{.*}}, <4 x i32> <i32 4, i32 1, i32 2, i32 3> + return _mm_cmpgt_ss(a, b); +} + +__m128 test_cmpge_ss(__m128 a, __m128 b) { + // CHECK: @llvm.x86.sse.cmp.ss({{.*}}, i8 2) + // CHECK: shufflevector <{{.*}}, <4 x i32> <i32 4, i32 1, i32 2, i32 3> + return _mm_cmpge_ss(a, b); +} + +__m128 test_cmpngt_ss(__m128 a, __m128 b) { + // CHECK: @llvm.x86.sse.cmp.ss({{.*}}, i8 5) + // CHECK: shufflevector <{{.*}}, <4 x i32> <i32 4, i32 1, i32 2, i32 3> + return _mm_cmpngt_ss(a, b); +} + +__m128 test_cmpnge_ss(__m128 a, __m128 b) { + // CHECK: @llvm.x86.sse.cmp.ss({{.*}}, i8 6) + // CHECK: shufflevector <{{.*}}, <4 x i32> <i32 4, i32 1, i32 2, i32 3> + return _mm_cmpnge_ss(a, b); +} + +__m128d test_cmpgt_sd(__m128d a, __m128d b) { + // CHECK: @llvm.x86.sse2.cmp.sd({{.*}}, i8 1) + // CHECK: shufflevector <{{.*}}, <2 x i32> <i32 0, i32 3> + return _mm_cmpgt_sd(a, b); +} + +__m128d test_cmpge_sd(__m128d a, __m128d b) { + // CHECK: @llvm.x86.sse2.cmp.sd({{.*}}, i8 2) + // CHECK: shufflevector <{{.*}}, <2 x i32> <i32 0, i32 3> + return _mm_cmpge_sd(a, b); +} + +__m128d test_cmpngt_sd(__m128d a, __m128d b) { + // CHECK: @llvm.x86.sse2.cmp.sd({{.*}}, i8 5) + // CHECK: shufflevector <{{.*}}, <2 x i32> <i32 0, i32 3> + return _mm_cmpngt_sd(a, b); +} + +__m128d test_cmpnge_sd(__m128d a, __m128d b) { + // CHECK: @llvm.x86.sse2.cmp.sd({{.*}}, i8 6) + // CHECK: shufflevector <{{.*}}, <2 x i32> <i32 0, i32 3> + return _mm_cmpnge_sd(a, b); +} |