1*7f9868f9SChangpeng Fang; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 --amdhsa-code-object-version=5 < %s | FileCheck --check-prefixes=CHECK %s 2*7f9868f9SChangpeng Fang 3*7f9868f9SChangpeng Fang 4*7f9868f9SChangpeng Fang; CHECK-LABEL: test_unaligned_to_eight: 5*7f9868f9SChangpeng Fang; CHECK: .amdhsa_kernarg_size 264 6*7f9868f9SChangpeng Fangdefine amdgpu_kernel void @test_unaligned_to_eight(i32 %four) { 7*7f9868f9SChangpeng Fang %implicitarg.ptr = call i8 addrspace(4)* @llvm.amdgcn.implicitarg.ptr() 8*7f9868f9SChangpeng Fang store volatile i8 addrspace(4)* %implicitarg.ptr, i8 addrspace(4)* addrspace(1)* undef 9*7f9868f9SChangpeng Fang ret void 10*7f9868f9SChangpeng Fang} 11*7f9868f9SChangpeng Fang 12*7f9868f9SChangpeng Fang 13*7f9868f9SChangpeng Fang; CHECK-LABEL: test_aligned_to_eight: 14*7f9868f9SChangpeng Fang; CHECK: .amdhsa_kernarg_size 264 15*7f9868f9SChangpeng Fangdefine amdgpu_kernel void @test_aligned_to_eight(i64 %eight) { 16*7f9868f9SChangpeng Fang %implicitarg.ptr = call i8 addrspace(4)* @llvm.amdgcn.implicitarg.ptr() 17*7f9868f9SChangpeng Fang store volatile i8 addrspace(4)* %implicitarg.ptr, i8 addrspace(4)* addrspace(1)* undef 18*7f9868f9SChangpeng Fang ret void 19*7f9868f9SChangpeng Fang} 20*7f9868f9SChangpeng Fang 21*7f9868f9SChangpeng Fang; CHECK-LABEL: amdhsa.kernels: 22*7f9868f9SChangpeng Fang; CHECK: - .args: 23*7f9868f9SChangpeng Fang; CHECK-NEXT: - .name: four 24*7f9868f9SChangpeng Fang; CHECK-NEXT: .offset: 0 25*7f9868f9SChangpeng Fang; CHECK-NEXT: .size: 4 26*7f9868f9SChangpeng Fang; CHECK-NEXT: .value_kind: by_value 27*7f9868f9SChangpeng Fang; CHECK-NEXT: - .offset: 8 28*7f9868f9SChangpeng Fang; CHECK-NEXT: .size: 4 29*7f9868f9SChangpeng Fang; CHECK-NEXT: .value_kind: hidden_block_count_x 30*7f9868f9SChangpeng Fang; CHECK-NEXT: - .offset: 12 31*7f9868f9SChangpeng Fang; CHECK-NEXT: .size: 4 32*7f9868f9SChangpeng Fang; CHECK-NEXT: .value_kind: hidden_block_count_y 33*7f9868f9SChangpeng Fang; CHECK-NEXT: - .offset: 16 34*7f9868f9SChangpeng Fang; CHECK-NEXT: .size: 4 35*7f9868f9SChangpeng Fang; CHECK-NEXT: .value_kind: hidden_block_count_z 36*7f9868f9SChangpeng Fang; CHECK: .kernarg_segment_align: 8 37*7f9868f9SChangpeng Fang; CHECK-NEXT: .kernarg_segment_size: 264 38*7f9868f9SChangpeng Fang; CHECK-LABEL: .name: test_unaligned_to_eight 39*7f9868f9SChangpeng Fang 40*7f9868f9SChangpeng Fang; CHECK: - .args: 41*7f9868f9SChangpeng Fang; CHECK-NEXT: - .name: eight 42*7f9868f9SChangpeng Fang; CHECK-NEXT: .offset: 0 43*7f9868f9SChangpeng Fang; CHECK-NEXT: .size: 8 44*7f9868f9SChangpeng Fang; CHECK-NEXT: .value_kind: by_value 45*7f9868f9SChangpeng Fang; CHECK-NEXT: - .offset: 8 46*7f9868f9SChangpeng Fang; CHECK-NEXT: .size: 4 47*7f9868f9SChangpeng Fang; CHECK-NEXT: .value_kind: hidden_block_count_x 48*7f9868f9SChangpeng Fang; CHECK-NEXT: - .offset: 12 49*7f9868f9SChangpeng Fang; CHECK-NEXT: .size: 4 50*7f9868f9SChangpeng Fang; CHECK-NEXT: .value_kind: hidden_block_count_y 51*7f9868f9SChangpeng Fang; CHECK-NEXT: - .offset: 16 52*7f9868f9SChangpeng Fang; CHECK-NEXT: .size: 4 53*7f9868f9SChangpeng Fang; CHECK-NEXT: .value_kind: hidden_block_count_z 54*7f9868f9SChangpeng Fang; CHECK: .kernarg_segment_align: 8 55*7f9868f9SChangpeng Fang; CHECK-NEXT: .kernarg_segment_size: 264 56*7f9868f9SChangpeng Fang; CHECK-LABEL: .name: test_aligned_to_eight 57*7f9868f9SChangpeng Fang 58*7f9868f9SChangpeng Fangdeclare i8 addrspace(4)* @llvm.amdgcn.implicitarg.ptr() 59