summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2011-12-21 08:17:40 +0000
committerCraig Topper <craig.topper@gmail.com>2011-12-21 08:17:40 +0000
commit3fe5ac40db2b43665eaff0775e197c47fb30cf4b (patch)
tree08952abe79a18f8ee414442f12488e56e4eccaad /clang/test
parentb8b1b4c1de4e99050fc17fa070300ff67886c67a (diff)
downloadbcm5719-llvm-3fe5ac40db2b43665eaff0775e197c47fb30cf4b.tar.gz
bcm5719-llvm-3fe5ac40db2b43665eaff0775e197c47fb30cf4b.zip
Add AVX2 horizontal add/sub intrinsics.
llvm-svn: 147047
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/avx2-builtins.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx2-builtins.c b/clang/test/CodeGen/avx2-builtins.c
index aa13b3c268f..cc252d7d551 100644
--- a/clang/test/CodeGen/avx2-builtins.c
+++ b/clang/test/CodeGen/avx2-builtins.c
@@ -215,3 +215,33 @@ __m256 test_mm256_cmpgt_epi64(__m256 a, __m256 b) {
// CHECK: icmp sgt <4 x i64>
return _mm256_cmpgt_epi64(a, b);
}
+
+__m256 test_mm256_hadd_epi16(__m256 a, __m256 b) {
+ // CHECK: @llvm.x86.avx2.phadd.w
+ return _mm256_hadd_epi16(a, b);
+}
+
+__m256 test_mm256_hadd_epi32(__m256 a, __m256 b) {
+ // CHECK: @llvm.x86.avx2.phadd.d
+ return _mm256_hadd_epi32(a, b);
+}
+
+__m256 test_mm256_hadds_epi16(__m256 a, __m256 b) {
+ // CHECK: @llvm.x86.avx2.phadd.sw
+ return _mm256_hadds_epi16(a, b);
+}
+
+__m256 test_mm256_hsub_epi16(__m256 a, __m256 b) {
+ // CHECK: @llvm.x86.avx2.phsub.w
+ return _mm256_hsub_epi16(a, b);
+}
+
+__m256 test_mm256_hsub_epi32(__m256 a, __m256 b) {
+ // CHECK: @llvm.x86.avx2.phsub.d
+ return _mm256_hsub_epi32(a, b);
+}
+
+__m256 test_mm256_hsubs_epi16(__m256 a, __m256 b) {
+ // CHECK: @llvm.x86.avx2.phsub.sw
+ return _mm256_hsubs_epi16(a, b);
+}
OpenPOWER on IntegriCloud