; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 < %s | FileCheck --check-prefixes=CHECK %s ; CHECK-LABEL: test_unaligned_to_eight: ; CHECK: .amdhsa_kernarg_size 264 define amdgpu_kernel void @test_unaligned_to_eight(i32 %four) { %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr() store volatile ptr addrspace(4) %implicitarg.ptr, ptr addrspace(1) undef ret void } ; CHECK-LABEL: test_aligned_to_eight: ; CHECK: .amdhsa_kernarg_size 264 define amdgpu_kernel void @test_aligned_to_eight(i64 %eight) { %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr() store volatile ptr addrspace(4) %implicitarg.ptr, ptr addrspace(1) undef ret void } ; CHECK-LABEL: amdhsa.kernels: ; CHECK: - .args: ; CHECK-NEXT: - .name: four ; CHECK-NEXT: .offset: 0 ; CHECK-NEXT: .size: 4 ; CHECK-NEXT: .value_kind: by_value ; CHECK-NEXT: - .offset: 8 ; CHECK-NEXT: .size: 4 ; CHECK-NEXT: .value_kind: hidden_block_count_x ; CHECK-NEXT: - .offset: 12 ; CHECK-NEXT: .size: 4 ; CHECK-NEXT: .value_kind: hidden_block_count_y ; CHECK-NEXT: - .offset: 16 ; CHECK-NEXT: .size: 4 ; CHECK-NEXT: .value_kind: hidden_block_count_z ; CHECK: .kernarg_segment_align: 8 ; CHECK-NEXT: .kernarg_segment_size: 264 ; CHECK-LABEL: .name: test_unaligned_to_eight ; CHECK: - .args: ; CHECK-NEXT: - .name: eight ; CHECK-NEXT: .offset: 0 ; CHECK-NEXT: .size: 8 ; CHECK-NEXT: .value_kind: by_value ; CHECK-NEXT: - .offset: 8 ; CHECK-NEXT: .size: 4 ; CHECK-NEXT: .value_kind: hidden_block_count_x ; CHECK-NEXT: - .offset: 12 ; CHECK-NEXT: .size: 4 ; CHECK-NEXT: .value_kind: hidden_block_count_y ; CHECK-NEXT: - .offset: 16 ; CHECK-NEXT: .size: 4 ; CHECK-NEXT: .value_kind: hidden_block_count_z ; CHECK: .kernarg_segment_align: 8 ; CHECK-NEXT: .kernarg_segment_size: 264 ; CHECK-LABEL: .name: test_aligned_to_eight declare ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr() !llvm.module.flags = !{!0} !0 = !{i32 1, !"amdgpu_code_object_version", i32 500}