blob: 4fcbf701ecf816003fafd316a6a8decbee220ca1 [file] [log] [blame]
Yaxun Liua711cc72016-07-16 05:09:21 +00001; RUN: llc -mtriple=amdgcn--amdhsa < %s | FileCheck %s
2
3%struct.A = type { i8, float }
4%opencl.image1d_t = type opaque
5%opencl.image2d_t = type opaque
6%opencl.image3d_t = type opaque
7%opencl.queue_t = type opaque
8%opencl.pipe_t = type opaque
9%struct.B = type { i32 addrspace(1)*}
10%opencl.clk_event_t = type opaque
11
12; CHECK: .section .AMDGPU.runtime_metadata
13; CHECK-NEXT: .byte 1
14; CHECK-NEXT: .short 256
15; CHECK-NEXT: .byte 2
16; CHECK-NEXT: .byte 0
17; CHECK-NEXT: .byte 3
18; CHECK-NEXT: .short 200
Yaxun Liu63891402016-09-07 17:44:00 +000019; CHECK-NEXT: .byte 30
20; CHECK-NEXT: .long 10
21; CHECK-NEXT: .ascii "1:1:4:%d\\n"
22; CHECK-NEXT: .byte 30
23; CHECK-NEXT: .long 10
24; CHECK-NEXT: .ascii "2:1:8:%g\\n"
Yaxun Liua711cc72016-07-16 05:09:21 +000025
26; CHECK-LABEL:{{^}}test_char:
27; CHECK: .section .AMDGPU.runtime_metadata
28; CHECK-NEXT: .byte 4
29; CHECK-NEXT: .byte 6
30; CHECK-NEXT: .long 9
31; CHECK-NEXT: .ascii "test_char"
32; CHECK-NEXT: .byte 7
33; CHECK-NEXT: .byte 9
34; CHECK-NEXT: .long 1
35; CHECK-NEXT: .byte 10
36; CHECK-NEXT: .long 1
37; CHECK-NEXT: .byte 11
38; CHECK-NEXT: .long 4
39; CHECK-NEXT: .ascii "char"
40; CHECK-NEXT: .byte 13
41; CHECK-NEXT: .byte 0
42; CHECK-NEXT: .byte 14
43; CHECK-NEXT: .short 1
44; CHECK-NEXT: .byte 16
45; CHECK-NEXT: .byte 0
46; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +000047; CHECK-NEXT: .byte 7
48; CHECK-NEXT: .byte 9
49; CHECK-NEXT: .long 8
50; CHECK-NEXT: .byte 10
51; CHECK-NEXT: .long 8
52; CHECK-NEXT: .byte 13
53; CHECK-NEXT: .byte 7
54; CHECK-NEXT: .byte 14
55; CHECK-NEXT: .short 9
56; CHECK-NEXT: .byte 8
57; CHECK-NEXT: .byte 7
58; CHECK-NEXT: .byte 9
59; CHECK-NEXT: .long 8
60; CHECK-NEXT: .byte 10
61; CHECK-NEXT: .long 8
62; CHECK-NEXT: .byte 13
63; CHECK-NEXT: .byte 8
64; CHECK-NEXT: .byte 14
65; CHECK-NEXT: .short 9
66; CHECK-NEXT: .byte 8
67; CHECK-NEXT: .byte 7
68; CHECK-NEXT: .byte 9
69; CHECK-NEXT: .long 8
70; CHECK-NEXT: .byte 10
71; CHECK-NEXT: .long 8
72; CHECK-NEXT: .byte 13
73; CHECK-NEXT: .byte 9
74; CHECK-NEXT: .byte 14
75; CHECK-NEXT: .short 9
76; CHECK-NEXT: .byte 8
77; CHECK-NEXT: .byte 7
78; CHECK-NEXT: .byte 9
79; CHECK-NEXT: .long 8
80; CHECK-NEXT: .byte 10
81; CHECK-NEXT: .long 8
82; CHECK-NEXT: .byte 13
83; CHECK-NEXT: .byte 11
84; CHECK-NEXT: .byte 14
85; CHECK-NEXT: .short 1
86; CHECK-NEXT: .byte 15
87; CHECK-NEXT: .byte 1
88; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +000089; CHECK-NEXT: .byte 5
90
91define amdgpu_kernel void @test_char(i8 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !9 !kernel_arg_base_type !9 !kernel_arg_type_qual !4 {
92 ret void
93}
94
95; CHECK-LABEL:{{^}}test_ushort2:
96; CHECK: .section .AMDGPU.runtime_metadata
97; CHECK-NEXT: .byte 4
98; CHECK-NEXT: .byte 6
99; CHECK-NEXT: .long 12
100; CHECK-NEXT: .ascii "test_ushort2"
101; CHECK-NEXT: .byte 7
102; CHECK-NEXT: .byte 9
103; CHECK-NEXT: .long 4
104; CHECK-NEXT: .byte 10
105; CHECK-NEXT: .long 4
106; CHECK-NEXT: .byte 11
107; CHECK-NEXT: .long 7
108; CHECK-NEXT: .ascii "ushort2"
109; CHECK-NEXT: .byte 13
110; CHECK-NEXT: .byte 0
111; CHECK-NEXT: .byte 14
112; CHECK-NEXT: .short 4
113; CHECK-NEXT: .byte 16
114; CHECK-NEXT: .byte 0
115; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000116; CHECK-NEXT: .byte 7
117; CHECK-NEXT: .byte 9
118; CHECK-NEXT: .long 8
119; CHECK-NEXT: .byte 10
120; CHECK-NEXT: .long 8
121; CHECK-NEXT: .byte 13
122; CHECK-NEXT: .byte 7
123; CHECK-NEXT: .byte 14
124; CHECK-NEXT: .short 9
125; CHECK-NEXT: .byte 8
126; CHECK-NEXT: .byte 7
127; CHECK-NEXT: .byte 9
128; CHECK-NEXT: .long 8
129; CHECK-NEXT: .byte 10
130; CHECK-NEXT: .long 8
131; CHECK-NEXT: .byte 13
132; CHECK-NEXT: .byte 8
133; CHECK-NEXT: .byte 14
134; CHECK-NEXT: .short 9
135; CHECK-NEXT: .byte 8
136; CHECK-NEXT: .byte 7
137; CHECK-NEXT: .byte 9
138; CHECK-NEXT: .long 8
139; CHECK-NEXT: .byte 10
140; CHECK-NEXT: .long 8
141; CHECK-NEXT: .byte 13
142; CHECK-NEXT: .byte 9
143; CHECK-NEXT: .byte 14
144; CHECK-NEXT: .short 9
145; CHECK-NEXT: .byte 8
146; CHECK-NEXT: .byte 7
147; CHECK-NEXT: .byte 9
148; CHECK-NEXT: .long 8
149; CHECK-NEXT: .byte 10
150; CHECK-NEXT: .long 8
151; CHECK-NEXT: .byte 13
152; CHECK-NEXT: .byte 11
153; CHECK-NEXT: .byte 14
154; CHECK-NEXT: .short 1
155; CHECK-NEXT: .byte 15
156; CHECK-NEXT: .byte 1
157; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000158; CHECK-NEXT: .byte 5
159
160define amdgpu_kernel void @test_ushort2(<2 x i16> %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !10 !kernel_arg_base_type !10 !kernel_arg_type_qual !4 {
161 ret void
162}
163
164; CHECK-LABEL:{{^}}test_int3:
165; CHECK: .section .AMDGPU.runtime_metadata
166; CHECK-NEXT: .byte 4
167; CHECK-NEXT: .byte 6
168; CHECK-NEXT: .long 9
169; CHECK-NEXT: .ascii "test_int3"
170; CHECK-NEXT: .byte 7
171; CHECK-NEXT: .byte 9
172; CHECK-NEXT: .long 16
173; CHECK-NEXT: .byte 10
174; CHECK-NEXT: .long 16
175; CHECK-NEXT: .byte 11
176; CHECK-NEXT: .long 4
177; CHECK-NEXT: .ascii "int3"
178; CHECK-NEXT: .byte 13
179; CHECK-NEXT: .byte 0
180; CHECK-NEXT: .byte 14
181; CHECK-NEXT: .short 6
182; CHECK-NEXT: .byte 16
183; CHECK-NEXT: .byte 0
184; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000185; CHECK-NEXT: .byte 7
186; CHECK-NEXT: .byte 9
187; CHECK-NEXT: .long 8
188; CHECK-NEXT: .byte 10
189; CHECK-NEXT: .long 8
190; CHECK-NEXT: .byte 13
191; CHECK-NEXT: .byte 7
192; CHECK-NEXT: .byte 14
193; CHECK-NEXT: .short 9
194; CHECK-NEXT: .byte 8
195; CHECK-NEXT: .byte 7
196; CHECK-NEXT: .byte 9
197; CHECK-NEXT: .long 8
198; CHECK-NEXT: .byte 10
199; CHECK-NEXT: .long 8
200; CHECK-NEXT: .byte 13
201; CHECK-NEXT: .byte 8
202; CHECK-NEXT: .byte 14
203; CHECK-NEXT: .short 9
204; CHECK-NEXT: .byte 8
205; CHECK-NEXT: .byte 7
206; CHECK-NEXT: .byte 9
207; CHECK-NEXT: .long 8
208; CHECK-NEXT: .byte 10
209; CHECK-NEXT: .long 8
210; CHECK-NEXT: .byte 13
211; CHECK-NEXT: .byte 9
212; CHECK-NEXT: .byte 14
213; CHECK-NEXT: .short 9
214; CHECK-NEXT: .byte 8
215; CHECK-NEXT: .byte 7
216; CHECK-NEXT: .byte 9
217; CHECK-NEXT: .long 8
218; CHECK-NEXT: .byte 10
219; CHECK-NEXT: .long 8
220; CHECK-NEXT: .byte 13
221; CHECK-NEXT: .byte 11
222; CHECK-NEXT: .byte 14
223; CHECK-NEXT: .short 1
224; CHECK-NEXT: .byte 15
225; CHECK-NEXT: .byte 1
226; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000227; CHECK-NEXT: .byte 5
228
229define amdgpu_kernel void @test_int3(<3 x i32> %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !11 !kernel_arg_base_type !11 !kernel_arg_type_qual !4 {
230 ret void
231}
232
233; CHECK-LABEL:{{^}}test_ulong4:
234; CHECK: .section .AMDGPU.runtime_metadata
235; CHECK-NEXT: .byte 4
236; CHECK-NEXT: .byte 6
237; CHECK-NEXT: .long 11
238; CHECK-NEXT: .ascii "test_ulong4"
239; CHECK-NEXT: .byte 7
240; CHECK-NEXT: .byte 9
241; CHECK-NEXT: .long 32
242; CHECK-NEXT: .byte 10
243; CHECK-NEXT: .long 32
244; CHECK-NEXT: .byte 11
245; CHECK-NEXT: .long 6
246; CHECK-NEXT: .ascii "ulong4"
247; CHECK-NEXT: .byte 13
248; CHECK-NEXT: .byte 0
249; CHECK-NEXT: .byte 14
250; CHECK-NEXT: .short 10
251; CHECK-NEXT: .byte 16
252; CHECK-NEXT: .byte 0
253; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000254; CHECK-NEXT: .byte 7
255; CHECK-NEXT: .byte 9
256; CHECK-NEXT: .long 8
257; CHECK-NEXT: .byte 10
258; CHECK-NEXT: .long 8
259; CHECK-NEXT: .byte 13
260; CHECK-NEXT: .byte 7
261; CHECK-NEXT: .byte 14
262; CHECK-NEXT: .short 9
263; CHECK-NEXT: .byte 8
264; CHECK-NEXT: .byte 7
265; CHECK-NEXT: .byte 9
266; CHECK-NEXT: .long 8
267; CHECK-NEXT: .byte 10
268; CHECK-NEXT: .long 8
269; CHECK-NEXT: .byte 13
270; CHECK-NEXT: .byte 8
271; CHECK-NEXT: .byte 14
272; CHECK-NEXT: .short 9
273; CHECK-NEXT: .byte 8
274; CHECK-NEXT: .byte 7
275; CHECK-NEXT: .byte 9
276; CHECK-NEXT: .long 8
277; CHECK-NEXT: .byte 10
278; CHECK-NEXT: .long 8
279; CHECK-NEXT: .byte 13
280; CHECK-NEXT: .byte 9
281; CHECK-NEXT: .byte 14
282; CHECK-NEXT: .short 9
283; CHECK-NEXT: .byte 8
284; CHECK-NEXT: .byte 7
285; CHECK-NEXT: .byte 9
286; CHECK-NEXT: .long 8
287; CHECK-NEXT: .byte 10
288; CHECK-NEXT: .long 8
289; CHECK-NEXT: .byte 13
290; CHECK-NEXT: .byte 11
291; CHECK-NEXT: .byte 14
292; CHECK-NEXT: .short 1
293; CHECK-NEXT: .byte 15
294; CHECK-NEXT: .byte 1
295; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000296; CHECK-NEXT: .byte 5
297
298define amdgpu_kernel void @test_ulong4(<4 x i64> %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !12 !kernel_arg_base_type !12 !kernel_arg_type_qual !4 {
299 ret void
300}
301
302; CHECK-LABEL:{{^}}test_half8:
303; CHECK: .section .AMDGPU.runtime_metadata
304; CHECK-NEXT: .byte 4
305; CHECK-NEXT: .byte 6
306; CHECK-NEXT: .long 10
307; CHECK-NEXT: .ascii "test_half8"
308; CHECK-NEXT: .byte 7
309; CHECK-NEXT: .byte 9
310; CHECK-NEXT: .long 16
311; CHECK-NEXT: .byte 10
312; CHECK-NEXT: .long 16
313; CHECK-NEXT: .byte 11
314; CHECK-NEXT: .long 5
315; CHECK-NEXT: .ascii "half8"
316; CHECK-NEXT: .byte 13
317; CHECK-NEXT: .byte 0
318; CHECK-NEXT: .byte 14
319; CHECK-NEXT: .short 5
320; CHECK-NEXT: .byte 16
321; CHECK-NEXT: .byte 0
322; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000323; CHECK-NEXT: .byte 7
324; CHECK-NEXT: .byte 9
325; CHECK-NEXT: .long 8
326; CHECK-NEXT: .byte 10
327; CHECK-NEXT: .long 8
328; CHECK-NEXT: .byte 13
329; CHECK-NEXT: .byte 7
330; CHECK-NEXT: .byte 14
331; CHECK-NEXT: .short 9
332; CHECK-NEXT: .byte 8
333; CHECK-NEXT: .byte 7
334; CHECK-NEXT: .byte 9
335; CHECK-NEXT: .long 8
336; CHECK-NEXT: .byte 10
337; CHECK-NEXT: .long 8
338; CHECK-NEXT: .byte 13
339; CHECK-NEXT: .byte 8
340; CHECK-NEXT: .byte 14
341; CHECK-NEXT: .short 9
342; CHECK-NEXT: .byte 8
343; CHECK-NEXT: .byte 7
344; CHECK-NEXT: .byte 9
345; CHECK-NEXT: .long 8
346; CHECK-NEXT: .byte 10
347; CHECK-NEXT: .long 8
348; CHECK-NEXT: .byte 13
349; CHECK-NEXT: .byte 9
350; CHECK-NEXT: .byte 14
351; CHECK-NEXT: .short 9
352; CHECK-NEXT: .byte 8
353; CHECK-NEXT: .byte 7
354; CHECK-NEXT: .byte 9
355; CHECK-NEXT: .long 8
356; CHECK-NEXT: .byte 10
357; CHECK-NEXT: .long 8
358; CHECK-NEXT: .byte 13
359; CHECK-NEXT: .byte 11
360; CHECK-NEXT: .byte 14
361; CHECK-NEXT: .short 1
362; CHECK-NEXT: .byte 15
363; CHECK-NEXT: .byte 1
364; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000365; CHECK-NEXT: .byte 5
366
367define amdgpu_kernel void @test_half8(<8 x half> %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !13 !kernel_arg_base_type !13 !kernel_arg_type_qual !4 {
368 ret void
369}
370
371; CHECK-LABEL:{{^}}test_float16:
372; CHECK: .section .AMDGPU.runtime_metadata
373; CHECK-NEXT: .byte 4
374; CHECK-NEXT: .byte 6
375; CHECK-NEXT: .long 12
376; CHECK-NEXT: .ascii "test_float16"
377; CHECK-NEXT: .byte 7
378; CHECK-NEXT: .byte 9
379; CHECK-NEXT: .long 64
380; CHECK-NEXT: .byte 10
381; CHECK-NEXT: .long 64
382; CHECK-NEXT: .byte 11
383; CHECK-NEXT: .long 7
384; CHECK-NEXT: .ascii "float16"
385; CHECK-NEXT: .byte 13
386; CHECK-NEXT: .byte 0
387; CHECK-NEXT: .byte 14
388; CHECK-NEXT: .short 8
389; CHECK-NEXT: .byte 16
390; CHECK-NEXT: .byte 0
391; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000392; CHECK-NEXT: .byte 7
393; CHECK-NEXT: .byte 9
394; CHECK-NEXT: .long 8
395; CHECK-NEXT: .byte 10
396; CHECK-NEXT: .long 8
397; CHECK-NEXT: .byte 13
398; CHECK-NEXT: .byte 7
399; CHECK-NEXT: .byte 14
400; CHECK-NEXT: .short 9
401; CHECK-NEXT: .byte 8
402; CHECK-NEXT: .byte 7
403; CHECK-NEXT: .byte 9
404; CHECK-NEXT: .long 8
405; CHECK-NEXT: .byte 10
406; CHECK-NEXT: .long 8
407; CHECK-NEXT: .byte 13
408; CHECK-NEXT: .byte 8
409; CHECK-NEXT: .byte 14
410; CHECK-NEXT: .short 9
411; CHECK-NEXT: .byte 8
412; CHECK-NEXT: .byte 7
413; CHECK-NEXT: .byte 9
414; CHECK-NEXT: .long 8
415; CHECK-NEXT: .byte 10
416; CHECK-NEXT: .long 8
417; CHECK-NEXT: .byte 13
418; CHECK-NEXT: .byte 9
419; CHECK-NEXT: .byte 14
420; CHECK-NEXT: .short 9
421; CHECK-NEXT: .byte 8
422; CHECK-NEXT: .byte 7
423; CHECK-NEXT: .byte 9
424; CHECK-NEXT: .long 8
425; CHECK-NEXT: .byte 10
426; CHECK-NEXT: .long 8
427; CHECK-NEXT: .byte 13
428; CHECK-NEXT: .byte 11
429; CHECK-NEXT: .byte 14
430; CHECK-NEXT: .short 1
431; CHECK-NEXT: .byte 15
432; CHECK-NEXT: .byte 1
433; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000434; CHECK-NEXT: .byte 5
435
436define amdgpu_kernel void @test_float16(<16 x float> %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !14 !kernel_arg_base_type !14 !kernel_arg_type_qual !4 {
437 ret void
438}
439
440; CHECK-LABEL:{{^}}test_double16:
441; CHECK: .section .AMDGPU.runtime_metadata
442; CHECK-NEXT: .byte 4
443; CHECK-NEXT: .byte 6
444; CHECK-NEXT: .long 13
445; CHECK-NEXT: .ascii "test_double16"
446; CHECK-NEXT: .byte 7
447; CHECK-NEXT: .byte 9
448; CHECK-NEXT: .long 128
449; CHECK-NEXT: .byte 10
450; CHECK-NEXT: .long 128
451; CHECK-NEXT: .byte 11
452; CHECK-NEXT: .long 8
453; CHECK-NEXT: .ascii "double16"
454; CHECK-NEXT: .byte 13
455; CHECK-NEXT: .byte 0
456; CHECK-NEXT: .byte 14
457; CHECK-NEXT: .short 11
458; CHECK-NEXT: .byte 16
459; CHECK-NEXT: .byte 0
460; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000461; CHECK-NEXT: .byte 7
462; CHECK-NEXT: .byte 9
463; CHECK-NEXT: .long 8
464; CHECK-NEXT: .byte 10
465; CHECK-NEXT: .long 8
466; CHECK-NEXT: .byte 13
467; CHECK-NEXT: .byte 7
468; CHECK-NEXT: .byte 14
469; CHECK-NEXT: .short 9
470; CHECK-NEXT: .byte 8
471; CHECK-NEXT: .byte 7
472; CHECK-NEXT: .byte 9
473; CHECK-NEXT: .long 8
474; CHECK-NEXT: .byte 10
475; CHECK-NEXT: .long 8
476; CHECK-NEXT: .byte 13
477; CHECK-NEXT: .byte 8
478; CHECK-NEXT: .byte 14
479; CHECK-NEXT: .short 9
480; CHECK-NEXT: .byte 8
481; CHECK-NEXT: .byte 7
482; CHECK-NEXT: .byte 9
483; CHECK-NEXT: .long 8
484; CHECK-NEXT: .byte 10
485; CHECK-NEXT: .long 8
486; CHECK-NEXT: .byte 13
487; CHECK-NEXT: .byte 9
488; CHECK-NEXT: .byte 14
489; CHECK-NEXT: .short 9
490; CHECK-NEXT: .byte 8
491; CHECK-NEXT: .byte 7
492; CHECK-NEXT: .byte 9
493; CHECK-NEXT: .long 8
494; CHECK-NEXT: .byte 10
495; CHECK-NEXT: .long 8
496; CHECK-NEXT: .byte 13
497; CHECK-NEXT: .byte 11
498; CHECK-NEXT: .byte 14
499; CHECK-NEXT: .short 1
500; CHECK-NEXT: .byte 15
501; CHECK-NEXT: .byte 1
502; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000503; CHECK-NEXT: .byte 5
504
505define amdgpu_kernel void @test_double16(<16 x double> %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !15 !kernel_arg_base_type !15 !kernel_arg_type_qual !4 {
506 ret void
507}
508
509; CHECK-LABEL:{{^}}test_pointer:
510; CHECK: .section .AMDGPU.runtime_metadata
511; CHECK-NEXT: .byte 4
512; CHECK-NEXT: .byte 6
513; CHECK-NEXT: .long 12
514; CHECK-NEXT: .ascii "test_pointer"
515; CHECK-NEXT: .byte 7
516; CHECK-NEXT: .byte 9
517; CHECK-NEXT: .long 8
518; CHECK-NEXT: .byte 10
519; CHECK-NEXT: .long 8
520; CHECK-NEXT: .byte 11
521; CHECK-NEXT: .long 5
522; CHECK-NEXT: .ascii "int *"
523; CHECK-NEXT: .byte 13
524; CHECK-NEXT: .byte 1
525; CHECK-NEXT: .byte 14
526; CHECK-NEXT: .short 6
527; CHECK-NEXT: .byte 16
528; CHECK-NEXT: .byte 0
529; CHECK-NEXT: .byte 15
530; CHECK-NEXT: .byte 1
531; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000532; CHECK-NEXT: .byte 7
533; CHECK-NEXT: .byte 9
534; CHECK-NEXT: .long 8
535; CHECK-NEXT: .byte 10
536; CHECK-NEXT: .long 8
537; CHECK-NEXT: .byte 13
538; CHECK-NEXT: .byte 7
539; CHECK-NEXT: .byte 14
540; CHECK-NEXT: .short 9
541; CHECK-NEXT: .byte 8
542; CHECK-NEXT: .byte 7
543; CHECK-NEXT: .byte 9
544; CHECK-NEXT: .long 8
545; CHECK-NEXT: .byte 10
546; CHECK-NEXT: .long 8
547; CHECK-NEXT: .byte 13
548; CHECK-NEXT: .byte 8
549; CHECK-NEXT: .byte 14
550; CHECK-NEXT: .short 9
551; CHECK-NEXT: .byte 8
552; CHECK-NEXT: .byte 7
553; CHECK-NEXT: .byte 9
554; CHECK-NEXT: .long 8
555; CHECK-NEXT: .byte 10
556; CHECK-NEXT: .long 8
557; CHECK-NEXT: .byte 13
558; CHECK-NEXT: .byte 9
559; CHECK-NEXT: .byte 14
560; CHECK-NEXT: .short 9
561; CHECK-NEXT: .byte 8
562; CHECK-NEXT: .byte 7
563; CHECK-NEXT: .byte 9
564; CHECK-NEXT: .long 8
565; CHECK-NEXT: .byte 10
566; CHECK-NEXT: .long 8
567; CHECK-NEXT: .byte 13
568; CHECK-NEXT: .byte 11
569; CHECK-NEXT: .byte 14
570; CHECK-NEXT: .short 1
571; CHECK-NEXT: .byte 15
572; CHECK-NEXT: .byte 1
573; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000574; CHECK-NEXT: .byte 5
575
576define amdgpu_kernel void @test_pointer(i32 addrspace(1)* %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !16 !kernel_arg_base_type !16 !kernel_arg_type_qual !4 {
577 ret void
578}
579
580; CHECK-LABEL:{{^}}test_image:
581; CHECK: .section .AMDGPU.runtime_metadata
582; CHECK-NEXT: .byte 4
583; CHECK-NEXT: .byte 6
584; CHECK-NEXT: .long 10
585; CHECK-NEXT: .ascii "test_image"
586; CHECK-NEXT: .byte 7
587; CHECK-NEXT: .byte 9
588; CHECK-NEXT: .long 8
589; CHECK-NEXT: .byte 10
590; CHECK-NEXT: .long 8
591; CHECK-NEXT: .byte 11
592; CHECK-NEXT: .long 9
593; CHECK-NEXT: .ascii "image2d_t"
594; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +0000595; CHECK-NEXT: .byte 4
Yaxun Liua711cc72016-07-16 05:09:21 +0000596; CHECK-NEXT: .byte 14
597; CHECK-NEXT: .short 0
598; CHECK-NEXT: .byte 16
599; CHECK-NEXT: .byte 0
600; CHECK-NEXT: .byte 15
601; CHECK-NEXT: .byte 1
602; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000603; CHECK-NEXT: .byte 7
604; CHECK-NEXT: .byte 9
605; CHECK-NEXT: .long 8
606; CHECK-NEXT: .byte 10
607; CHECK-NEXT: .long 8
608; CHECK-NEXT: .byte 13
609; CHECK-NEXT: .byte 7
610; CHECK-NEXT: .byte 14
611; CHECK-NEXT: .short 9
612; CHECK-NEXT: .byte 8
613; CHECK-NEXT: .byte 7
614; CHECK-NEXT: .byte 9
615; CHECK-NEXT: .long 8
616; CHECK-NEXT: .byte 10
617; CHECK-NEXT: .long 8
618; CHECK-NEXT: .byte 13
619; CHECK-NEXT: .byte 8
620; CHECK-NEXT: .byte 14
621; CHECK-NEXT: .short 9
622; CHECK-NEXT: .byte 8
623; CHECK-NEXT: .byte 7
624; CHECK-NEXT: .byte 9
625; CHECK-NEXT: .long 8
626; CHECK-NEXT: .byte 10
627; CHECK-NEXT: .long 8
628; CHECK-NEXT: .byte 13
629; CHECK-NEXT: .byte 9
630; CHECK-NEXT: .byte 14
631; CHECK-NEXT: .short 9
632; CHECK-NEXT: .byte 8
633; CHECK-NEXT: .byte 7
634; CHECK-NEXT: .byte 9
635; CHECK-NEXT: .long 8
636; CHECK-NEXT: .byte 10
637; CHECK-NEXT: .long 8
638; CHECK-NEXT: .byte 13
639; CHECK-NEXT: .byte 11
640; CHECK-NEXT: .byte 14
641; CHECK-NEXT: .short 1
642; CHECK-NEXT: .byte 15
643; CHECK-NEXT: .byte 1
644; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000645; CHECK-NEXT: .byte 5
646
647define amdgpu_kernel void @test_image(%opencl.image2d_t addrspace(1)* %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !17 !kernel_arg_base_type !17 !kernel_arg_type_qual !4 {
648 ret void
649}
650
651; CHECK-LABEL:{{^}}test_sampler:
652; CHECK: .section .AMDGPU.runtime_metadata
653; CHECK-NEXT: .byte 4
654; CHECK-NEXT: .byte 6
655; CHECK-NEXT: .long 12
656; CHECK-NEXT: .ascii "test_sampler"
657; CHECK-NEXT: .byte 7
658; CHECK-NEXT: .byte 9
659; CHECK-NEXT: .long 4
660; CHECK-NEXT: .byte 10
661; CHECK-NEXT: .long 4
662; CHECK-NEXT: .byte 11
663; CHECK-NEXT: .long 9
664; CHECK-NEXT: .ascii "sampler_t"
665; CHECK-NEXT: .byte 13
666; CHECK-NEXT: .byte 3
667; CHECK-NEXT: .byte 14
668; CHECK-NEXT: .short 6
669; CHECK-NEXT: .byte 16
670; CHECK-NEXT: .byte 0
671; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000672; CHECK-NEXT: .byte 7
673; CHECK-NEXT: .byte 9
674; CHECK-NEXT: .long 8
675; CHECK-NEXT: .byte 10
676; CHECK-NEXT: .long 8
677; CHECK-NEXT: .byte 13
678; CHECK-NEXT: .byte 7
679; CHECK-NEXT: .byte 14
680; CHECK-NEXT: .short 9
681; CHECK-NEXT: .byte 8
682; CHECK-NEXT: .byte 7
683; CHECK-NEXT: .byte 9
684; CHECK-NEXT: .long 8
685; CHECK-NEXT: .byte 10
686; CHECK-NEXT: .long 8
687; CHECK-NEXT: .byte 13
688; CHECK-NEXT: .byte 8
689; CHECK-NEXT: .byte 14
690; CHECK-NEXT: .short 9
691; CHECK-NEXT: .byte 8
692; CHECK-NEXT: .byte 7
693; CHECK-NEXT: .byte 9
694; CHECK-NEXT: .long 8
695; CHECK-NEXT: .byte 10
696; CHECK-NEXT: .long 8
697; CHECK-NEXT: .byte 13
698; CHECK-NEXT: .byte 9
699; CHECK-NEXT: .byte 14
700; CHECK-NEXT: .short 9
701; CHECK-NEXT: .byte 8
702; CHECK-NEXT: .byte 7
703; CHECK-NEXT: .byte 9
704; CHECK-NEXT: .long 8
705; CHECK-NEXT: .byte 10
706; CHECK-NEXT: .long 8
707; CHECK-NEXT: .byte 13
708; CHECK-NEXT: .byte 11
709; CHECK-NEXT: .byte 14
710; CHECK-NEXT: .short 1
711; CHECK-NEXT: .byte 15
712; CHECK-NEXT: .byte 1
713; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000714; CHECK-NEXT: .byte 5
715
716define amdgpu_kernel void @test_sampler(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !18 !kernel_arg_base_type !18 !kernel_arg_type_qual !4 {
717 ret void
718}
719
720; CHECK-LABEL:{{^}}test_queue:
721; CHECK: .section .AMDGPU.runtime_metadata
722; CHECK-NEXT: .byte 4
723; CHECK-NEXT: .byte 6
724; CHECK-NEXT: .long 10
725; CHECK-NEXT: .ascii "test_queue"
726; CHECK-NEXT: .byte 7
727; CHECK-NEXT: .byte 9
728; CHECK-NEXT: .long 8
729; CHECK-NEXT: .byte 10
730; CHECK-NEXT: .long 8
731; CHECK-NEXT: .byte 11
732; CHECK-NEXT: .long 7
733; CHECK-NEXT: .ascii "queue_t"
734; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +0000735; CHECK-NEXT: .byte 6
Yaxun Liua711cc72016-07-16 05:09:21 +0000736; CHECK-NEXT: .byte 14
737; CHECK-NEXT: .short 0
738; CHECK-NEXT: .byte 16
739; CHECK-NEXT: .byte 0
740; CHECK-NEXT: .byte 15
741; CHECK-NEXT: .byte 1
742; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000743; CHECK-NEXT: .byte 7
744; CHECK-NEXT: .byte 9
745; CHECK-NEXT: .long 8
746; CHECK-NEXT: .byte 10
747; CHECK-NEXT: .long 8
748; CHECK-NEXT: .byte 13
749; CHECK-NEXT: .byte 7
750; CHECK-NEXT: .byte 14
751; CHECK-NEXT: .short 9
752; CHECK-NEXT: .byte 8
753; CHECK-NEXT: .byte 7
754; CHECK-NEXT: .byte 9
755; CHECK-NEXT: .long 8
756; CHECK-NEXT: .byte 10
757; CHECK-NEXT: .long 8
758; CHECK-NEXT: .byte 13
759; CHECK-NEXT: .byte 8
760; CHECK-NEXT: .byte 14
761; CHECK-NEXT: .short 9
762; CHECK-NEXT: .byte 8
763; CHECK-NEXT: .byte 7
764; CHECK-NEXT: .byte 9
765; CHECK-NEXT: .long 8
766; CHECK-NEXT: .byte 10
767; CHECK-NEXT: .long 8
768; CHECK-NEXT: .byte 13
769; CHECK-NEXT: .byte 9
770; CHECK-NEXT: .byte 14
771; CHECK-NEXT: .short 9
772; CHECK-NEXT: .byte 8
773; CHECK-NEXT: .byte 7
774; CHECK-NEXT: .byte 9
775; CHECK-NEXT: .long 8
776; CHECK-NEXT: .byte 10
777; CHECK-NEXT: .long 8
778; CHECK-NEXT: .byte 13
779; CHECK-NEXT: .byte 11
780; CHECK-NEXT: .byte 14
781; CHECK-NEXT: .short 1
782; CHECK-NEXT: .byte 15
783; CHECK-NEXT: .byte 1
784; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000785; CHECK-NEXT: .byte 5
786
787define amdgpu_kernel void @test_queue(%opencl.queue_t addrspace(1)* %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !19 !kernel_arg_base_type !19 !kernel_arg_type_qual !4 {
788 ret void
789}
790
791; CHECK-LABEL:{{^}}test_struct:
792; CHECK: .section .AMDGPU.runtime_metadata
793; CHECK-NEXT: .byte 4
794; CHECK-NEXT: .byte 6
795; CHECK-NEXT: .long 11
796; CHECK-NEXT: .ascii "test_struct"
797; CHECK-NEXT: .byte 7
798; CHECK-NEXT: .byte 9
799; CHECK-NEXT: .long 4
800; CHECK-NEXT: .byte 10
801; CHECK-NEXT: .long 4
802; CHECK-NEXT: .byte 11
803; CHECK-NEXT: .long 8
804; CHECK-NEXT: .ascii "struct A"
805; CHECK-NEXT: .byte 13
806; CHECK-NEXT: .byte 1
807; CHECK-NEXT: .byte 14
808; CHECK-NEXT: .short 0
809; CHECK-NEXT: .byte 16
810; CHECK-NEXT: .byte 0
811; CHECK-NEXT: .byte 15
812; CHECK-NEXT: .byte 0
813; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000814; CHECK-NEXT: .byte 7
815; CHECK-NEXT: .byte 9
816; CHECK-NEXT: .long 8
817; CHECK-NEXT: .byte 10
818; CHECK-NEXT: .long 8
819; CHECK-NEXT: .byte 13
820; CHECK-NEXT: .byte 7
821; CHECK-NEXT: .byte 14
822; CHECK-NEXT: .short 9
823; CHECK-NEXT: .byte 8
824; CHECK-NEXT: .byte 7
825; CHECK-NEXT: .byte 9
826; CHECK-NEXT: .long 8
827; CHECK-NEXT: .byte 10
828; CHECK-NEXT: .long 8
829; CHECK-NEXT: .byte 13
830; CHECK-NEXT: .byte 8
831; CHECK-NEXT: .byte 14
832; CHECK-NEXT: .short 9
833; CHECK-NEXT: .byte 8
834; CHECK-NEXT: .byte 7
835; CHECK-NEXT: .byte 9
836; CHECK-NEXT: .long 8
837; CHECK-NEXT: .byte 10
838; CHECK-NEXT: .long 8
839; CHECK-NEXT: .byte 13
840; CHECK-NEXT: .byte 9
841; CHECK-NEXT: .byte 14
842; CHECK-NEXT: .short 9
843; CHECK-NEXT: .byte 8
844; CHECK-NEXT: .byte 7
845; CHECK-NEXT: .byte 9
846; CHECK-NEXT: .long 8
847; CHECK-NEXT: .byte 10
848; CHECK-NEXT: .long 8
849; CHECK-NEXT: .byte 13
850; CHECK-NEXT: .byte 11
851; CHECK-NEXT: .byte 14
852; CHECK-NEXT: .short 1
853; CHECK-NEXT: .byte 15
854; CHECK-NEXT: .byte 1
855; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000856; CHECK-NEXT: .byte 5
857
858define amdgpu_kernel void @test_struct(%struct.A* byval %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20 !kernel_arg_base_type !20 !kernel_arg_type_qual !4 {
859 ret void
860}
861
862; CHECK-LABEL:{{^}}test_i128:
863; CHECK: .section .AMDGPU.runtime_metadata
864; CHECK-NEXT: .byte 4
865; CHECK-NEXT: .byte 6
866; CHECK-NEXT: .long 9
867; CHECK-NEXT: .ascii "test_i128"
868; CHECK-NEXT: .byte 7
869; CHECK-NEXT: .byte 9
870; CHECK-NEXT: .long 16
871; CHECK-NEXT: .byte 10
872; CHECK-NEXT: .long 8
873; CHECK-NEXT: .byte 11
874; CHECK-NEXT: .long 4
875; CHECK-NEXT: .ascii "i128"
876; CHECK-NEXT: .byte 13
877; CHECK-NEXT: .byte 0
878; CHECK-NEXT: .byte 14
879; CHECK-NEXT: .short 0
880; CHECK-NEXT: .byte 16
881; CHECK-NEXT: .byte 0
882; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000883; CHECK-NEXT: .byte 7
884; CHECK-NEXT: .byte 9
885; CHECK-NEXT: .long 8
886; CHECK-NEXT: .byte 10
887; CHECK-NEXT: .long 8
888; CHECK-NEXT: .byte 13
889; CHECK-NEXT: .byte 7
890; CHECK-NEXT: .byte 14
891; CHECK-NEXT: .short 9
892; CHECK-NEXT: .byte 8
893; CHECK-NEXT: .byte 7
894; CHECK-NEXT: .byte 9
895; CHECK-NEXT: .long 8
896; CHECK-NEXT: .byte 10
897; CHECK-NEXT: .long 8
898; CHECK-NEXT: .byte 13
899; CHECK-NEXT: .byte 8
900; CHECK-NEXT: .byte 14
901; CHECK-NEXT: .short 9
902; CHECK-NEXT: .byte 8
903; CHECK-NEXT: .byte 7
904; CHECK-NEXT: .byte 9
905; CHECK-NEXT: .long 8
906; CHECK-NEXT: .byte 10
907; CHECK-NEXT: .long 8
908; CHECK-NEXT: .byte 13
909; CHECK-NEXT: .byte 9
910; CHECK-NEXT: .byte 14
911; CHECK-NEXT: .short 9
912; CHECK-NEXT: .byte 8
913; CHECK-NEXT: .byte 7
914; CHECK-NEXT: .byte 9
915; CHECK-NEXT: .long 8
916; CHECK-NEXT: .byte 10
917; CHECK-NEXT: .long 8
918; CHECK-NEXT: .byte 13
919; CHECK-NEXT: .byte 11
920; CHECK-NEXT: .byte 14
921; CHECK-NEXT: .short 1
922; CHECK-NEXT: .byte 15
923; CHECK-NEXT: .byte 1
924; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +0000925; CHECK-NEXT: .byte 5
926
927define amdgpu_kernel void @test_i128(i128 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !21 !kernel_arg_base_type !21 !kernel_arg_type_qual !4 {
928 ret void
929}
930
931; CHECK-LABEL:{{^}}test_multi_arg:
932; CHECK: .section .AMDGPU.runtime_metadata
933; CHECK-NEXT: .byte 4
934; CHECK-NEXT: .byte 6
935; CHECK-NEXT: .long 14
936; CHECK-NEXT: .ascii "test_multi_arg"
937; CHECK-NEXT: .byte 7
938; CHECK-NEXT: .byte 9
939; CHECK-NEXT: .long 4
940; CHECK-NEXT: .byte 10
941; CHECK-NEXT: .long 4
942; CHECK-NEXT: .byte 11
943; CHECK-NEXT: .long 3
944; CHECK-NEXT: .ascii "int"
945; CHECK-NEXT: .byte 13
946; CHECK-NEXT: .byte 0
947; CHECK-NEXT: .byte 14
948; CHECK-NEXT: .short 6
949; CHECK-NEXT: .byte 16
950; CHECK-NEXT: .byte 0
951; CHECK-NEXT: .byte 8
952; CHECK-NEXT: .byte 7
953; CHECK-NEXT: .byte 9
954; CHECK-NEXT: .long 4
955; CHECK-NEXT: .byte 10
956; CHECK-NEXT: .long 4
957; CHECK-NEXT: .byte 11
958; CHECK-NEXT: .long 6
959; CHECK-NEXT: .ascii "short2"
960; CHECK-NEXT: .byte 13
961; CHECK-NEXT: .byte 0
962; CHECK-NEXT: .byte 14
963; CHECK-NEXT: .short 3
964; CHECK-NEXT: .byte 16
965; CHECK-NEXT: .byte 0
966; CHECK-NEXT: .byte 8
967; CHECK-NEXT: .byte 7
968; CHECK-NEXT: .byte 9
969; CHECK-NEXT: .long 4
970; CHECK-NEXT: .byte 10
971; CHECK-NEXT: .long 4
972; CHECK-NEXT: .byte 11
973; CHECK-NEXT: .long 5
974; CHECK-NEXT: .ascii "char3"
975; CHECK-NEXT: .byte 13
976; CHECK-NEXT: .byte 0
977; CHECK-NEXT: .byte 14
978; CHECK-NEXT: .short 1
979; CHECK-NEXT: .byte 16
980; CHECK-NEXT: .byte 0
981; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +0000982; CHECK-NEXT: .byte 7
983; CHECK-NEXT: .byte 9
984; CHECK-NEXT: .long 8
985; CHECK-NEXT: .byte 10
986; CHECK-NEXT: .long 8
987; CHECK-NEXT: .byte 13
988; CHECK-NEXT: .byte 7
989; CHECK-NEXT: .byte 14
990; CHECK-NEXT: .short 9
991; CHECK-NEXT: .byte 8
992; CHECK-NEXT: .byte 7
993; CHECK-NEXT: .byte 9
994; CHECK-NEXT: .long 8
995; CHECK-NEXT: .byte 10
996; CHECK-NEXT: .long 8
997; CHECK-NEXT: .byte 13
998; CHECK-NEXT: .byte 8
999; CHECK-NEXT: .byte 14
1000; CHECK-NEXT: .short 9
1001; CHECK-NEXT: .byte 8
1002; CHECK-NEXT: .byte 7
1003; CHECK-NEXT: .byte 9
1004; CHECK-NEXT: .long 8
1005; CHECK-NEXT: .byte 10
1006; CHECK-NEXT: .long 8
1007; CHECK-NEXT: .byte 13
1008; CHECK-NEXT: .byte 9
1009; CHECK-NEXT: .byte 14
1010; CHECK-NEXT: .short 9
1011; CHECK-NEXT: .byte 8
1012; CHECK-NEXT: .byte 7
1013; CHECK-NEXT: .byte 9
1014; CHECK-NEXT: .long 8
1015; CHECK-NEXT: .byte 10
1016; CHECK-NEXT: .long 8
1017; CHECK-NEXT: .byte 13
1018; CHECK-NEXT: .byte 11
1019; CHECK-NEXT: .byte 14
1020; CHECK-NEXT: .short 1
1021; CHECK-NEXT: .byte 15
1022; CHECK-NEXT: .byte 1
1023; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00001024; CHECK-NEXT: .byte 5
1025
1026define amdgpu_kernel void @test_multi_arg(i32 %a, <2 x i16> %b, <3 x i8> %c) !kernel_arg_addr_space !22 !kernel_arg_access_qual !23 !kernel_arg_type !24 !kernel_arg_base_type !24 !kernel_arg_type_qual !25 {
1027 ret void
1028}
1029
1030; CHECK-LABEL:{{^}}test_addr_space:
1031; CHECK: .section .AMDGPU.runtime_metadata
1032; CHECK-NEXT: .byte 4
1033; CHECK-NEXT: .byte 6
1034; CHECK-NEXT: .long 15
1035; CHECK-NEXT: .ascii "test_addr_space"
1036; CHECK-NEXT: .byte 7
1037; CHECK-NEXT: .byte 9
1038; CHECK-NEXT: .long 8
1039; CHECK-NEXT: .byte 10
1040; CHECK-NEXT: .long 8
1041; CHECK-NEXT: .byte 11
1042; CHECK-NEXT: .long 5
1043; CHECK-NEXT: .ascii "int *"
1044; CHECK-NEXT: .byte 13
1045; CHECK-NEXT: .byte 1
1046; CHECK-NEXT: .byte 14
1047; CHECK-NEXT: .short 6
1048; CHECK-NEXT: .byte 16
1049; CHECK-NEXT: .byte 0
1050; CHECK-NEXT: .byte 15
1051; CHECK-NEXT: .byte 1
1052; CHECK-NEXT: .byte 8
1053; CHECK-NEXT: .byte 7
1054; CHECK-NEXT: .byte 9
1055; CHECK-NEXT: .long 8
1056; CHECK-NEXT: .byte 10
1057; CHECK-NEXT: .long 8
1058; CHECK-NEXT: .byte 11
1059; CHECK-NEXT: .long 5
1060; CHECK-NEXT: .ascii "int *"
1061; CHECK-NEXT: .byte 13
1062; CHECK-NEXT: .byte 1
1063; CHECK-NEXT: .byte 14
1064; CHECK-NEXT: .short 6
1065; CHECK-NEXT: .byte 16
1066; CHECK-NEXT: .byte 0
1067; CHECK-NEXT: .byte 15
1068; CHECK-NEXT: .byte 2
1069; CHECK-NEXT: .byte 8
1070; CHECK-NEXT: .byte 7
1071; CHECK-NEXT: .byte 9
1072; CHECK-NEXT: .long 4
1073; CHECK-NEXT: .byte 10
1074; CHECK-NEXT: .long 4
Yaxun Liuadd05a82016-09-01 18:46:49 +00001075; CHECK-NEXT: .byte 32
1076; CHECK-NEXT: .long 4
Yaxun Liua711cc72016-07-16 05:09:21 +00001077; CHECK-NEXT: .byte 11
1078; CHECK-NEXT: .long 5
1079; CHECK-NEXT: .ascii "int *"
1080; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00001081; CHECK-NEXT: .byte 2
Yaxun Liua711cc72016-07-16 05:09:21 +00001082; CHECK-NEXT: .byte 14
1083; CHECK-NEXT: .short 6
1084; CHECK-NEXT: .byte 16
1085; CHECK-NEXT: .byte 0
1086; CHECK-NEXT: .byte 15
1087; CHECK-NEXT: .byte 3
1088; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001089; CHECK-NEXT: .byte 7
1090; CHECK-NEXT: .byte 9
1091; CHECK-NEXT: .long 8
1092; CHECK-NEXT: .byte 10
1093; CHECK-NEXT: .long 8
1094; CHECK-NEXT: .byte 13
1095; CHECK-NEXT: .byte 7
1096; CHECK-NEXT: .byte 14
1097; CHECK-NEXT: .short 9
1098; CHECK-NEXT: .byte 8
1099; CHECK-NEXT: .byte 7
1100; CHECK-NEXT: .byte 9
1101; CHECK-NEXT: .long 8
1102; CHECK-NEXT: .byte 10
1103; CHECK-NEXT: .long 8
1104; CHECK-NEXT: .byte 13
1105; CHECK-NEXT: .byte 8
1106; CHECK-NEXT: .byte 14
1107; CHECK-NEXT: .short 9
1108; CHECK-NEXT: .byte 8
1109; CHECK-NEXT: .byte 7
1110; CHECK-NEXT: .byte 9
1111; CHECK-NEXT: .long 8
1112; CHECK-NEXT: .byte 10
1113; CHECK-NEXT: .long 8
1114; CHECK-NEXT: .byte 13
1115; CHECK-NEXT: .byte 9
1116; CHECK-NEXT: .byte 14
1117; CHECK-NEXT: .short 9
1118; CHECK-NEXT: .byte 8
1119; CHECK-NEXT: .byte 7
1120; CHECK-NEXT: .byte 9
1121; CHECK-NEXT: .long 8
1122; CHECK-NEXT: .byte 10
1123; CHECK-NEXT: .long 8
1124; CHECK-NEXT: .byte 13
1125; CHECK-NEXT: .byte 11
1126; CHECK-NEXT: .byte 14
1127; CHECK-NEXT: .short 1
1128; CHECK-NEXT: .byte 15
1129; CHECK-NEXT: .byte 1
1130; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00001131; CHECK-NEXT: .byte 5
1132
1133define amdgpu_kernel void @test_addr_space(i32 addrspace(1)* %g, i32 addrspace(2)* %c, i32 addrspace(3)* %l) !kernel_arg_addr_space !50 !kernel_arg_access_qual !23 !kernel_arg_type !51 !kernel_arg_base_type !51 !kernel_arg_type_qual !25 {
1134 ret void
1135}
1136
1137; CHECK-LABEL:{{^}}test_type_qual:
1138; CHECK: .section .AMDGPU.runtime_metadata
1139; CHECK-NEXT: .byte 4
1140; CHECK-NEXT: .byte 6
1141; CHECK-NEXT: .long 14
1142; CHECK-NEXT: .ascii "test_type_qual"
1143; CHECK-NEXT: .byte 7
1144; CHECK-NEXT: .byte 9
1145; CHECK-NEXT: .long 8
1146; CHECK-NEXT: .byte 10
1147; CHECK-NEXT: .long 8
1148; CHECK-NEXT: .byte 11
1149; CHECK-NEXT: .long 5
1150; CHECK-NEXT: .ascii "int *"
1151; CHECK-NEXT: .byte 19
1152; CHECK-NEXT: .byte 13
1153; CHECK-NEXT: .byte 1
1154; CHECK-NEXT: .byte 14
1155; CHECK-NEXT: .short 6
1156; CHECK-NEXT: .byte 16
1157; CHECK-NEXT: .byte 0
1158; CHECK-NEXT: .byte 15
1159; CHECK-NEXT: .byte 1
1160; CHECK-NEXT: .byte 8
1161; CHECK-NEXT: .byte 7
1162; CHECK-NEXT: .byte 9
1163; CHECK-NEXT: .long 8
1164; CHECK-NEXT: .byte 10
1165; CHECK-NEXT: .long 8
1166; CHECK-NEXT: .byte 11
1167; CHECK-NEXT: .long 5
1168; CHECK-NEXT: .ascii "int *"
1169; CHECK-NEXT: .byte 17
1170; CHECK-NEXT: .byte 18
1171; CHECK-NEXT: .byte 13
1172; CHECK-NEXT: .byte 1
1173; CHECK-NEXT: .byte 14
1174; CHECK-NEXT: .short 6
1175; CHECK-NEXT: .byte 16
1176; CHECK-NEXT: .byte 0
1177; CHECK-NEXT: .byte 15
1178; CHECK-NEXT: .byte 1
1179; CHECK-NEXT: .byte 8
1180; CHECK-NEXT: .byte 7
1181; CHECK-NEXT: .byte 9
1182; CHECK-NEXT: .long 8
1183; CHECK-NEXT: .byte 10
1184; CHECK-NEXT: .long 8
1185; CHECK-NEXT: .byte 11
1186; CHECK-NEXT: .long 5
1187; CHECK-NEXT: .ascii "int *"
1188; CHECK-NEXT: .byte 20
1189; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00001190; CHECK-NEXT: .byte 5
Yaxun Liua711cc72016-07-16 05:09:21 +00001191; CHECK-NEXT: .byte 14
1192; CHECK-NEXT: .short 0
1193; CHECK-NEXT: .byte 16
1194; CHECK-NEXT: .byte 0
1195; CHECK-NEXT: .byte 15
1196; CHECK-NEXT: .byte 1
1197; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001198; CHECK-NEXT: .byte 7
1199; CHECK-NEXT: .byte 9
1200; CHECK-NEXT: .long 8
1201; CHECK-NEXT: .byte 10
1202; CHECK-NEXT: .long 8
1203; CHECK-NEXT: .byte 13
1204; CHECK-NEXT: .byte 7
1205; CHECK-NEXT: .byte 14
1206; CHECK-NEXT: .short 9
1207; CHECK-NEXT: .byte 8
1208; CHECK-NEXT: .byte 7
1209; CHECK-NEXT: .byte 9
1210; CHECK-NEXT: .long 8
1211; CHECK-NEXT: .byte 10
1212; CHECK-NEXT: .long 8
1213; CHECK-NEXT: .byte 13
1214; CHECK-NEXT: .byte 8
1215; CHECK-NEXT: .byte 14
1216; CHECK-NEXT: .short 9
1217; CHECK-NEXT: .byte 8
1218; CHECK-NEXT: .byte 7
1219; CHECK-NEXT: .byte 9
1220; CHECK-NEXT: .long 8
1221; CHECK-NEXT: .byte 10
1222; CHECK-NEXT: .long 8
1223; CHECK-NEXT: .byte 13
1224; CHECK-NEXT: .byte 9
1225; CHECK-NEXT: .byte 14
1226; CHECK-NEXT: .short 9
1227; CHECK-NEXT: .byte 8
1228; CHECK-NEXT: .byte 7
1229; CHECK-NEXT: .byte 9
1230; CHECK-NEXT: .long 8
1231; CHECK-NEXT: .byte 10
1232; CHECK-NEXT: .long 8
1233; CHECK-NEXT: .byte 13
1234; CHECK-NEXT: .byte 11
1235; CHECK-NEXT: .byte 14
1236; CHECK-NEXT: .short 1
1237; CHECK-NEXT: .byte 15
1238; CHECK-NEXT: .byte 1
1239; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00001240; CHECK-NEXT: .byte 5
1241
1242define amdgpu_kernel void @test_type_qual(i32 addrspace(1)* %a, i32 addrspace(1)* %b, %opencl.pipe_t addrspace(1)* %c) !kernel_arg_addr_space !22 !kernel_arg_access_qual !23 !kernel_arg_type !51 !kernel_arg_base_type !51 !kernel_arg_type_qual !70 {
1243 ret void
1244}
1245
1246; CHECK-LABEL:{{^}}test_access_qual:
1247; CHECK: .section .AMDGPU.runtime_metadata
1248; CHECK-NEXT: .byte 4
1249; CHECK-NEXT: .byte 6
1250; CHECK-NEXT: .long 16
1251; CHECK-NEXT: .ascii "test_access_qual"
1252; CHECK-NEXT: .byte 7
1253; CHECK-NEXT: .byte 9
1254; CHECK-NEXT: .long 8
1255; CHECK-NEXT: .byte 10
1256; CHECK-NEXT: .long 8
1257; CHECK-NEXT: .byte 11
1258; CHECK-NEXT: .long 9
1259; CHECK-NEXT: .ascii "image1d_t"
1260; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00001261; CHECK-NEXT: .byte 4
Yaxun Liua711cc72016-07-16 05:09:21 +00001262; CHECK-NEXT: .byte 14
1263; CHECK-NEXT: .short 0
1264; CHECK-NEXT: .byte 16
1265; CHECK-NEXT: .byte 1
1266; CHECK-NEXT: .byte 15
1267; CHECK-NEXT: .byte 1
1268; CHECK-NEXT: .byte 8
1269; CHECK-NEXT: .byte 7
1270; CHECK-NEXT: .byte 9
1271; CHECK-NEXT: .long 8
1272; CHECK-NEXT: .byte 10
1273; CHECK-NEXT: .long 8
1274; CHECK-NEXT: .byte 11
1275; CHECK-NEXT: .long 9
1276; CHECK-NEXT: .ascii "image2d_t"
1277; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00001278; CHECK-NEXT: .byte 4
Yaxun Liua711cc72016-07-16 05:09:21 +00001279; CHECK-NEXT: .byte 14
1280; CHECK-NEXT: .short 0
1281; CHECK-NEXT: .byte 16
1282; CHECK-NEXT: .byte 2
1283; CHECK-NEXT: .byte 15
1284; CHECK-NEXT: .byte 1
1285; CHECK-NEXT: .byte 8
1286; CHECK-NEXT: .byte 7
1287; CHECK-NEXT: .byte 9
1288; CHECK-NEXT: .long 8
1289; CHECK-NEXT: .byte 10
1290; CHECK-NEXT: .long 8
1291; CHECK-NEXT: .byte 11
1292; CHECK-NEXT: .long 9
1293; CHECK-NEXT: .ascii "image3d_t"
1294; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00001295; CHECK-NEXT: .byte 4
Yaxun Liua711cc72016-07-16 05:09:21 +00001296; CHECK-NEXT: .byte 14
1297; CHECK-NEXT: .short 0
1298; CHECK-NEXT: .byte 16
1299; CHECK-NEXT: .byte 3
1300; CHECK-NEXT: .byte 15
1301; CHECK-NEXT: .byte 1
1302; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001303; CHECK-NEXT: .byte 7
1304; CHECK-NEXT: .byte 9
1305; CHECK-NEXT: .long 8
1306; CHECK-NEXT: .byte 10
1307; CHECK-NEXT: .long 8
1308; CHECK-NEXT: .byte 13
1309; CHECK-NEXT: .byte 7
1310; CHECK-NEXT: .byte 14
1311; CHECK-NEXT: .short 9
1312; CHECK-NEXT: .byte 8
1313; CHECK-NEXT: .byte 7
1314; CHECK-NEXT: .byte 9
1315; CHECK-NEXT: .long 8
1316; CHECK-NEXT: .byte 10
1317; CHECK-NEXT: .long 8
1318; CHECK-NEXT: .byte 13
1319; CHECK-NEXT: .byte 8
1320; CHECK-NEXT: .byte 14
1321; CHECK-NEXT: .short 9
1322; CHECK-NEXT: .byte 8
1323; CHECK-NEXT: .byte 7
1324; CHECK-NEXT: .byte 9
1325; CHECK-NEXT: .long 8
1326; CHECK-NEXT: .byte 10
1327; CHECK-NEXT: .long 8
1328; CHECK-NEXT: .byte 13
1329; CHECK-NEXT: .byte 9
1330; CHECK-NEXT: .byte 14
1331; CHECK-NEXT: .short 9
1332; CHECK-NEXT: .byte 8
1333; CHECK-NEXT: .byte 7
1334; CHECK-NEXT: .byte 9
1335; CHECK-NEXT: .long 8
1336; CHECK-NEXT: .byte 10
1337; CHECK-NEXT: .long 8
1338; CHECK-NEXT: .byte 13
1339; CHECK-NEXT: .byte 11
1340; CHECK-NEXT: .byte 14
1341; CHECK-NEXT: .short 1
1342; CHECK-NEXT: .byte 15
1343; CHECK-NEXT: .byte 1
1344; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00001345; CHECK-NEXT: .byte 5
1346
1347define amdgpu_kernel void @test_access_qual(%opencl.image1d_t addrspace(1)* %ro, %opencl.image2d_t addrspace(1)* %wo, %opencl.image3d_t addrspace(1)* %rw) !kernel_arg_addr_space !60 !kernel_arg_access_qual !61 !kernel_arg_type !62 !kernel_arg_base_type !62 !kernel_arg_type_qual !25 {
1348 ret void
1349}
1350
Yaxun Liu86c052232016-08-04 19:45:00 +00001351; CHECK-LABEL:{{^}}test_vec_type_hint_half:
1352; CHECK: .section .AMDGPU.runtime_metadata
1353; CHECK-NEXT: .byte 4
1354; CHECK-NEXT: .byte 6
1355; CHECK-NEXT: .long 23
1356; CHECK-NEXT: .ascii "test_vec_type_hint_half"
1357; CHECK-NEXT: .byte 7
1358; CHECK-NEXT: .byte 9
1359; CHECK-NEXT: .long 4
1360; CHECK-NEXT: .byte 10
1361; CHECK-NEXT: .long 4
1362; CHECK-NEXT: .byte 11
1363; CHECK-NEXT: .long 3
1364; CHECK-NEXT: .ascii "int"
1365; CHECK-NEXT: .byte 13
1366; CHECK-NEXT: .byte 0
1367; CHECK-NEXT: .byte 14
1368; CHECK-NEXT: .short 6
1369; CHECK-NEXT: .byte 16
1370; CHECK-NEXT: .byte 0
1371; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001372; CHECK-NEXT: .byte 7
1373; CHECK-NEXT: .byte 9
1374; CHECK-NEXT: .long 8
1375; CHECK-NEXT: .byte 10
1376; CHECK-NEXT: .long 8
1377; CHECK-NEXT: .byte 13
1378; CHECK-NEXT: .byte 7
1379; CHECK-NEXT: .byte 14
1380; CHECK-NEXT: .short 9
1381; CHECK-NEXT: .byte 8
1382; CHECK-NEXT: .byte 7
1383; CHECK-NEXT: .byte 9
1384; CHECK-NEXT: .long 8
1385; CHECK-NEXT: .byte 10
1386; CHECK-NEXT: .long 8
1387; CHECK-NEXT: .byte 13
1388; CHECK-NEXT: .byte 8
1389; CHECK-NEXT: .byte 14
1390; CHECK-NEXT: .short 9
1391; CHECK-NEXT: .byte 8
1392; CHECK-NEXT: .byte 7
1393; CHECK-NEXT: .byte 9
1394; CHECK-NEXT: .long 8
1395; CHECK-NEXT: .byte 10
1396; CHECK-NEXT: .long 8
1397; CHECK-NEXT: .byte 13
1398; CHECK-NEXT: .byte 9
1399; CHECK-NEXT: .byte 14
1400; CHECK-NEXT: .short 9
1401; CHECK-NEXT: .byte 8
1402; CHECK-NEXT: .byte 7
1403; CHECK-NEXT: .byte 9
1404; CHECK-NEXT: .long 8
1405; CHECK-NEXT: .byte 10
1406; CHECK-NEXT: .long 8
1407; CHECK-NEXT: .byte 13
1408; CHECK-NEXT: .byte 11
1409; CHECK-NEXT: .byte 14
1410; CHECK-NEXT: .short 1
1411; CHECK-NEXT: .byte 15
1412; CHECK-NEXT: .byte 1
1413; CHECK-NEXT: .byte 8
Yaxun Liu86c052232016-08-04 19:45:00 +00001414; CHECK-NEXT: .byte 23
1415; CHECK-NEXT: .long 4
1416; CHECK-NEXT: .ascii "half"
1417; CHECK-NEXT: .byte 5
1418
1419define amdgpu_kernel void @test_vec_type_hint_half(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !26 {
1420 ret void
1421}
1422
1423; CHECK-LABEL:{{^}}test_vec_type_hint_float:
1424; CHECK: .section .AMDGPU.runtime_metadata
1425; CHECK-NEXT: .byte 4
1426; CHECK-NEXT: .byte 6
1427; CHECK-NEXT: .long 24
1428; CHECK-NEXT: .ascii "test_vec_type_hint_float"
1429; CHECK-NEXT: .byte 7
1430; CHECK-NEXT: .byte 9
1431; CHECK-NEXT: .long 4
1432; CHECK-NEXT: .byte 10
1433; CHECK-NEXT: .long 4
1434; CHECK-NEXT: .byte 11
1435; CHECK-NEXT: .long 3
1436; CHECK-NEXT: .ascii "int"
1437; CHECK-NEXT: .byte 13
1438; CHECK-NEXT: .byte 0
1439; CHECK-NEXT: .byte 14
1440; CHECK-NEXT: .short 6
1441; CHECK-NEXT: .byte 16
1442; CHECK-NEXT: .byte 0
1443; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001444; CHECK-NEXT: .byte 7
1445; CHECK-NEXT: .byte 9
1446; CHECK-NEXT: .long 8
1447; CHECK-NEXT: .byte 10
1448; CHECK-NEXT: .long 8
1449; CHECK-NEXT: .byte 13
1450; CHECK-NEXT: .byte 7
1451; CHECK-NEXT: .byte 14
1452; CHECK-NEXT: .short 9
1453; CHECK-NEXT: .byte 8
1454; CHECK-NEXT: .byte 7
1455; CHECK-NEXT: .byte 9
1456; CHECK-NEXT: .long 8
1457; CHECK-NEXT: .byte 10
1458; CHECK-NEXT: .long 8
1459; CHECK-NEXT: .byte 13
1460; CHECK-NEXT: .byte 8
1461; CHECK-NEXT: .byte 14
1462; CHECK-NEXT: .short 9
1463; CHECK-NEXT: .byte 8
1464; CHECK-NEXT: .byte 7
1465; CHECK-NEXT: .byte 9
1466; CHECK-NEXT: .long 8
1467; CHECK-NEXT: .byte 10
1468; CHECK-NEXT: .long 8
1469; CHECK-NEXT: .byte 13
1470; CHECK-NEXT: .byte 9
1471; CHECK-NEXT: .byte 14
1472; CHECK-NEXT: .short 9
1473; CHECK-NEXT: .byte 8
1474; CHECK-NEXT: .byte 7
1475; CHECK-NEXT: .byte 9
1476; CHECK-NEXT: .long 8
1477; CHECK-NEXT: .byte 10
1478; CHECK-NEXT: .long 8
1479; CHECK-NEXT: .byte 13
1480; CHECK-NEXT: .byte 11
1481; CHECK-NEXT: .byte 14
1482; CHECK-NEXT: .short 1
1483; CHECK-NEXT: .byte 15
1484; CHECK-NEXT: .byte 1
1485; CHECK-NEXT: .byte 8
Yaxun Liu86c052232016-08-04 19:45:00 +00001486; CHECK-NEXT: .byte 23
1487; CHECK-NEXT: .long 5
1488; CHECK-NEXT: .ascii "float"
1489; CHECK-NEXT: .byte 5
1490
1491define amdgpu_kernel void @test_vec_type_hint_float(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !27 {
1492 ret void
1493}
1494
1495; CHECK-LABEL:{{^}}test_vec_type_hint_double:
1496; CHECK: .section .AMDGPU.runtime_metadata
1497; CHECK-NEXT: .byte 4
1498; CHECK-NEXT: .byte 6
1499; CHECK-NEXT: .long 25
1500; CHECK-NEXT: .ascii "test_vec_type_hint_double"
1501; CHECK-NEXT: .byte 7
1502; CHECK-NEXT: .byte 9
1503; CHECK-NEXT: .long 4
1504; CHECK-NEXT: .byte 10
1505; CHECK-NEXT: .long 4
1506; CHECK-NEXT: .byte 11
1507; CHECK-NEXT: .long 3
1508; CHECK-NEXT: .ascii "int"
1509; CHECK-NEXT: .byte 13
1510; CHECK-NEXT: .byte 0
1511; CHECK-NEXT: .byte 14
1512; CHECK-NEXT: .short 6
1513; CHECK-NEXT: .byte 16
1514; CHECK-NEXT: .byte 0
1515; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001516; CHECK-NEXT: .byte 7
1517; CHECK-NEXT: .byte 9
1518; CHECK-NEXT: .long 8
1519; CHECK-NEXT: .byte 10
1520; CHECK-NEXT: .long 8
1521; CHECK-NEXT: .byte 13
1522; CHECK-NEXT: .byte 7
1523; CHECK-NEXT: .byte 14
1524; CHECK-NEXT: .short 9
1525; CHECK-NEXT: .byte 8
1526; CHECK-NEXT: .byte 7
1527; CHECK-NEXT: .byte 9
1528; CHECK-NEXT: .long 8
1529; CHECK-NEXT: .byte 10
1530; CHECK-NEXT: .long 8
1531; CHECK-NEXT: .byte 13
1532; CHECK-NEXT: .byte 8
1533; CHECK-NEXT: .byte 14
1534; CHECK-NEXT: .short 9
1535; CHECK-NEXT: .byte 8
1536; CHECK-NEXT: .byte 7
1537; CHECK-NEXT: .byte 9
1538; CHECK-NEXT: .long 8
1539; CHECK-NEXT: .byte 10
1540; CHECK-NEXT: .long 8
1541; CHECK-NEXT: .byte 13
1542; CHECK-NEXT: .byte 9
1543; CHECK-NEXT: .byte 14
1544; CHECK-NEXT: .short 9
1545; CHECK-NEXT: .byte 8
1546; CHECK-NEXT: .byte 7
1547; CHECK-NEXT: .byte 9
1548; CHECK-NEXT: .long 8
1549; CHECK-NEXT: .byte 10
1550; CHECK-NEXT: .long 8
1551; CHECK-NEXT: .byte 13
1552; CHECK-NEXT: .byte 11
1553; CHECK-NEXT: .byte 14
1554; CHECK-NEXT: .short 1
1555; CHECK-NEXT: .byte 15
1556; CHECK-NEXT: .byte 1
1557; CHECK-NEXT: .byte 8
Yaxun Liu86c052232016-08-04 19:45:00 +00001558; CHECK-NEXT: .byte 23
1559; CHECK-NEXT: .long 6
1560; CHECK-NEXT: .ascii "double"
1561; CHECK-NEXT: .byte 5
1562
1563define amdgpu_kernel void @test_vec_type_hint_double(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !28 {
1564 ret void
1565}
1566
1567; CHECK-LABEL:{{^}}test_vec_type_hint_char:
1568; CHECK: .section .AMDGPU.runtime_metadata
1569; CHECK-NEXT: .byte 4
1570; CHECK-NEXT: .byte 6
1571; CHECK-NEXT: .long 23
1572; CHECK-NEXT: .ascii "test_vec_type_hint_char"
1573; CHECK-NEXT: .byte 7
1574; CHECK-NEXT: .byte 9
1575; CHECK-NEXT: .long 4
1576; CHECK-NEXT: .byte 10
1577; CHECK-NEXT: .long 4
1578; CHECK-NEXT: .byte 11
1579; CHECK-NEXT: .long 3
1580; CHECK-NEXT: .ascii "int"
1581; CHECK-NEXT: .byte 13
1582; CHECK-NEXT: .byte 0
1583; CHECK-NEXT: .byte 14
1584; CHECK-NEXT: .short 6
1585; CHECK-NEXT: .byte 16
1586; CHECK-NEXT: .byte 0
1587; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001588; CHECK-NEXT: .byte 7
1589; CHECK-NEXT: .byte 9
1590; CHECK-NEXT: .long 8
1591; CHECK-NEXT: .byte 10
1592; CHECK-NEXT: .long 8
1593; CHECK-NEXT: .byte 13
1594; CHECK-NEXT: .byte 7
1595; CHECK-NEXT: .byte 14
1596; CHECK-NEXT: .short 9
1597; CHECK-NEXT: .byte 8
1598; CHECK-NEXT: .byte 7
1599; CHECK-NEXT: .byte 9
1600; CHECK-NEXT: .long 8
1601; CHECK-NEXT: .byte 10
1602; CHECK-NEXT: .long 8
1603; CHECK-NEXT: .byte 13
1604; CHECK-NEXT: .byte 8
1605; CHECK-NEXT: .byte 14
1606; CHECK-NEXT: .short 9
1607; CHECK-NEXT: .byte 8
1608; CHECK-NEXT: .byte 7
1609; CHECK-NEXT: .byte 9
1610; CHECK-NEXT: .long 8
1611; CHECK-NEXT: .byte 10
1612; CHECK-NEXT: .long 8
1613; CHECK-NEXT: .byte 13
1614; CHECK-NEXT: .byte 9
1615; CHECK-NEXT: .byte 14
1616; CHECK-NEXT: .short 9
1617; CHECK-NEXT: .byte 8
1618; CHECK-NEXT: .byte 7
1619; CHECK-NEXT: .byte 9
1620; CHECK-NEXT: .long 8
1621; CHECK-NEXT: .byte 10
1622; CHECK-NEXT: .long 8
1623; CHECK-NEXT: .byte 13
1624; CHECK-NEXT: .byte 11
1625; CHECK-NEXT: .byte 14
1626; CHECK-NEXT: .short 1
1627; CHECK-NEXT: .byte 15
1628; CHECK-NEXT: .byte 1
1629; CHECK-NEXT: .byte 8
Yaxun Liu86c052232016-08-04 19:45:00 +00001630; CHECK-NEXT: .byte 23
1631; CHECK-NEXT: .long 4
1632; CHECK-NEXT: .ascii "char"
1633; CHECK-NEXT: .byte 5
1634
1635define amdgpu_kernel void @test_vec_type_hint_char(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !29 {
1636 ret void
1637}
1638
1639; CHECK-LABEL:{{^}}test_vec_type_hint_short:
1640; CHECK: .section .AMDGPU.runtime_metadata
1641; CHECK-NEXT: .byte 4
1642; CHECK-NEXT: .byte 6
1643; CHECK-NEXT: .long 24
1644; CHECK-NEXT: .ascii "test_vec_type_hint_short"
1645; CHECK-NEXT: .byte 7
1646; CHECK-NEXT: .byte 9
1647; CHECK-NEXT: .long 4
1648; CHECK-NEXT: .byte 10
1649; CHECK-NEXT: .long 4
1650; CHECK-NEXT: .byte 11
1651; CHECK-NEXT: .long 3
1652; CHECK-NEXT: .ascii "int"
1653; CHECK-NEXT: .byte 13
1654; CHECK-NEXT: .byte 0
1655; CHECK-NEXT: .byte 14
1656; CHECK-NEXT: .short 6
1657; CHECK-NEXT: .byte 16
1658; CHECK-NEXT: .byte 0
1659; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001660; CHECK-NEXT: .byte 7
1661; CHECK-NEXT: .byte 9
1662; CHECK-NEXT: .long 8
1663; CHECK-NEXT: .byte 10
1664; CHECK-NEXT: .long 8
1665; CHECK-NEXT: .byte 13
1666; CHECK-NEXT: .byte 7
1667; CHECK-NEXT: .byte 14
1668; CHECK-NEXT: .short 9
1669; CHECK-NEXT: .byte 8
1670; CHECK-NEXT: .byte 7
1671; CHECK-NEXT: .byte 9
1672; CHECK-NEXT: .long 8
1673; CHECK-NEXT: .byte 10
1674; CHECK-NEXT: .long 8
1675; CHECK-NEXT: .byte 13
1676; CHECK-NEXT: .byte 8
1677; CHECK-NEXT: .byte 14
1678; CHECK-NEXT: .short 9
1679; CHECK-NEXT: .byte 8
1680; CHECK-NEXT: .byte 7
1681; CHECK-NEXT: .byte 9
1682; CHECK-NEXT: .long 8
1683; CHECK-NEXT: .byte 10
1684; CHECK-NEXT: .long 8
1685; CHECK-NEXT: .byte 13
1686; CHECK-NEXT: .byte 9
1687; CHECK-NEXT: .byte 14
1688; CHECK-NEXT: .short 9
1689; CHECK-NEXT: .byte 8
1690; CHECK-NEXT: .byte 7
1691; CHECK-NEXT: .byte 9
1692; CHECK-NEXT: .long 8
1693; CHECK-NEXT: .byte 10
1694; CHECK-NEXT: .long 8
1695; CHECK-NEXT: .byte 13
1696; CHECK-NEXT: .byte 11
1697; CHECK-NEXT: .byte 14
1698; CHECK-NEXT: .short 1
1699; CHECK-NEXT: .byte 15
1700; CHECK-NEXT: .byte 1
1701; CHECK-NEXT: .byte 8
Yaxun Liu86c052232016-08-04 19:45:00 +00001702; CHECK-NEXT: .byte 23
1703; CHECK-NEXT: .long 5
1704; CHECK-NEXT: .ascii "short"
1705; CHECK-NEXT: .byte 5
1706
1707define amdgpu_kernel void @test_vec_type_hint_short(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !30 {
1708 ret void
1709}
1710
1711; CHECK-LABEL:{{^}}test_vec_type_hint_long:
1712; CHECK: .section .AMDGPU.runtime_metadata
1713; CHECK-NEXT: .byte 4
1714; CHECK-NEXT: .byte 6
1715; CHECK-NEXT: .long 23
1716; CHECK-NEXT: .ascii "test_vec_type_hint_long"
1717; CHECK-NEXT: .byte 7
1718; CHECK-NEXT: .byte 9
1719; CHECK-NEXT: .long 4
1720; CHECK-NEXT: .byte 10
1721; CHECK-NEXT: .long 4
1722; CHECK-NEXT: .byte 11
1723; CHECK-NEXT: .long 3
1724; CHECK-NEXT: .ascii "int"
1725; CHECK-NEXT: .byte 13
1726; CHECK-NEXT: .byte 0
1727; CHECK-NEXT: .byte 14
1728; CHECK-NEXT: .short 6
1729; CHECK-NEXT: .byte 16
1730; CHECK-NEXT: .byte 0
1731; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001732; CHECK-NEXT: .byte 7
1733; CHECK-NEXT: .byte 9
1734; CHECK-NEXT: .long 8
1735; CHECK-NEXT: .byte 10
1736; CHECK-NEXT: .long 8
1737; CHECK-NEXT: .byte 13
1738; CHECK-NEXT: .byte 7
1739; CHECK-NEXT: .byte 14
1740; CHECK-NEXT: .short 9
1741; CHECK-NEXT: .byte 8
1742; CHECK-NEXT: .byte 7
1743; CHECK-NEXT: .byte 9
1744; CHECK-NEXT: .long 8
1745; CHECK-NEXT: .byte 10
1746; CHECK-NEXT: .long 8
1747; CHECK-NEXT: .byte 13
1748; CHECK-NEXT: .byte 8
1749; CHECK-NEXT: .byte 14
1750; CHECK-NEXT: .short 9
1751; CHECK-NEXT: .byte 8
1752; CHECK-NEXT: .byte 7
1753; CHECK-NEXT: .byte 9
1754; CHECK-NEXT: .long 8
1755; CHECK-NEXT: .byte 10
1756; CHECK-NEXT: .long 8
1757; CHECK-NEXT: .byte 13
1758; CHECK-NEXT: .byte 9
1759; CHECK-NEXT: .byte 14
1760; CHECK-NEXT: .short 9
1761; CHECK-NEXT: .byte 8
1762; CHECK-NEXT: .byte 7
1763; CHECK-NEXT: .byte 9
1764; CHECK-NEXT: .long 8
1765; CHECK-NEXT: .byte 10
1766; CHECK-NEXT: .long 8
1767; CHECK-NEXT: .byte 13
1768; CHECK-NEXT: .byte 11
1769; CHECK-NEXT: .byte 14
1770; CHECK-NEXT: .short 1
1771; CHECK-NEXT: .byte 15
1772; CHECK-NEXT: .byte 1
1773; CHECK-NEXT: .byte 8
Yaxun Liu86c052232016-08-04 19:45:00 +00001774; CHECK-NEXT: .byte 23
1775; CHECK-NEXT: .long 4
1776; CHECK-NEXT: .ascii "long"
1777; CHECK-NEXT: .byte 5
1778
1779define amdgpu_kernel void @test_vec_type_hint_long(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !31 {
1780 ret void
1781}
1782
1783; CHECK-LABEL:{{^}}test_vec_type_hint_unknown:
1784; CHECK: .section .AMDGPU.runtime_metadata
1785; CHECK-NEXT: .byte 4
1786; CHECK-NEXT: .byte 6
1787; CHECK-NEXT: .long 26
1788; CHECK-NEXT: .ascii "test_vec_type_hint_unknown"
1789; CHECK-NEXT: .byte 7
1790; CHECK-NEXT: .byte 9
1791; CHECK-NEXT: .long 4
1792; CHECK-NEXT: .byte 10
1793; CHECK-NEXT: .long 4
1794; CHECK-NEXT: .byte 11
1795; CHECK-NEXT: .long 3
1796; CHECK-NEXT: .ascii "int"
1797; CHECK-NEXT: .byte 13
1798; CHECK-NEXT: .byte 0
1799; CHECK-NEXT: .byte 14
1800; CHECK-NEXT: .short 6
1801; CHECK-NEXT: .byte 16
1802; CHECK-NEXT: .byte 0
1803; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001804; CHECK-NEXT: .byte 7
1805; CHECK-NEXT: .byte 9
1806; CHECK-NEXT: .long 8
1807; CHECK-NEXT: .byte 10
1808; CHECK-NEXT: .long 8
1809; CHECK-NEXT: .byte 13
1810; CHECK-NEXT: .byte 7
1811; CHECK-NEXT: .byte 14
1812; CHECK-NEXT: .short 9
1813; CHECK-NEXT: .byte 8
1814; CHECK-NEXT: .byte 7
1815; CHECK-NEXT: .byte 9
1816; CHECK-NEXT: .long 8
1817; CHECK-NEXT: .byte 10
1818; CHECK-NEXT: .long 8
1819; CHECK-NEXT: .byte 13
1820; CHECK-NEXT: .byte 8
1821; CHECK-NEXT: .byte 14
1822; CHECK-NEXT: .short 9
1823; CHECK-NEXT: .byte 8
1824; CHECK-NEXT: .byte 7
1825; CHECK-NEXT: .byte 9
1826; CHECK-NEXT: .long 8
1827; CHECK-NEXT: .byte 10
1828; CHECK-NEXT: .long 8
1829; CHECK-NEXT: .byte 13
1830; CHECK-NEXT: .byte 9
1831; CHECK-NEXT: .byte 14
1832; CHECK-NEXT: .short 9
1833; CHECK-NEXT: .byte 8
1834; CHECK-NEXT: .byte 7
1835; CHECK-NEXT: .byte 9
1836; CHECK-NEXT: .long 8
1837; CHECK-NEXT: .byte 10
1838; CHECK-NEXT: .long 8
1839; CHECK-NEXT: .byte 13
1840; CHECK-NEXT: .byte 11
1841; CHECK-NEXT: .byte 14
1842; CHECK-NEXT: .short 1
1843; CHECK-NEXT: .byte 15
1844; CHECK-NEXT: .byte 1
1845; CHECK-NEXT: .byte 8
Yaxun Liu86c052232016-08-04 19:45:00 +00001846; CHECK-NEXT: .byte 23
1847; CHECK-NEXT: .long 7
1848; CHECK-NEXT: .ascii "unknown"
1849; CHECK-NEXT: .byte 5
1850
1851define amdgpu_kernel void @test_vec_type_hint_unknown(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !32 {
1852 ret void
1853}
1854
Yaxun Liua711cc72016-07-16 05:09:21 +00001855; CHECK-LABEL:{{^}}test_reqd_wgs_vec_type_hint:
1856; CHECK: .section .AMDGPU.runtime_metadata
1857; CHECK-NEXT: .byte 4
1858; CHECK-NEXT: .byte 6
1859; CHECK-NEXT: .long 27
1860; CHECK-NEXT: .ascii "test_reqd_wgs_vec_type_hint"
1861; CHECK-NEXT: .byte 7
1862; CHECK-NEXT: .byte 9
1863; CHECK-NEXT: .long 4
1864; CHECK-NEXT: .byte 10
1865; CHECK-NEXT: .long 4
1866; CHECK-NEXT: .byte 11
1867; CHECK-NEXT: .long 3
1868; CHECK-NEXT: .ascii "int"
1869; CHECK-NEXT: .byte 13
1870; CHECK-NEXT: .byte 0
1871; CHECK-NEXT: .byte 14
1872; CHECK-NEXT: .short 6
1873; CHECK-NEXT: .byte 16
1874; CHECK-NEXT: .byte 0
1875; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001876; CHECK-NEXT: .byte 7
1877; CHECK-NEXT: .byte 9
1878; CHECK-NEXT: .long 8
1879; CHECK-NEXT: .byte 10
1880; CHECK-NEXT: .long 8
1881; CHECK-NEXT: .byte 13
1882; CHECK-NEXT: .byte 7
1883; CHECK-NEXT: .byte 14
1884; CHECK-NEXT: .short 9
1885; CHECK-NEXT: .byte 8
1886; CHECK-NEXT: .byte 7
1887; CHECK-NEXT: .byte 9
1888; CHECK-NEXT: .long 8
1889; CHECK-NEXT: .byte 10
1890; CHECK-NEXT: .long 8
1891; CHECK-NEXT: .byte 13
1892; CHECK-NEXT: .byte 8
1893; CHECK-NEXT: .byte 14
1894; CHECK-NEXT: .short 9
1895; CHECK-NEXT: .byte 8
1896; CHECK-NEXT: .byte 7
1897; CHECK-NEXT: .byte 9
1898; CHECK-NEXT: .long 8
1899; CHECK-NEXT: .byte 10
1900; CHECK-NEXT: .long 8
1901; CHECK-NEXT: .byte 13
1902; CHECK-NEXT: .byte 9
1903; CHECK-NEXT: .byte 14
1904; CHECK-NEXT: .short 9
1905; CHECK-NEXT: .byte 8
1906; CHECK-NEXT: .byte 7
1907; CHECK-NEXT: .byte 9
1908; CHECK-NEXT: .long 8
1909; CHECK-NEXT: .byte 10
1910; CHECK-NEXT: .long 8
1911; CHECK-NEXT: .byte 13
1912; CHECK-NEXT: .byte 11
1913; CHECK-NEXT: .byte 14
1914; CHECK-NEXT: .short 1
1915; CHECK-NEXT: .byte 15
1916; CHECK-NEXT: .byte 1
1917; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00001918; CHECK-NEXT: .byte 21
1919; CHECK-NEXT: .long 1
1920; CHECK-NEXT: .long 2
1921; CHECK-NEXT: .long 4
1922; CHECK-NEXT: .byte 23
1923; CHECK-NEXT: .long 3
1924; CHECK-NEXT: .ascii "int"
1925; CHECK-NEXT: .byte 5
1926
1927define amdgpu_kernel void @test_reqd_wgs_vec_type_hint(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !5 !reqd_work_group_size !6 {
1928 ret void
1929}
1930
1931; CHECK-LABEL:{{^}}test_wgs_hint_vec_type_hint:
1932; CHECK: .section .AMDGPU.runtime_metadata
1933; CHECK-NEXT: .byte 4
1934; CHECK-NEXT: .byte 6
1935; CHECK-NEXT: .long 27
1936; CHECK-NEXT: .ascii "test_wgs_hint_vec_type_hint"
1937; CHECK-NEXT: .byte 7
1938; CHECK-NEXT: .byte 9
1939; CHECK-NEXT: .long 4
1940; CHECK-NEXT: .byte 10
1941; CHECK-NEXT: .long 4
1942; CHECK-NEXT: .byte 11
1943; CHECK-NEXT: .long 3
1944; CHECK-NEXT: .ascii "int"
1945; CHECK-NEXT: .byte 13
1946; CHECK-NEXT: .byte 0
1947; CHECK-NEXT: .byte 14
1948; CHECK-NEXT: .short 6
1949; CHECK-NEXT: .byte 16
1950; CHECK-NEXT: .byte 0
1951; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00001952; CHECK-NEXT: .byte 7
1953; CHECK-NEXT: .byte 9
1954; CHECK-NEXT: .long 8
1955; CHECK-NEXT: .byte 10
1956; CHECK-NEXT: .long 8
1957; CHECK-NEXT: .byte 13
1958; CHECK-NEXT: .byte 7
1959; CHECK-NEXT: .byte 14
1960; CHECK-NEXT: .short 9
1961; CHECK-NEXT: .byte 8
1962; CHECK-NEXT: .byte 7
1963; CHECK-NEXT: .byte 9
1964; CHECK-NEXT: .long 8
1965; CHECK-NEXT: .byte 10
1966; CHECK-NEXT: .long 8
1967; CHECK-NEXT: .byte 13
1968; CHECK-NEXT: .byte 8
1969; CHECK-NEXT: .byte 14
1970; CHECK-NEXT: .short 9
1971; CHECK-NEXT: .byte 8
1972; CHECK-NEXT: .byte 7
1973; CHECK-NEXT: .byte 9
1974; CHECK-NEXT: .long 8
1975; CHECK-NEXT: .byte 10
1976; CHECK-NEXT: .long 8
1977; CHECK-NEXT: .byte 13
1978; CHECK-NEXT: .byte 9
1979; CHECK-NEXT: .byte 14
1980; CHECK-NEXT: .short 9
1981; CHECK-NEXT: .byte 8
1982; CHECK-NEXT: .byte 7
1983; CHECK-NEXT: .byte 9
1984; CHECK-NEXT: .long 8
1985; CHECK-NEXT: .byte 10
1986; CHECK-NEXT: .long 8
1987; CHECK-NEXT: .byte 13
1988; CHECK-NEXT: .byte 11
1989; CHECK-NEXT: .byte 14
1990; CHECK-NEXT: .short 1
1991; CHECK-NEXT: .byte 15
1992; CHECK-NEXT: .byte 1
1993; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00001994; CHECK-NEXT: .byte 22
1995; CHECK-NEXT: .long 8
1996; CHECK-NEXT: .long 16
1997; CHECK-NEXT: .long 32
1998; CHECK-NEXT: .byte 23
1999; CHECK-NEXT: .long 5
2000; CHECK-NEXT: .ascii "uint4"
2001; CHECK-NEXT: .byte 5
2002
2003define amdgpu_kernel void @test_wgs_hint_vec_type_hint(i32 %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !7 !work_group_size_hint !8 {
2004 ret void
2005}
2006
2007; CHECK-LABEL:{{^}}test_arg_ptr_to_ptr:
2008; CHECK: .section .AMDGPU.runtime_metadata
2009; CHECK-NEXT: .byte 4
2010; CHECK-NEXT: .byte 6
2011; CHECK-NEXT: .long 19
2012; CHECK-NEXT: .ascii "test_arg_ptr_to_ptr"
2013; CHECK-NEXT: .byte 7
2014; CHECK-NEXT: .byte 9
2015; CHECK-NEXT: .long 8
2016; CHECK-NEXT: .byte 10
2017; CHECK-NEXT: .long 8
2018; CHECK-NEXT: .byte 11
2019; CHECK-NEXT: .long 6
2020; CHECK-NEXT: .ascii "int **"
2021; CHECK-NEXT: .byte 13
2022; CHECK-NEXT: .byte 1
2023; CHECK-NEXT: .byte 14
2024; CHECK-NEXT: .short 6
2025; CHECK-NEXT: .byte 16
2026; CHECK-NEXT: .byte 0
2027; CHECK-NEXT: .byte 15
2028; CHECK-NEXT: .byte 1
2029; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00002030; CHECK-NEXT: .byte 7
2031; CHECK-NEXT: .byte 9
2032; CHECK-NEXT: .long 8
2033; CHECK-NEXT: .byte 10
2034; CHECK-NEXT: .long 8
2035; CHECK-NEXT: .byte 13
2036; CHECK-NEXT: .byte 7
2037; CHECK-NEXT: .byte 14
2038; CHECK-NEXT: .short 9
2039; CHECK-NEXT: .byte 8
2040; CHECK-NEXT: .byte 7
2041; CHECK-NEXT: .byte 9
2042; CHECK-NEXT: .long 8
2043; CHECK-NEXT: .byte 10
2044; CHECK-NEXT: .long 8
2045; CHECK-NEXT: .byte 13
2046; CHECK-NEXT: .byte 8
2047; CHECK-NEXT: .byte 14
2048; CHECK-NEXT: .short 9
2049; CHECK-NEXT: .byte 8
2050; CHECK-NEXT: .byte 7
2051; CHECK-NEXT: .byte 9
2052; CHECK-NEXT: .long 8
2053; CHECK-NEXT: .byte 10
2054; CHECK-NEXT: .long 8
2055; CHECK-NEXT: .byte 13
2056; CHECK-NEXT: .byte 9
2057; CHECK-NEXT: .byte 14
2058; CHECK-NEXT: .short 9
2059; CHECK-NEXT: .byte 8
2060; CHECK-NEXT: .byte 7
2061; CHECK-NEXT: .byte 9
2062; CHECK-NEXT: .long 8
2063; CHECK-NEXT: .byte 10
2064; CHECK-NEXT: .long 8
2065; CHECK-NEXT: .byte 13
2066; CHECK-NEXT: .byte 11
2067; CHECK-NEXT: .byte 14
2068; CHECK-NEXT: .short 1
2069; CHECK-NEXT: .byte 15
2070; CHECK-NEXT: .byte 1
2071; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00002072; CHECK-NEXT: .byte 5
2073
2074define amdgpu_kernel void @test_arg_ptr_to_ptr(i32 * addrspace(1)* %a) !kernel_arg_addr_space !81 !kernel_arg_access_qual !2 !kernel_arg_type !80 !kernel_arg_base_type !80 !kernel_arg_type_qual !4 {
2075 ret void
2076}
2077
2078; CHECK-LABEL:{{^}}test_arg_struct_contains_ptr:
2079; CHECK: .section .AMDGPU.runtime_metadata
2080; CHECK-NEXT: .byte 4
2081; CHECK-NEXT: .byte 6
2082; CHECK-NEXT: .long 28
2083; CHECK-NEXT: .ascii "test_arg_struct_contains_ptr"
2084; CHECK-NEXT: .byte 7
2085; CHECK-NEXT: .byte 9
2086; CHECK-NEXT: .long 4
2087; CHECK-NEXT: .byte 10
2088; CHECK-NEXT: .long 4
2089; CHECK-NEXT: .byte 11
2090; CHECK-NEXT: .long 8
2091; CHECK-NEXT: .ascii "struct B"
2092; CHECK-NEXT: .byte 13
2093; CHECK-NEXT: .byte 1
2094; CHECK-NEXT: .byte 14
2095; CHECK-NEXT: .short 0
2096; CHECK-NEXT: .byte 16
2097; CHECK-NEXT: .byte 0
2098; CHECK-NEXT: .byte 15
2099; CHECK-NEXT: .byte 0
2100; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00002101; CHECK-NEXT: .byte 7
2102; CHECK-NEXT: .byte 9
2103; CHECK-NEXT: .long 8
2104; CHECK-NEXT: .byte 10
2105; CHECK-NEXT: .long 8
2106; CHECK-NEXT: .byte 13
2107; CHECK-NEXT: .byte 7
2108; CHECK-NEXT: .byte 14
2109; CHECK-NEXT: .short 9
2110; CHECK-NEXT: .byte 8
2111; CHECK-NEXT: .byte 7
2112; CHECK-NEXT: .byte 9
2113; CHECK-NEXT: .long 8
2114; CHECK-NEXT: .byte 10
2115; CHECK-NEXT: .long 8
2116; CHECK-NEXT: .byte 13
2117; CHECK-NEXT: .byte 8
2118; CHECK-NEXT: .byte 14
2119; CHECK-NEXT: .short 9
2120; CHECK-NEXT: .byte 8
2121; CHECK-NEXT: .byte 7
2122; CHECK-NEXT: .byte 9
2123; CHECK-NEXT: .long 8
2124; CHECK-NEXT: .byte 10
2125; CHECK-NEXT: .long 8
2126; CHECK-NEXT: .byte 13
2127; CHECK-NEXT: .byte 9
2128; CHECK-NEXT: .byte 14
2129; CHECK-NEXT: .short 9
2130; CHECK-NEXT: .byte 8
2131; CHECK-NEXT: .byte 7
2132; CHECK-NEXT: .byte 9
2133; CHECK-NEXT: .long 8
2134; CHECK-NEXT: .byte 10
2135; CHECK-NEXT: .long 8
2136; CHECK-NEXT: .byte 13
2137; CHECK-NEXT: .byte 11
2138; CHECK-NEXT: .byte 14
2139; CHECK-NEXT: .short 1
2140; CHECK-NEXT: .byte 15
2141; CHECK-NEXT: .byte 1
2142; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00002143; CHECK-NEXT: .byte 5
2144
2145define amdgpu_kernel void @test_arg_struct_contains_ptr(%struct.B * byval %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !82 !kernel_arg_base_type !82 !kernel_arg_type_qual !4 {
2146 ret void
2147}
2148
2149; CHECK-LABEL:{{^}}test_arg_vector_of_ptr:
2150; CHECK: .section .AMDGPU.runtime_metadata
2151; CHECK-NEXT: .byte 4
2152; CHECK-NEXT: .byte 6
2153; CHECK-NEXT: .long 22
2154; CHECK-NEXT: .ascii "test_arg_vector_of_ptr"
2155; CHECK-NEXT: .byte 7
2156; CHECK-NEXT: .byte 9
2157; CHECK-NEXT: .long 16
2158; CHECK-NEXT: .byte 10
2159; CHECK-NEXT: .long 16
2160; CHECK-NEXT: .byte 11
2161; CHECK-NEXT: .long 47
2162; CHECK-NEXT: .ascii "global int* __attribute__((ext_vector_type(2)))"
2163; CHECK-NEXT: .byte 13
2164; CHECK-NEXT: .byte 0
2165; CHECK-NEXT: .byte 14
2166; CHECK-NEXT: .short 6
2167; CHECK-NEXT: .byte 16
2168; CHECK-NEXT: .byte 0
2169; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00002170; CHECK-NEXT: .byte 7
2171; CHECK-NEXT: .byte 9
2172; CHECK-NEXT: .long 8
2173; CHECK-NEXT: .byte 10
2174; CHECK-NEXT: .long 8
2175; CHECK-NEXT: .byte 13
2176; CHECK-NEXT: .byte 7
2177; CHECK-NEXT: .byte 14
2178; CHECK-NEXT: .short 9
2179; CHECK-NEXT: .byte 8
2180; CHECK-NEXT: .byte 7
2181; CHECK-NEXT: .byte 9
2182; CHECK-NEXT: .long 8
2183; CHECK-NEXT: .byte 10
2184; CHECK-NEXT: .long 8
2185; CHECK-NEXT: .byte 13
2186; CHECK-NEXT: .byte 8
2187; CHECK-NEXT: .byte 14
2188; CHECK-NEXT: .short 9
2189; CHECK-NEXT: .byte 8
2190; CHECK-NEXT: .byte 7
2191; CHECK-NEXT: .byte 9
2192; CHECK-NEXT: .long 8
2193; CHECK-NEXT: .byte 10
2194; CHECK-NEXT: .long 8
2195; CHECK-NEXT: .byte 13
2196; CHECK-NEXT: .byte 9
2197; CHECK-NEXT: .byte 14
2198; CHECK-NEXT: .short 9
2199; CHECK-NEXT: .byte 8
2200; CHECK-NEXT: .byte 7
2201; CHECK-NEXT: .byte 9
2202; CHECK-NEXT: .long 8
2203; CHECK-NEXT: .byte 10
2204; CHECK-NEXT: .long 8
2205; CHECK-NEXT: .byte 13
2206; CHECK-NEXT: .byte 11
2207; CHECK-NEXT: .byte 14
2208; CHECK-NEXT: .short 1
2209; CHECK-NEXT: .byte 15
2210; CHECK-NEXT: .byte 1
2211; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00002212; CHECK-NEXT: .byte 5
2213
2214define amdgpu_kernel void @test_arg_vector_of_ptr(<2 x i32 addrspace(1)*> %a) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !83 !kernel_arg_base_type !83 !kernel_arg_type_qual !4 {
2215 ret void
2216}
2217
2218; CHECK-LABEL:{{^}}test_arg_unknown_builtin_type:
2219; CHECK: .section .AMDGPU.runtime_metadata
2220; CHECK-NEXT: .byte 4
2221; CHECK-NEXT: .byte 6
2222; CHECK-NEXT: .long 29
2223; CHECK-NEXT: .ascii "test_arg_unknown_builtin_type"
2224; CHECK-NEXT: .byte 7
2225; CHECK-NEXT: .byte 9
2226; CHECK-NEXT: .long 8
2227; CHECK-NEXT: .byte 10
2228; CHECK-NEXT: .long 8
2229; CHECK-NEXT: .byte 11
2230; CHECK-NEXT: .long 11
2231; CHECK-NEXT: .ascii "clk_event_t"
2232; CHECK-NEXT: .byte 13
2233; CHECK-NEXT: .byte 1
2234; CHECK-NEXT: .byte 14
2235; CHECK-NEXT: .short 0
2236; CHECK-NEXT: .byte 16
2237; CHECK-NEXT: .byte 0
2238; CHECK-NEXT: .byte 15
2239; CHECK-NEXT: .byte 1
2240; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00002241; CHECK-NEXT: .byte 7
2242; CHECK-NEXT: .byte 9
2243; CHECK-NEXT: .long 8
2244; CHECK-NEXT: .byte 10
2245; CHECK-NEXT: .long 8
2246; CHECK-NEXT: .byte 13
2247; CHECK-NEXT: .byte 7
2248; CHECK-NEXT: .byte 14
2249; CHECK-NEXT: .short 9
2250; CHECK-NEXT: .byte 8
2251; CHECK-NEXT: .byte 7
2252; CHECK-NEXT: .byte 9
2253; CHECK-NEXT: .long 8
2254; CHECK-NEXT: .byte 10
2255; CHECK-NEXT: .long 8
2256; CHECK-NEXT: .byte 13
2257; CHECK-NEXT: .byte 8
2258; CHECK-NEXT: .byte 14
2259; CHECK-NEXT: .short 9
2260; CHECK-NEXT: .byte 8
2261; CHECK-NEXT: .byte 7
2262; CHECK-NEXT: .byte 9
2263; CHECK-NEXT: .long 8
2264; CHECK-NEXT: .byte 10
2265; CHECK-NEXT: .long 8
2266; CHECK-NEXT: .byte 13
2267; CHECK-NEXT: .byte 9
2268; CHECK-NEXT: .byte 14
2269; CHECK-NEXT: .short 9
2270; CHECK-NEXT: .byte 8
2271; CHECK-NEXT: .byte 7
2272; CHECK-NEXT: .byte 9
2273; CHECK-NEXT: .long 8
2274; CHECK-NEXT: .byte 10
2275; CHECK-NEXT: .long 8
2276; CHECK-NEXT: .byte 13
2277; CHECK-NEXT: .byte 11
2278; CHECK-NEXT: .byte 14
2279; CHECK-NEXT: .short 1
2280; CHECK-NEXT: .byte 15
2281; CHECK-NEXT: .byte 1
2282; CHECK-NEXT: .byte 8
Yaxun Liua711cc72016-07-16 05:09:21 +00002283; CHECK-NEXT: .byte 5
2284
Yaxun Liu63891402016-09-07 17:44:00 +00002285
Yaxun Liua711cc72016-07-16 05:09:21 +00002286define amdgpu_kernel void @test_arg_unknown_builtin_type(%opencl.clk_event_t addrspace(1)* %a) !kernel_arg_addr_space !81 !kernel_arg_access_qual !2 !kernel_arg_type !84 !kernel_arg_base_type !84 !kernel_arg_type_qual !4 {
2287 ret void
2288}
2289
Yaxun Liuadd05a82016-09-01 18:46:49 +00002290; CHECK-LABEL:{{^}}test_pointee_align:
2291; CHECK: .section .AMDGPU.runtime_metadata
2292; CHECK-NEXT: .byte 4
2293; CHECK-NEXT: .byte 6
2294; CHECK-NEXT: .long 18
2295; CHECK-NEXT: .ascii "test_pointee_align"
2296; CHECK-NEXT: .byte 7
2297; CHECK-NEXT: .byte 9
2298; CHECK-NEXT: .long 8
2299; CHECK-NEXT: .byte 10
2300; CHECK-NEXT: .long 8
Yaxun Liuadd05a82016-09-01 18:46:49 +00002301; CHECK-NEXT: .byte 11
2302; CHECK-NEXT: .long 6
2303; CHECK-NEXT: .ascii "long *"
2304; CHECK-NEXT: .byte 13
2305; CHECK-NEXT: .byte 1
2306; CHECK-NEXT: .byte 14
2307; CHECK-NEXT: .short 9
2308; CHECK-NEXT: .byte 16
2309; CHECK-NEXT: .byte 0
2310; CHECK-NEXT: .byte 15
2311; CHECK-NEXT: .byte 1
2312; CHECK-NEXT: .byte 8
2313; CHECK-NEXT: .byte 7
2314; CHECK-NEXT: .byte 9
2315; CHECK-NEXT: .long 4
2316; CHECK-NEXT: .byte 10
2317; CHECK-NEXT: .long 4
2318; CHECK-NEXT: .byte 32
2319; CHECK-NEXT: .long 1
2320; CHECK-NEXT: .byte 11
2321; CHECK-NEXT: .long 6
2322; CHECK-NEXT: .ascii "char *"
2323; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00002324; CHECK-NEXT: .byte 2
Yaxun Liuadd05a82016-09-01 18:46:49 +00002325; CHECK-NEXT: .byte 14
2326; CHECK-NEXT: .short 1
2327; CHECK-NEXT: .byte 16
2328; CHECK-NEXT: .byte 0
2329; CHECK-NEXT: .byte 15
2330; CHECK-NEXT: .byte 3
2331; CHECK-NEXT: .byte 8
2332; CHECK-NEXT: .byte 7
2333; CHECK-NEXT: .byte 9
2334; CHECK-NEXT: .long 4
2335; CHECK-NEXT: .byte 10
2336; CHECK-NEXT: .long 4
2337; CHECK-NEXT: .byte 32
2338; CHECK-NEXT: .long 2
2339; CHECK-NEXT: .byte 11
2340; CHECK-NEXT: .long 7
2341; CHECK-NEXT: .ascii "char2 *"
2342; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00002343; CHECK-NEXT: .byte 2
Yaxun Liuadd05a82016-09-01 18:46:49 +00002344; CHECK-NEXT: .byte 14
2345; CHECK-NEXT: .short 1
2346; CHECK-NEXT: .byte 16
2347; CHECK-NEXT: .byte 0
2348; CHECK-NEXT: .byte 15
2349; CHECK-NEXT: .byte 3
2350; CHECK-NEXT: .byte 8
2351; CHECK-NEXT: .byte 7
2352; CHECK-NEXT: .byte 9
2353; CHECK-NEXT: .long 4
2354; CHECK-NEXT: .byte 10
2355; CHECK-NEXT: .long 4
2356; CHECK-NEXT: .byte 32
2357; CHECK-NEXT: .long 4
2358; CHECK-NEXT: .byte 11
2359; CHECK-NEXT: .long 7
2360; CHECK-NEXT: .ascii "char3 *"
2361; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00002362; CHECK-NEXT: .byte 2
Yaxun Liuadd05a82016-09-01 18:46:49 +00002363; CHECK-NEXT: .byte 14
2364; CHECK-NEXT: .short 1
2365; CHECK-NEXT: .byte 16
2366; CHECK-NEXT: .byte 0
2367; CHECK-NEXT: .byte 15
2368; CHECK-NEXT: .byte 3
2369; CHECK-NEXT: .byte 8
2370; CHECK-NEXT: .byte 7
2371; CHECK-NEXT: .byte 9
2372; CHECK-NEXT: .long 4
2373; CHECK-NEXT: .byte 10
2374; CHECK-NEXT: .long 4
2375; CHECK-NEXT: .byte 32
2376; CHECK-NEXT: .long 4
2377; CHECK-NEXT: .byte 11
2378; CHECK-NEXT: .long 7
2379; CHECK-NEXT: .ascii "char4 *"
2380; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00002381; CHECK-NEXT: .byte 2
Yaxun Liuadd05a82016-09-01 18:46:49 +00002382; CHECK-NEXT: .byte 14
2383; CHECK-NEXT: .short 1
2384; CHECK-NEXT: .byte 16
2385; CHECK-NEXT: .byte 0
2386; CHECK-NEXT: .byte 15
2387; CHECK-NEXT: .byte 3
2388; CHECK-NEXT: .byte 8
2389; CHECK-NEXT: .byte 7
2390; CHECK-NEXT: .byte 9
2391; CHECK-NEXT: .long 4
2392; CHECK-NEXT: .byte 10
2393; CHECK-NEXT: .long 4
2394; CHECK-NEXT: .byte 32
2395; CHECK-NEXT: .long 8
2396; CHECK-NEXT: .byte 11
2397; CHECK-NEXT: .long 7
2398; CHECK-NEXT: .ascii "char8 *"
2399; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00002400; CHECK-NEXT: .byte 2
Yaxun Liuadd05a82016-09-01 18:46:49 +00002401; CHECK-NEXT: .byte 14
2402; CHECK-NEXT: .short 1
2403; CHECK-NEXT: .byte 16
2404; CHECK-NEXT: .byte 0
2405; CHECK-NEXT: .byte 15
2406; CHECK-NEXT: .byte 3
2407; CHECK-NEXT: .byte 8
2408; CHECK-NEXT: .byte 7
2409; CHECK-NEXT: .byte 9
2410; CHECK-NEXT: .long 4
2411; CHECK-NEXT: .byte 10
2412; CHECK-NEXT: .long 4
2413; CHECK-NEXT: .byte 32
2414; CHECK-NEXT: .long 16
2415; CHECK-NEXT: .byte 11
2416; CHECK-NEXT: .long 8
2417; CHECK-NEXT: .ascii "char16 *"
2418; CHECK-NEXT: .byte 13
Yaxun Liu63891402016-09-07 17:44:00 +00002419; CHECK-NEXT: .byte 2
Yaxun Liuadd05a82016-09-01 18:46:49 +00002420; CHECK-NEXT: .byte 14
2421; CHECK-NEXT: .short 1
2422; CHECK-NEXT: .byte 16
2423; CHECK-NEXT: .byte 0
2424; CHECK-NEXT: .byte 15
2425; CHECK-NEXT: .byte 3
2426; CHECK-NEXT: .byte 8
Yaxun Liu63891402016-09-07 17:44:00 +00002427; CHECK-NEXT: .byte 7
2428; CHECK-NEXT: .byte 9
2429; CHECK-NEXT: .long 8
2430; CHECK-NEXT: .byte 10
2431; CHECK-NEXT: .long 8
2432; CHECK-NEXT: .byte 13
2433; CHECK-NEXT: .byte 7
2434; CHECK-NEXT: .byte 14
2435; CHECK-NEXT: .short 9
2436; CHECK-NEXT: .byte 8
2437; CHECK-NEXT: .byte 7
2438; CHECK-NEXT: .byte 9
2439; CHECK-NEXT: .long 8
2440; CHECK-NEXT: .byte 10
2441; CHECK-NEXT: .long 8
2442; CHECK-NEXT: .byte 13
2443; CHECK-NEXT: .byte 8
2444; CHECK-NEXT: .byte 14
2445; CHECK-NEXT: .short 9
2446; CHECK-NEXT: .byte 8
2447; CHECK-NEXT: .byte 7
2448; CHECK-NEXT: .byte 9
2449; CHECK-NEXT: .long 8
2450; CHECK-NEXT: .byte 10
2451; CHECK-NEXT: .long 8
2452; CHECK-NEXT: .byte 13
2453; CHECK-NEXT: .byte 9
2454; CHECK-NEXT: .byte 14
2455; CHECK-NEXT: .short 9
2456; CHECK-NEXT: .byte 8
2457; CHECK-NEXT: .byte 7
2458; CHECK-NEXT: .byte 9
2459; CHECK-NEXT: .long 8
2460; CHECK-NEXT: .byte 10
2461; CHECK-NEXT: .long 8
2462; CHECK-NEXT: .byte 13
2463; CHECK-NEXT: .byte 11
2464; CHECK-NEXT: .byte 14
2465; CHECK-NEXT: .short 1
2466; CHECK-NEXT: .byte 15
2467; CHECK-NEXT: .byte 1
2468; CHECK-NEXT: .byte 8
Yaxun Liuadd05a82016-09-01 18:46:49 +00002469; CHECK-NEXT: .byte 5
2470
2471define amdgpu_kernel void @test_pointee_align(i64 addrspace(1)* %a, i8 addrspace(3)* %b, <2 x i8> addrspace(3)* %c, <3 x i8> addrspace(3)* %d, <4 x i8> addrspace(3)* %e, <8 x i8> addrspace(3)* %f, <16 x i8> addrspace(3)* %g) !kernel_arg_addr_space !91 !kernel_arg_access_qual !92 !kernel_arg_type !93 !kernel_arg_base_type !93 !kernel_arg_type_qual !94 {
2472 ret void
2473}
2474
Yaxun Liu63891402016-09-07 17:44:00 +00002475!llvm.printf.fmts = !{!100, !101}
2476
Yaxun Liua711cc72016-07-16 05:09:21 +00002477!1 = !{i32 0}
2478!2 = !{!"none"}
2479!3 = !{!"int"}
2480!4 = !{!""}
2481!5 = !{i32 undef, i32 1}
2482!6 = !{i32 1, i32 2, i32 4}
2483!7 = !{<4 x i32> undef, i32 0}
2484!8 = !{i32 8, i32 16, i32 32}
2485!9 = !{!"char"}
2486!10 = !{!"ushort2"}
2487!11 = !{!"int3"}
2488!12 = !{!"ulong4"}
2489!13 = !{!"half8"}
2490!14 = !{!"float16"}
2491!15 = !{!"double16"}
2492!16 = !{!"int *"}
2493!17 = !{!"image2d_t"}
2494!18 = !{!"sampler_t"}
2495!19 = !{!"queue_t"}
2496!20 = !{!"struct A"}
2497!21 = !{!"i128"}
2498!22 = !{i32 0, i32 0, i32 0}
2499!23 = !{!"none", !"none", !"none"}
2500!24 = !{!"int", !"short2", !"char3"}
2501!25 = !{!"", !"", !""}
Yaxun Liu86c052232016-08-04 19:45:00 +00002502!26 = !{half undef, i32 1}
2503!27 = !{float undef, i32 1}
2504!28 = !{double undef, i32 1}
2505!29 = !{i8 undef, i32 1}
2506!30 = !{i16 undef, i32 1}
2507!31 = !{i64 undef, i32 1}
2508!32 = !{i32 *undef, i32 1}
Yaxun Liua711cc72016-07-16 05:09:21 +00002509!50 = !{i32 1, i32 2, i32 3}
2510!51 = !{!"int *", !"int *", !"int *"}
2511!60 = !{i32 1, i32 1, i32 1}
2512!61 = !{!"read_only", !"write_only", !"read_write"}
2513!62 = !{!"image1d_t", !"image2d_t", !"image3d_t"}
2514!70 = !{!"volatile", !"const restrict", !"pipe"}
2515!80 = !{!"int **"}
2516!81 = !{i32 1}
2517!82 = !{!"struct B"}
2518!83 = !{!"global int* __attribute__((ext_vector_type(2)))"}
2519!84 = !{!"clk_event_t"}
2520!opencl.ocl.version = !{!90}
2521!90 = !{i32 2, i32 0}
Yaxun Liuadd05a82016-09-01 18:46:49 +00002522!91 = !{i32 0, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3}
2523!92 = !{!"none", !"none", !"none", !"none", !"none", !"none", !"none"}
2524!93 = !{!"long *", !"char *", !"char2 *", !"char3 *", !"char4 *", !"char8 *", !"char16 *"}
2525!94 = !{!"", !"", !"", !"", !"", !"", !""}
Yaxun Liu63891402016-09-07 17:44:00 +00002526!100 = !{!"1:1:4:%d\5Cn"}
2527!101 = !{!"2:1:8:%g\5Cn"}