; RUN: llc -mtriple=amdgcn--amdhsa < %s | FileCheck %s

%struct.A = type { i8, float }
%opencl.image1d_t = type opaque
%opencl.image2d_t = type opaque
%opencl.image3d_t = type opaque
%opencl.queue_t = type opaque
%opencl.pipe_t = type opaque
%struct.B = type { i32 addrspace(1)*}
%opencl.clk_event_t = type opaque

; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .short	256
; CHECK-NEXT: .byte	2
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	3
; CHECK-NEXT: .short	200

; CHECK-LABEL:{{^}}test_char:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	9
; CHECK-NEXT: .ascii	"test_char"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	1
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	1
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	4
; CHECK-NEXT: .ascii	"char"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	1
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_ushort2:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	12
; CHECK-NEXT: .ascii	"test_ushort2"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	7
; CHECK-NEXT: .ascii	"ushort2"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	4
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_int3:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	9
; CHECK-NEXT: .ascii	"test_int3"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	16
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	16
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	4
; CHECK-NEXT: .ascii	"int3"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_ulong4:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	11
; CHECK-NEXT: .ascii	"test_ulong4"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	32
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	32
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	6
; CHECK-NEXT: .ascii	"ulong4"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	10
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_half8:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	10
; CHECK-NEXT: .ascii	"test_half8"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	16
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	16
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"half8"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	5
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_float16:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	12
; CHECK-NEXT: .ascii	"test_float16"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	64
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	64
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	7
; CHECK-NEXT: .ascii	"float16"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	8
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_double16:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	13
; CHECK-NEXT: .ascii	"test_double16"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	128
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	128
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	8
; CHECK-NEXT: .ascii	"double16"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	11
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_pointer:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	12
; CHECK-NEXT: .ascii	"test_pointer"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"int *"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_image:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	10
; CHECK-NEXT: .ascii	"test_image"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	9
; CHECK-NEXT: .ascii	"image2d_t"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	2
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_sampler:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	12
; CHECK-NEXT: .ascii	"test_sampler"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	9
; CHECK-NEXT: .ascii	"sampler_t"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	3
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_queue:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	10
; CHECK-NEXT: .ascii	"test_queue"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	7
; CHECK-NEXT: .ascii	"queue_t"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_struct:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	11
; CHECK-NEXT: .ascii	"test_struct"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	8
; CHECK-NEXT: .ascii	"struct A"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_i128:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	9
; CHECK-NEXT: .ascii	"test_i128"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	16
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	4
; CHECK-NEXT: .ascii	"i128"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_multi_arg:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	14
; CHECK-NEXT: .ascii	"test_multi_arg"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	3
; CHECK-NEXT: .ascii	"int"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	6
; CHECK-NEXT: .ascii	"short2"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	3
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"char3"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	1
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_addr_space:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	15
; CHECK-NEXT: .ascii	"test_addr_space"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"int *"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"int *"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	2
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"int *"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	3
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_type_qual:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	14
; CHECK-NEXT: .ascii	"test_type_qual"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"int *"
; CHECK-NEXT: .byte	19
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"int *"
; CHECK-NEXT: .byte	17
; CHECK-NEXT: .byte	18
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"int *"
; CHECK-NEXT: .byte	20
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_access_qual:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	16
; CHECK-NEXT: .ascii	"test_access_qual"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	9
; CHECK-NEXT: .ascii	"image1d_t"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	2
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	9
; CHECK-NEXT: .ascii	"image2d_t"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	2
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	2
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	9
; CHECK-NEXT: .ascii	"image3d_t"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	2
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	3
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_reqd_wgs_vec_type_hint:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	27
; CHECK-NEXT: .ascii	"test_reqd_wgs_vec_type_hint"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	3
; CHECK-NEXT: .ascii	"int"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	21
; CHECK-NEXT: .long	1
; CHECK-NEXT: .long	2
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	23
; CHECK-NEXT: .long	3
; CHECK-NEXT: .ascii	"int"
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_wgs_hint_vec_type_hint:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	27
; CHECK-NEXT: .ascii	"test_wgs_hint_vec_type_hint"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	3
; CHECK-NEXT: .ascii	"int"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	22
; CHECK-NEXT: .long	8
; CHECK-NEXT: .long	16
; CHECK-NEXT: .long	32
; CHECK-NEXT: .byte	23
; CHECK-NEXT: .long	5
; CHECK-NEXT: .ascii	"uint4"
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_arg_ptr_to_ptr:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	19
; CHECK-NEXT: .ascii	"test_arg_ptr_to_ptr"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	6
; CHECK-NEXT: .ascii	"int **"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_arg_struct_contains_ptr:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	28
; CHECK-NEXT: .ascii	"test_arg_struct_contains_ptr"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	4
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	8
; CHECK-NEXT: .ascii	"struct B"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_arg_vector_of_ptr:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	22
; CHECK-NEXT: .ascii	"test_arg_vector_of_ptr"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	16
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	16
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	47
; CHECK-NEXT: .ascii	"global int* __attribute__((ext_vector_type(2)))"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	6
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

