Index: test/NaCl/ARM/nacl-setlongjmp-intrinsics.ll |
diff --git a/test/NaCl/ARM/nacl-setlongjmp-intrinsics.ll b/test/NaCl/ARM/nacl-setlongjmp-intrinsics.ll |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9d2403756086a291de116a7ea72270a866dda849 |
--- /dev/null |
+++ b/test/NaCl/ARM/nacl-setlongjmp-intrinsics.ll |
@@ -0,0 +1,18 @@ |
+; RUN: pnacl-llc -mtriple=arm-unknown-nacl -filetype=asm %s -o - \ |
+; RUN: | FileCheck %s --check-prefix=ARM |
+; Test that @llvm.nacl.{set|long}jmp intrinsics calls get translated to library |
+; calls as expected. |
+ |
+declare i32 @llvm.nacl.setjmp(i8*) |
+declare void @llvm.nacl.longjmp(i8*, i32) |
+ |
+define void @foo(i8* %arg) { |
+ %num = call i32 @llvm.nacl.setjmp(i8* %arg) |
+; ARM: bl setjmp |
+ |
+ call void @llvm.nacl.longjmp(i8* %arg, i32 %num) |
+; ARM: bl longjmp |
+ |
+ ret void |
+} |
+ |