diff --git a/projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp b/projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp index 569a516942..5319e85b12 100644 --- a/projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp +++ b/projects/clr/rocclr/runtime/device/rocm/rocvirtual.cpp @@ -1920,7 +1920,11 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, const // Align the LDS on the alignment requirement of type pointed to ldsUsage = amd::alignUp(ldsUsage, arg->pointeeAlignment_); argPtr = addArg(argPtr, &ldsUsage, arg->size_, arg->alignment_); - ldsUsage += *reinterpret_cast(srcArgPtr); + if (sizeof(uint64_t) == arg->size_) { + ldsUsage += *reinterpret_cast(srcArgPtr); + } else { + ldsUsage += *reinterpret_cast(srcArgPtr); + } break; } assert((arg->addrQual_ == ROC_ADDRESS_GLOBAL || arg->addrQual_ == ROC_ADDRESS_CONSTANT) &&