; CHECK-LABEL:{{^}}test_arg_unknown_builtin_type:
; CHECK: .section        .AMDGPU.runtime_metadata
; CHECK-NEXT: .byte	4
; CHECK-NEXT: .byte	6
; CHECK-NEXT: .long	29
; CHECK-NEXT: .ascii	"test_arg_unknown_builtin_type"
; CHECK-NEXT: .byte	7
; CHECK-NEXT: .byte	9
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	10
; CHECK-NEXT: .long	8
; CHECK-NEXT: .byte	11
; CHECK-NEXT: .long	11
; CHECK-NEXT: .ascii	"clk_event_t"
; CHECK-NEXT: .byte	13
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	14
; CHECK-NEXT: .short	0
; CHECK-NEXT: .byte	16
; CHECK-NEXT: .byte	0
; CHECK-NEXT: .byte	15
; CHECK-NEXT: .byte	1
; CHECK-NEXT: .byte	8
; CHECK-NEXT: .byte	5

define 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 {
  ret void
}

!1 = !{i32 0}
!2 = !{!"none"}
!3 = !{!"int"}
!4 = !{!""}
!5 = !{i32 undef, i32 1}
!6 = !{i32 1, i32 2, i32 4}
!7 = !{<4 x i32> undef, i32 0}
!8 = !{i32 8, i32 16, i32 32}
!9 = !{!"char"}
!10 = !{!"ushort2"}
!11 = !{!"int3"}
!12 = !{!"ulong4"}
!13 = !{!"half8"}
!14 = !{!"float16"}
!15 = !{!"double16"}
!16 = !{!"int *"}
!17 = !{!"image2d_t"}
!18 = !{!"sampler_t"}
!19 = !{!"queue_t"}
!20 = !{!"struct A"}
!21 = !{!"i128"}
!22 = !{i32 0, i32 0, i32 0}
!23 = !{!"none", !"none", !"none"}
!24 = !{!"int", !"short2", !"char3"}
!25 = !{!"", !"", !""}
!50 = !{i32 1, i32 2, i32 3}
!51 = !{!"int *", !"int *", !"int *"}
!60 = !{i32 1, i32 1, i32 1}
!61 = !{!"read_only", !"write_only", !"read_write"}
!62 = !{!"image1d_t", !"image2d_t", !"image3d_t"}
!70 = !{!"volatile", !"const restrict", !"pipe"}
!80 = !{!"int **"}
!81 = !{i32 1}
!82 = !{!"struct B"}
!83 = !{!"global int* __attribute__((ext_vector_type(2)))"}
!84 = !{!"clk_event_t"}
!opencl.ocl.version = !{!90}
!90 = !{i32 2, i32 0}
