1; RUN: llc < %s -mtriple=i686-apple-darwin8 -mcpu=yonah | FileCheck %s -check-prefix=DARWIN
2; RUN: llc < %s -mtriple=i686-unknown-linux -mcpu=yonah | FileCheck %s -check-prefix=LINUX
3; RUN: llc < %s -mtriple=x86_64-scei-ps4 | FileCheck %s -check-prefix=PS4
4; RUN: llc < %s -mtriple=x86_64-sie-ps5  | FileCheck %s -check-prefix=PS4
5; RUN: llc < %s -mtriple=x86_64-windows-msvc | FileCheck %s -check-prefix=WIN64
6
7; DARWIN-LABEL: test0:
8; DARWIN: ud2
9; LINUX-LABEL: test0:
10; LINUX: ud2
11; FIXME: PS4 probably doesn't want two ud2s.
12; PS4-LABEL: test0:
13; PS4: ud2
14; PS4: ud2
15; WIN64-LABEL: test0:
16; WIN64: ud2
17; WIN64-NOT: ud2
18define i32 @test0() noreturn nounwind  {
19entry:
20	tail call void @llvm.trap( )
21	unreachable
22}
23
24; DARWIN-LABEL: test1:
25; DARWIN: int3
26; LINUX-LABEL: test1:
27; LINUX: int3
28; PS4-LABEL: test1:
29; PS4: int     $65
30; WIN64-LABEL: test1:
31; WIN64: int3
32; WIN64-NOT: ud2
33define i32 @test1() noreturn nounwind  {
34entry:
35	tail call void @llvm.debugtrap( )
36	unreachable
37}
38
39declare void @llvm.trap() nounwind
40declare void @llvm.debugtrap() nounwind
41
42