1946b3b2eSMichael Kuperstein; RUN:  llvm-dis < %s.bc| FileCheck %s
2946b3b2eSMichael Kuperstein
3946b3b2eSMichael Kuperstein; highLevelStructure.3.2.ll.bc was generated by passing this file to llvm-as-3.2.
4946b3b2eSMichael Kuperstein; The test checks that LLVM does not misread binary float instructions of
5946b3b2eSMichael Kuperstein; older bitcode files.
6946b3b2eSMichael Kuperstein
7946b3b2eSMichael Kuperstein; Data Layout Test
846a43556SMehdi Amini; CHECK: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-a0:0:64-f80:32:32-n8:16:32-S32"
9946b3b2eSMichael Kupersteintarget datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-a0:0:64-f80:32:32-n8:16:32-S32"
10946b3b2eSMichael Kuperstein
11946b3b2eSMichael Kuperstein; Module-Level Inline Assembly Test
12946b3b2eSMichael Kuperstein; CHECK: module asm "some assembly"
13946b3b2eSMichael Kupersteinmodule asm "some assembly"
14946b3b2eSMichael Kuperstein
15946b3b2eSMichael Kuperstein; Named Types Test
16946b3b2eSMichael Kuperstein; CHECK: %mytype = type { %mytype*, i32 }
17946b3b2eSMichael Kuperstein%mytype = type { %mytype*, i32 }
18946b3b2eSMichael Kuperstein
19946b3b2eSMichael Kuperstein; Aliases Test
20946b3b2eSMichael Kuperstein; CHECK: @glob1 = global i32 1
21946b3b2eSMichael Kuperstein@glob1 = global i32 1
222f40830dSDavid Blaikie; CHECK: @aliased1 = alias i32, i32* @glob1
232f40830dSDavid Blaikie@aliased1 = alias i32, i32* @glob1
242f40830dSDavid Blaikie; CHECK-NEXT: @aliased2 = internal alias i32, i32* @glob1
252f40830dSDavid Blaikie@aliased2 = internal alias i32, i32* @glob1
262f40830dSDavid Blaikie; CHECK-NEXT: @aliased3 = alias i32, i32* @glob1
272f40830dSDavid Blaikie@aliased3 = external alias i32, i32* @glob1
282f40830dSDavid Blaikie; CHECK-NEXT: @aliased4 = weak alias i32, i32* @glob1
292f40830dSDavid Blaikie@aliased4 = weak alias i32, i32* @glob1
302f40830dSDavid Blaikie; CHECK-NEXT: @aliased5 = weak_odr alias i32, i32* @glob1
312f40830dSDavid Blaikie@aliased5 = weak_odr alias i32, i32* @glob1
32946b3b2eSMichael Kuperstein
33946b3b2eSMichael Kuperstein;Parameter Attribute Test
34946b3b2eSMichael Kuperstein; CHECK: declare void @ParamAttr1(i8 zeroext)
35946b3b2eSMichael Kupersteindeclare void @ParamAttr1(i8 zeroext)
36946b3b2eSMichael Kuperstein; CHECK: declare void @ParamAttr2(i8* nest)
37946b3b2eSMichael Kupersteindeclare void @ParamAttr2(i8* nest)
380a7cd99aSMatt Arsenault; CHECK: declare void @ParamAttr3(i8* sret(i8))
39*20c43d6bSMatt Arsenaultdeclare void @ParamAttr3(i8* sret(i8))
40946b3b2eSMichael Kuperstein; CHECK: declare void @ParamAttr4(i8 signext)
41946b3b2eSMichael Kupersteindeclare void @ParamAttr4(i8 signext)
42946b3b2eSMichael Kuperstein; CHECK: declare void @ParamAttr5(i8* inreg)
43946b3b2eSMichael Kupersteindeclare void @ParamAttr5(i8* inreg)
44b7141207STim Northover; CHECK: declare void @ParamAttr6(i8* byval(i8))
4506c192d4SMatt Arsenaultdeclare void @ParamAttr6(i8* byval(i8))
46946b3b2eSMichael Kuperstein; CHECK: declare void @ParamAttr7(i8* noalias)
47946b3b2eSMichael Kupersteindeclare void @ParamAttr7(i8* noalias)
48946b3b2eSMichael Kuperstein; CHECK: declare void @ParamAttr8(i8* nocapture)
49946b3b2eSMichael Kupersteindeclare void @ParamAttr8(i8* nocapture)
50946b3b2eSMichael Kuperstein; CHECK: declare void @ParamAttr9{{[(i8* nest noalias nocapture) | (i8* noalias nocapture nest)]}}
51946b3b2eSMichael Kupersteindeclare void @ParamAttr9(i8* nest noalias nocapture)
52*20c43d6bSMatt Arsenault; CHECK: declare void @ParamAttr10{{[(i8* sret(i8) noalias nocapture) | (i8* noalias nocapture sret(i8))]}}
53*20c43d6bSMatt Arsenaultdeclare void @ParamAttr10(i8* sret(i8) noalias nocapture)
54b7141207STim Northover;CHECK: declare void @ParamAttr11{{[(i8* byval(i8) noalias nocapture) | (i8* noalias nocapture byval(i8))]}}
5506c192d4SMatt Arsenaultdeclare void @ParamAttr11(i8* byval(i8) noalias nocapture)
56946b3b2eSMichael Kuperstein;CHECK: declare void @ParamAttr12{{[(i8* inreg noalias nocapture) | (i8* noalias nocapture inreg)]}}
57946b3b2eSMichael Kupersteindeclare void @ParamAttr12(i8* inreg noalias nocapture)
58946b3b2eSMichael Kuperstein
59946b3b2eSMichael Kuperstein
60946b3b2eSMichael Kuperstein; NamedTypesTest
61946b3b2eSMichael Kupersteindefine void @NamedTypes() {
62946b3b2eSMichael Kupersteinentry:
63946b3b2eSMichael Kuperstein; CHECK: %res = alloca %mytype
64946b3b2eSMichael Kuperstein  %res = alloca %mytype
65946b3b2eSMichael Kuperstein  ret void
66946b3b2eSMichael Kuperstein}
67946b3b2eSMichael Kuperstein
68946b3b2eSMichael Kuperstein; Garbage Collector Name Test
69946b3b2eSMichael Kuperstein; CHECK: define void @gcTest() gc "gc"
70946b3b2eSMichael Kupersteindefine void @gcTest() gc "gc" {
71946b3b2eSMichael Kupersteinentry:
72946b3b2eSMichael Kuperstein  ret void
73946b3b2eSMichael Kuperstein}
74946b3b2eSMichael Kuperstein
75946b3b2eSMichael Kuperstein; Named metadata Test
76946b3b2eSMichael Kuperstein; CHECK: !name = !{!0, !1, !2}
77946b3b2eSMichael Kuperstein!name = !{!0, !1, !2}
78be7ea19bSDuncan P. N. Exon Smith; CHECK: !0 = !{!"zero"}
79946b3b2eSMichael Kuperstein!0 = metadata !{metadata !"zero"}
80be7ea19bSDuncan P. N. Exon Smith; CHECK: !1 = !{!"one"}
81946b3b2eSMichael Kuperstein!1 = metadata !{metadata !"one"}
82be7ea19bSDuncan P. N. Exon Smith; CHECK: !2 = !{!"two"}
83946b3b2eSMichael Kuperstein!2 = metadata !{metadata !"two"}
84946b3b2eSMichael Kuperstein
85946b3b2eSMichael Kuperstein
86946b3b2eSMichael Kuperstein
87