[Bitcode] Add compatibility tests for new instructions
[oota-llvm.git] / test / Bitcode / calling-conventions.3.2.ll
1 ; RUN:  llvm-dis < %s.bc| FileCheck %s
2 ; RUN:  verify-uselistorder < %s.bc
3
4 ; calling-conventions.3.2.ll.bc was generated by passing this file to llvm-as-3.2.
5 ; The test checks that LLVM does not silently misread calling conventions of
6 ; older bitcode files.
7
8 declare ccc void @ccc()
9 ; CHECK: declare void @ccc
10
11 declare fastcc void @fastcc()
12 ; CHECK: declare fastcc void @fastcc
13
14 declare coldcc void @coldcc()
15 ; CHECK: declare coldcc void @coldcc
16
17 declare cc10 void @cc10()
18 ; CHECK: declare ghccc void @cc10
19
20 declare spir_kernel void @spir_kernel()
21 ; CHECK: declare spir_kernel void @spir_kernel
22
23 declare spir_func void @spir_func()
24 ; CHECK: declare spir_func void @spir_func
25
26 declare intel_ocl_bicc void @intel_ocl_bicc()
27 ; CHECK: declare intel_ocl_bicc void @intel_ocl_bicc
28
29 declare x86_stdcallcc void @x86_stdcallcc()
30 ; CHECK: declare x86_stdcallcc void @x86_stdcallcc 
31
32 declare x86_fastcallcc void @x86_fastcallcc()
33 ; CHECK: declare x86_fastcallcc void @x86_fastcallcc 
34
35 declare x86_thiscallcc void @x86_thiscallcc()
36 ; CHECK: declare x86_thiscallcc void @x86_thiscallcc
37
38 declare arm_apcscc void @arm_apcscc()
39 ; CHECK: declare arm_apcscc void @arm_apcscc
40
41 declare arm_aapcscc void @arm_aapcscc()
42 ; CHECK: declare arm_aapcscc void @arm_aapcscc
43
44 declare arm_aapcs_vfpcc void @arm_aapcs_vfpcc()
45 ; CHECK: declare arm_aapcs_vfpcc void @arm_aapcs_vfpcc
46
47 declare msp430_intrcc void @msp430_intrcc()
48 ; CHECK: declare msp430_intrcc void @msp430_intrcc
49
50 declare ptx_kernel void @ptx_kernel()
51 ; CHECK: declare ptx_kernel void @ptx_kernel
52
53 declare ptx_device void @ptx_device()
54 ; CHECK: declare ptx_device void @ptx_device
55
56 define void @call_ccc() { 
57 ; CHECK: call void @ccc
58   call ccc void @ccc()
59   ret void
60 }
61
62 define void @call_fastcc() { 
63 ; CHECK: call fastcc void @fastcc
64   call fastcc void @fastcc()
65   ret void
66 }
67
68 define void @call_coldcc() { 
69 ; CHECK: call coldcc void @coldcc
70   call coldcc void @coldcc()
71   ret void
72 }
73
74 define void @call_cc10 () { 
75 ; CHECK: call ghccc void @cc10
76   call cc10 void @cc10 ()
77   ret void
78 }
79
80 define void @call_spir_kernel() { 
81 ; CHECK: call spir_kernel void @spir_kernel
82   call spir_kernel void @spir_kernel()
83   ret void
84 }
85
86 define void @call_spir_func() { 
87 ; CHECK: call spir_func void @spir_func
88   call spir_func void @spir_func()
89   ret void
90 }
91
92 define void @call_intel_ocl_bicc() { 
93 ; CHECK: call intel_ocl_bicc void @intel_ocl_bicc 
94   call intel_ocl_bicc void @intel_ocl_bicc()
95   ret void
96 }
97
98 define void @call_x86_stdcallcc() { 
99 ; CHECK: call x86_stdcallcc void @x86_stdcallcc
100   call x86_stdcallcc void @x86_stdcallcc()
101   ret void
102 }
103
104 define void @call_x86_fastcallcc() { 
105 ; CHECK: call x86_fastcallcc void @x86_fastcallcc
106   call x86_fastcallcc void @x86_fastcallcc()
107   ret void
108 }
109
110 define void @call_x86_thiscallcc() { 
111 ; CHECK: call x86_thiscallcc void @x86_thiscallcc 
112   call x86_thiscallcc void @x86_thiscallcc()
113   ret void
114 }
115
116 define void @call_arm_apcscc() { 
117 ; CHECK: call arm_apcscc void @arm_apcscc
118   call arm_apcscc void @arm_apcscc()
119   ret void
120 }
121
122 define void @call_arm_aapcscc() { 
123 ; CHECK: call arm_aapcscc void @arm_aapcscc
124   call arm_aapcscc void @arm_aapcscc()
125   ret void
126 }
127
128 define void @call_arm_aapcs_vfpcc() { 
129 ; CHECK: call arm_aapcs_vfpcc void @arm_aapcs_vfpcc
130   call arm_aapcs_vfpcc void @arm_aapcs_vfpcc()
131   ret void
132 }
133
134 define void @call_msp430_intrcc() { 
135 ; CHECK: call msp430_intrcc void @msp430_intrcc
136   call msp430_intrcc void @msp430_intrcc()
137   ret void
138 }
139
140 define void @call_ptx_kernel() { 
141 ; CHECK: call ptx_kernel void @ptx_kernel
142   call ptx_kernel void @ptx_kernel()
143   ret void
144 }
145
146 define void @call_ptx_device() { 
147 ; CHECK: call ptx_device void @ptx_device
148   call ptx_device void @ptx_device()
149   ret void
150 }
151