Author: arsenm Date: Wed Aug 24 14:11:52 2016 New Revision: 279656 URL: http://llvm.org/viewvc/llvm-project?rev=279656&view=rev Log: amdgcn: Also correct get_local_size type for HSA
Modified: libclc/trunk/amdgcn-amdhsa/lib/workitem/get_local_size.ll Modified: libclc/trunk/amdgcn-amdhsa/lib/workitem/get_local_size.ll URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/amdgcn-amdhsa/lib/workitem/get_local_size.ll?rev=279656&r1=279655&r2=279656&view=diff ============================================================================== --- libclc/trunk/amdgcn-amdhsa/lib/workitem/get_local_size.ll (original) +++ libclc/trunk/amdgcn-amdhsa/lib/workitem/get_local_size.ll Wed Aug 24 14:11:52 2016 @@ -1,6 +1,6 @@ declare i8 addrspace(2)* @llvm.amdgcn.dispatch.ptr() #0 -define i32 @get_local_size(i32 %dim) #1 { +define i64 @get_local_size(i32 %dim) #1 { %dispatch_ptr = call noalias nonnull dereferenceable(64) i8 addrspace(2)* @llvm.amdgcn.dispatch.ptr() %dispatch_ptr_i32 = bitcast i8 addrspace(2)* %dispatch_ptr to i32 addrspace(2)* %xy_size_ptr = getelementptr inbounds i32, i32 addrspace(2)* %dispatch_ptr_i32, i64 1 @@ -13,19 +13,22 @@ define i32 @get_local_size(i32 %dim) #1 x_dim: %x_size = and i32 %xy_size, 65535 - ret i32 %x_size + %x_size.ext = zext i32 %x_size to i64 + ret i64 %x_size.ext y_dim: %y_size = lshr i32 %xy_size, 16 - ret i32 %y_size + %y_size.ext = zext i32 %y_size to i64 + ret i64 %y_size.ext z_dim: %z_size_ptr = getelementptr inbounds i32, i32 addrspace(2)* %dispatch_ptr_i32, i64 2 %z_size = load i32, i32 addrspace(2)* %z_size_ptr, align 4, !invariant.load !0, !range !1 - ret i32 %z_size + %z_size.ext = zext i32 %z_size to i64 + ret i64 %z_size.ext default: - ret i32 1 + ret i64 1 } attributes #0 = { nounwind readnone } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits