summaryrefslogtreecommitdiff
path: root/test/CodeGen/sse-builtins.c
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-09-23 23:38:39 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-09-23 23:38:39 +0000
commit440a5f49133307745de7cc92a44d53088cf47c26 (patch)
tree16609bea27dd8a9ceb5de768bfb600b242bdbb30 /test/CodeGen/sse-builtins.c
parentafa170f2cfa7e84e99559d0f1b3ceafec9c75de0 (diff)
downloadclang-440a5f49133307745de7cc92a44d53088cf47c26.tar.gz
Add _mm_stream_si64 intrinsic.
While I'm here, also fix the alignment computation for the whole family of intrinsics. PR17298. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191243 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/sse-builtins.c')
-rw-r--r--test/CodeGen/sse-builtins.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/test/CodeGen/sse-builtins.c b/test/CodeGen/sse-builtins.c
index 2a4ca17967..559d855547 100644
--- a/test/CodeGen/sse-builtins.c
+++ b/test/CodeGen/sse-builtins.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -ffreestanding -triple i386-apple-darwin9 -target-cpu pentium4 -target-feature +sse4.1 -g -emit-llvm %s -o - | FileCheck %s
+// RUN: %clang_cc1 -ffreestanding -triple x86_64-apple-macosx10.8.0 -target-feature +sse4.1 -g -emit-llvm %s -o - | FileCheck %s
#include <xmmintrin.h>
#include <emmintrin.h>
@@ -188,3 +188,21 @@ void test_storel_epi64(__m128i x, void* y) {
// CHECK: store {{.*}} i64* {{.*}}, align 1{{$}}
_mm_storel_epi64(y, x);
}
+
+void test_stream_si32(int x, void *y) {
+ // CHECK-LABEL: define void @test_stream_si32
+ // CHECK: store {{.*}} i32* {{.*}}, align 1, !nontemporal
+ _mm_stream_si32(y, x);
+}
+
+void test_stream_si64(long long x, void *y) {
+ // CHECK-LABEL: define void @test_stream_si64
+ // CHECK: store {{.*}} i64* {{.*}}, align 1, !nontemporal
+ _mm_stream_si64(y, x);
+}
+
+void test_stream_si128(__m128i x, void *y) {
+ // CHECK-LABEL: define void @test_stream_si128
+ // CHECK: store {{.*}} <2 x i64>* {{.*}}, align 16, !nontemporal
+ _mm_stream_si128(y, x);
+}