blob: 0baf50b45b20ce8c9490e08060fbe1c88701a807 [file] [log] [blame]
Evan Cheng9a3f2772011-04-07 20:31:12 +00001; RUN: llc < %s -mtriple=arm-apple-darwin | FileCheck %s -check-prefix=INSTR
Evan Cheng74d92c12011-04-08 21:37:21 +00002; RUN: llc < %s -mtriple=arm-apple-darwin -trap-func=_trap | FileCheck %s -check-prefix=FUNC
Akira Hatanaka3d90f992014-04-15 21:30:06 +00003; RUN: llc < %s -mtriple=arm-apple-darwin -trap-func=_trap -O0 | FileCheck %s -check-prefix=FUNC
Eli Bendersky2e2ce492013-01-30 16:30:19 +00004; RUN: llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
5; RUN: | llvm-objdump -disassemble -triple armv7-unknown-nacl - \
6; RUN: | FileCheck %s -check-prefix=ENCODING-NACL
7; RUN: llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
8; RUN: | llvm-objdump -disassemble -triple armv7 -mattr=+nacl-trap - \
9; RUN: | FileCheck %s -check-prefix=ENCODING-NACL
10; RUN: llc -mtriple=armv7 -mattr=+nacl-trap -filetype=obj %s -o - \
11; RUN: | llvm-objdump -disassemble -triple armv7 -mattr=+nacl-trap - \
12; RUN: | FileCheck %s -check-prefix=ENCODING-NACL
Jim Grosbach69b514b2013-08-26 20:22:08 +000013; RUN: llc -verify-machineinstrs -fast-isel -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
Eli Bendersky2e2ce492013-01-30 16:30:19 +000014; RUN: | llvm-objdump -disassemble -triple armv7-unknown-nacl - \
15; RUN: | FileCheck %s -check-prefix=ENCODING-NACL
16; RUN: llc -mtriple=armv7 -filetype=obj %s -o - \
17; RUN: | llvm-objdump -disassemble -triple armv7 - \
18; RUN: | FileCheck %s -check-prefix=ENCODING-ALL
Jim Grosbach69b514b2013-08-26 20:22:08 +000019; RUN: llc -verify-machineinstrs -fast-isel -mtriple=armv7 -filetype=obj %s -o - \
Eli Bendersky2e2ce492013-01-30 16:30:19 +000020; RUN: | llvm-objdump -disassemble -triple armv7 - \
21; RUN: | FileCheck %s -check-prefix=ENCODING-ALL
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000022; rdar://7961298
Evan Cheng9a3f2772011-04-07 20:31:12 +000023; rdar://9249183
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000024
Rafael Espindola29dda212010-06-17 15:18:27 +000025define void @t() nounwind {
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000026entry:
Stephen Lind24ab202013-07-14 06:24:09 +000027; INSTR-LABEL: t:
Evan Cheng9a3f2772011-04-07 20:31:12 +000028; INSTR: trap
29
Stephen Lind24ab202013-07-14 06:24:09 +000030; FUNC-LABEL: t:
Evan Cheng9a3f2772011-04-07 20:31:12 +000031; FUNC: bl __trap
Eli Bendersky2e2ce492013-01-30 16:30:19 +000032
33; ENCODING-NACL: f0 de fe e7
34
35; ENCODING-ALL: fe de ff e7
36
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000037 call void @llvm.trap()
38 unreachable
39}
40
Shuxin Yangcdde0592012-10-19 20:11:16 +000041define void @t2() nounwind {
42entry:
Stephen Lind24ab202013-07-14 06:24:09 +000043; INSTR-LABEL: t2:
Shuxin Yangcdde0592012-10-19 20:11:16 +000044; INSTR: trap
45
Stephen Lind24ab202013-07-14 06:24:09 +000046; FUNC-LABEL: t2:
Shuxin Yangcdde0592012-10-19 20:11:16 +000047; FUNC: bl __trap
Eli Bendersky2e2ce492013-01-30 16:30:19 +000048
49; ENCODING-NACL: f0 de fe e7
50
51; ENCODING-ALL: fe de ff e7
52
Shuxin Yangcdde0592012-10-19 20:11:16 +000053 call void @llvm.debugtrap()
54 unreachable
55}
56
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000057declare void @llvm.trap() nounwind
Shuxin Yangcdde0592012-10-19 20:11:16 +000058declare void @llvm.debugtrap() nounwind