summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorYi Kong <Yi.Kong@arm.com>2014-08-13 19:18:14 +0000
committerYi Kong <Yi.Kong@arm.com>2014-08-13 19:18:14 +0000
commit26d104a9ec2470ed0b35171e36ad4522f88837e1 (patch)
tree813e73842515f6300d6070c32f1ae964ebe638e8 /clang/test
parentbb415eac2e79cc9c6d761cdb427693d8936b4a62 (diff)
downloadbcm5719-llvm-26d104a9ec2470ed0b35171e36ad4522f88837e1.tar.gz
bcm5719-llvm-26d104a9ec2470ed0b35171e36ad4522f88837e1.zip
ARM: Prefetch intrinsics
llvm-svn: 215568
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/builtins-arm.c11
-rw-r--r--clang/test/Sema/builtins-arm.c5
2 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/CodeGen/builtins-arm.c b/clang/test/CodeGen/builtins-arm.c
index a51df15ce56..686ae4e0093 100644
--- a/clang/test/CodeGen/builtins-arm.c
+++ b/clang/test/CodeGen/builtins-arm.c
@@ -66,3 +66,14 @@ void test_barrier() {
unsigned rbit(unsigned a) {
return __builtin_arm_rbit(a);
}
+
+void prefetch(int i) {
+ __builtin_arm_prefetch(&i, 0, 1);
+// CHECK: call {{.*}} @llvm.prefetch(i8* %0, i32 0, i32 3, i32 1)
+
+ __builtin_arm_prefetch(&i, 1, 1);
+// CHECK: call {{.*}} @llvm.prefetch(i8* %0, i32 1, i32 3, i32 1)
+
+ __builtin_arm_prefetch(&i, 1, 0);
+// CHECK: call {{.*}} @llvm.prefetch(i8* %0, i32 1, i32 3, i32 0)
+}
diff --git a/clang/test/Sema/builtins-arm.c b/clang/test/Sema/builtins-arm.c
index 6c367d35a5f..cc4af7d11df 100644
--- a/clang/test/Sema/builtins-arm.c
+++ b/clang/test/Sema/builtins-arm.c
@@ -37,4 +37,9 @@ void test3() {
__builtin_arm_isb(18); // expected-error {{argument should be a value from 0 to 15}}
}
+void test4() {
+ __builtin_arm_prefetch(0, 2, 0); // expected-error {{argument should be a value from 0 to 1}}
+ __builtin_arm_prefetch(0, 0, 2); // expected-error {{argument should be a value from 0 to 1}}
+}
+
#endif
OpenPOWER on IntegriCloud