blob: a4e3c3c0efa9697623960cce60cdfe7c8027b04e [file] [log] [blame]
Evan Cheng274d8d42011-04-07 20:31:12 +00001; RUN: llc < %s -mtriple=arm-apple-darwin | FileCheck %s -check-prefix=INSTR
Evan Cheng4da0c7c2011-04-08 21:37:21 +00002; RUN: llc < %s -mtriple=arm-apple-darwin -trap-func=_trap | FileCheck %s -check-prefix=FUNC
Eli Bendersky0f156af2013-01-30 16:30:19 +00003; RUN: llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
4; RUN: | llvm-objdump -disassemble -triple armv7-unknown-nacl - \
5; RUN: | FileCheck %s -check-prefix=ENCODING-NACL
6; RUN: llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
7; RUN: | llvm-objdump -disassemble -triple armv7 -mattr=+nacl-trap - \
8; RUN: | FileCheck %s -check-prefix=ENCODING-NACL
9; RUN: llc -mtriple=armv7 -mattr=+nacl-trap -filetype=obj %s -o - \
10; RUN: | llvm-objdump -disassemble -triple armv7 -mattr=+nacl-trap - \
11; RUN: | FileCheck %s -check-prefix=ENCODING-NACL
12; RUN: llc -fast-isel -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
13; RUN: | llvm-objdump -disassemble -triple armv7-unknown-nacl - \
14; RUN: | FileCheck %s -check-prefix=ENCODING-NACL
15; RUN: llc -mtriple=armv7 -filetype=obj %s -o - \
16; RUN: | llvm-objdump -disassemble -triple armv7 - \
17; RUN: | FileCheck %s -check-prefix=ENCODING-ALL
18; RUN: llc -fast-isel -mtriple=armv7 -filetype=obj %s -o - \
19; RUN: | llvm-objdump -disassemble -triple armv7 - \
20; RUN: | FileCheck %s -check-prefix=ENCODING-ALL
Evan Chengfb3611d2010-05-11 07:26:32 +000021; rdar://7961298
Evan Cheng274d8d42011-04-07 20:31:12 +000022; rdar://9249183
Evan Chengfb3611d2010-05-11 07:26:32 +000023
Rafael Espindola1e819662010-06-17 15:18:27 +000024define void @t() nounwind {
Evan Chengfb3611d2010-05-11 07:26:32 +000025entry:
Evan Cheng274d8d42011-04-07 20:31:12 +000026; INSTR: t:
27; INSTR: trap
28
29; FUNC: t:
30; FUNC: bl __trap
Eli Bendersky0f156af2013-01-30 16:30:19 +000031
32; ENCODING-NACL: f0 de fe e7
33
34; ENCODING-ALL: fe de ff e7
35
Evan Chengfb3611d2010-05-11 07:26:32 +000036 call void @llvm.trap()
37 unreachable
38}
39
Shuxin Yang970755e2012-10-19 20:11:16 +000040define void @t2() nounwind {
41entry:
42; INSTR: t2:
43; INSTR: trap
44
45; FUNC: t2:
46; FUNC: bl __trap
Eli Bendersky0f156af2013-01-30 16:30:19 +000047
48; ENCODING-NACL: f0 de fe e7
49
50; ENCODING-ALL: fe de ff e7
51
Shuxin Yang970755e2012-10-19 20:11:16 +000052 call void @llvm.debugtrap()
53 unreachable
54}
55
Evan Chengfb3611d2010-05-11 07:26:32 +000056declare void @llvm.trap() nounwind
Shuxin Yang970755e2012-10-19 20:11:16 +000057declare void @llvm.debugtrap() nounwind