OLD | NEW |
1 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=0 < %s | FileCheck %s | 1 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=0 < %s | FileCheck %s |
2 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=0 \ | 2 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=0 \ |
3 ; RUN: -pnaclabi-allow-debug-metadata < %s | FileCheck %s --check-prefix=DBG | 3 ; RUN: -pnaclabi-allow-debug-metadata < %s | FileCheck %s --check-prefix=DBG |
4 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=1 < %s | \ | 4 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=1 < %s | \ |
5 ; RUN: FileCheck %s --check-prefix=DEV | 5 ; RUN: FileCheck %s --check-prefix=DEV |
6 | 6 |
7 ; Test that only white-listed intrinsics are allowed. | 7 ; Test that only white-listed intrinsics are allowed. |
8 | 8 |
9 ; =================================== | 9 ; =================================== |
10 ; Some disallowed "Dev" intrinsics. | 10 ; Some disallowed "Dev" intrinsics. |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 ; =================================== | 22 ; =================================== |
23 ; Always allowed intrinsics. | 23 ; Always allowed intrinsics. |
24 ; CHECK-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic | 24 ; CHECK-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic |
25 ; DBG-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic | 25 ; DBG-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic |
26 ; DEV-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic | 26 ; DEV-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic |
27 declare void @llvm.lifetime.start(i64, i8* nocapture) | 27 declare void @llvm.lifetime.start(i64, i8* nocapture) |
28 | 28 |
29 ; CHECK-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic | 29 ; CHECK-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic |
30 declare void @llvm.lifetime.end(i64, i8* nocapture) | 30 declare void @llvm.lifetime.end(i64, i8* nocapture) |
| 31 |
31 ; CHECK-NOT: Function llvm.memcpy.p0i8.p0i8.i32 is a disallowed LLVM intrinsic | 32 ; CHECK-NOT: Function llvm.memcpy.p0i8.p0i8.i32 is a disallowed LLVM intrinsic |
32 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* %dest, i8* %src, | 33 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* %dest, i8* %src, |
33 i32 %len, i32 %align, i1 %isvolatile) | 34 i32 %len, i32 %align, i1 %isvolatile) |
34 ; CHECK-NOT: Function llvm.memcpy.p0i8.p0i8.i64 is a disallowed LLVM intrinsic | 35 ; CHECK-NOT: Function llvm.memcpy.p0i8.p0i8.i64 is a disallowed LLVM intrinsic |
35 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* %dest, i8* %src, | 36 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* %dest, i8* %src, |
36 i64 %len, i32 %align, i1 %isvolatile) | 37 i64 %len, i32 %align, i1 %isvolatile) |
37 ; CHECK-NOT: Function llvm.nacl.read.tp is a disallowed LLVM intrinsic | 38 ; CHECK-NOT: Function llvm.nacl.read.tp is a disallowed LLVM intrinsic |
38 declare i8* @llvm.nacl.read.tp() | 39 declare i8* @llvm.nacl.read.tp() |
39 | 40 |
| 41 ; CHECK-NOT: Function llvm.bswap.16 is a disallowed LLVM intrinsic |
| 42 declare i16 @llvm.bswap.16(i16) |
| 43 |
| 44 ; CHECK-NOT: Function llvm.bswap.32 is a disallowed LLVM intrinsic |
| 45 declare i32 @llvm.bswap.32(i32) |
| 46 |
| 47 ; CHECK-NOT: Function llvm.bswap.64 is a disallowed LLVM intrinsic |
| 48 declare i64 @llvm.bswap.64(i64) |
| 49 |
40 ; =================================== | 50 ; =================================== |
41 ; Always disallowed intrinsics. | 51 ; Always disallowed intrinsics. |
| 52 |
42 ; CHECK: Function llvm.adjust.trampoline is a disallowed LLVM intrinsic | 53 ; CHECK: Function llvm.adjust.trampoline is a disallowed LLVM intrinsic |
43 ; DBG: Function llvm.adjust.trampoline is a disallowed LLVM intrinsic | 54 ; DBG: Function llvm.adjust.trampoline is a disallowed LLVM intrinsic |
44 ; DEV: Function llvm.adjust.trampoline is a disallowed LLVM intrinsic | 55 ; DEV: Function llvm.adjust.trampoline is a disallowed LLVM intrinsic |
45 declare i8* @llvm.adjust.trampoline(i8*) | 56 declare i8* @llvm.adjust.trampoline(i8*) |
46 | 57 |
47 ; CHECK: Function llvm.init.trampoline is a disallowed LLVM intrinsic | 58 ; CHECK: Function llvm.init.trampoline is a disallowed LLVM intrinsic |
48 ; DBG: Function llvm.init.trampoline is a disallowed LLVM intrinsic | 59 ; DBG: Function llvm.init.trampoline is a disallowed LLVM intrinsic |
49 ; DEV: Function llvm.init.trampoline is a disallowed LLVM intrinsic | 60 ; DEV: Function llvm.init.trampoline is a disallowed LLVM intrinsic |
50 declare void @llvm.init.trampoline(i8*, i8*, i8*) | 61 declare void @llvm.init.trampoline(i8*, i8*, i8*) |
51 | 62 |
52 ; CHECK: Function llvm.x86.aesni.aeskeygenassist is a disallowed LLVM intrinsic | 63 ; CHECK: Function llvm.x86.aesni.aeskeygenassist is a disallowed LLVM intrinsic |
53 ; DBG: Function llvm.x86.aesni.aeskeygenassist is a disallowed LLVM intrinsic | 64 ; DBG: Function llvm.x86.aesni.aeskeygenassist is a disallowed LLVM intrinsic |
54 ; DEV: Function llvm.x86.aesni.aeskeygenassist is a disallowed LLVM intrinsic | 65 ; DEV: Function llvm.x86.aesni.aeskeygenassist is a disallowed LLVM intrinsic |
55 declare <2 x i64> @llvm.x86.aesni.aeskeygenassist(<2 x i64>, i8) | 66 declare <2 x i64> @llvm.x86.aesni.aeskeygenassist(<2 x i64>, i8) |
56 | 67 |
57 ; CHECK: Function llvm.va_copy is a disallowed LLVM intrinsic | 68 ; CHECK: Function llvm.va_copy is a disallowed LLVM intrinsic |
58 ; DBG: Function llvm.va_copy is a disallowed LLVM intrinsic | 69 ; DBG: Function llvm.va_copy is a disallowed LLVM intrinsic |
59 ; DEV: Function llvm.va_copy is a disallowed LLVM intrinsic | 70 ; DEV: Function llvm.va_copy is a disallowed LLVM intrinsic |
60 declare void @llvm.va_copy(i8*, i8*) | 71 declare void @llvm.va_copy(i8*, i8*) |
| 72 |
| 73 ; CHECK: Function llvm.bswap.1 is a disallowed LLVM intrinsic |
| 74 declare i1 @llvm.bswap.1(i1) |
| 75 |
| 76 ; CHECK: Function llvm.bswap.8 is a disallowed LLVM intrinsic |
| 77 declare i8 @llvm.bswap.8(i8) |
OLD | NEW |