From 2273a1dbdc3bea13fa0ebf7edd517e46a887adf6 Mon Sep 17 00:00:00 2001 From: Saleel Kudchadker Date: Tue, 12 Nov 2024 20:36:43 +0000 Subject: [PATCH] SWDEV-497886 - Fix unaligned size copy for kernel args Change-Id: If6675b98178aeb35f376d6994555cbf941b048c3 --- rocclr/device/rocm/rocvirtual.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rocclr/device/rocm/rocvirtual.cpp b/rocclr/device/rocm/rocvirtual.cpp index f5957f6851..cfec1ecbd2 100644 --- a/rocclr/device/rocm/rocvirtual.cpp +++ b/rocclr/device/rocm/rocvirtual.cpp @@ -3115,6 +3115,13 @@ static inline void nontemporalMemcpy( _mm_stream_si32(reinterpret_cast(dst)++, *reinterpret_cast(src)++); } + + size = size % sizeof(int); + // Copy remaining bytes for unaligned size + std::memcpy(dst, src, size); + + // Add memory fence + _mm_sfence(); #else std::memcpy(dst, src, size); #endif