diff --git a/hipamd/include/hip/amd_detail/amd_warp_functions.h b/hipamd/include/hip/amd_detail/amd_warp_functions.h index 9b268b5121..1e9eba8920 100644 --- a/hipamd/include/hip/amd_detail/amd_warp_functions.h +++ b/hipamd/include/hip/amd_detail/amd_warp_functions.h @@ -89,7 +89,7 @@ __device__ inline int __shfl(int var, int src_lane, int width = warpSize) { int self = __lane_id(); - int index = src_lane + (self & ~(width-1)); + int index = (src_lane & (width - 1)) + (self & ~(width-1)); return __builtin_amdgcn_ds_bpermute(index<<2, var); } __device__