blob: 6cb26e331ba0d69a83891064625425b86b4bac4b [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
Eli Bendersky2e2ce492013-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
Jim Grosbach69b514b2013-08-26 20:22:08 +000012; RUN: llc -verify-machineinstrs -fast-isel -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
Eli Bendersky2e2ce492013-01-30 16:30:19 +000013; 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
Jim Grosbach69b514b2013-08-26 20:22:08 +000018; RUN: llc -verify-machineinstrs -fast-isel -mtriple=armv7 -filetype=obj %s -o - \
Eli Bendersky2e2ce492013-01-30 16:30:19 +000019; RUN: | llvm-objdump -disassemble -triple armv7 - \
20; RUN: | FileCheck %s -check-prefix=ENCODING-ALL
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000021; rdar://7961298
Evan Cheng9a3f2772011-04-07 20:31:12 +000022; rdar://9249183
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000023
Rafael Espindola29dda212010-06-17 15:18:27 +000024define void @t() nounwind {
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000025entry:
Stephen Lind24ab202013-07-14 06:24:09 +000026; INSTR-LABEL: t:
Evan Cheng9a3f2772011-04-07 20:31:12 +000027; INSTR: trap
28
Stephen Lind24ab202013-07-14 06:24:09 +000029; FUNC-LABEL: t:
Evan Cheng9a3f2772011-04-07 20:31:12 +000030; FUNC: bl __trap
Eli Bendersky2e2ce492013-01-30 16:30:19 +000031
32; ENCODING-NACL: f0 de fe e7
33
34; ENCODING-ALL: fe de ff e7
35
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000036 call void @llvm.trap()
37 unreachable
38}
39
Shuxin Yangcdde0592012-10-19 20:11:16 +000040define void @t2() nounwind {
41entry:
Stephen Lind24ab202013-07-14 06:24:09 +000042; INSTR-LABEL: t2:
Shuxin Yangcdde0592012-10-19 20:11:16 +000043; INSTR: trap
44
Stephen Lind24ab202013-07-14 06:24:09 +000045; FUNC-LABEL: t2:
Shuxin Yangcdde0592012-10-19 20:11:16 +000046; FUNC: bl __trap
Eli Bendersky2e2ce492013-01-30 16:30:19 +000047
48; ENCODING-NACL: f0 de fe e7
49
50; ENCODING-ALL: fe de ff e7
51
Shuxin Yangcdde0592012-10-19 20:11:16 +000052 call void @llvm.debugtrap()
53 unreachable
54}
55
Evan Cheng2fa5a7e2010-05-11 07:26:32 +000056declare void @llvm.trap() nounwind
Shuxin Yangcdde0592012-10-19 20:11:16 +000057declare void @llvm.debugtrap() nounwind