| /* Copyright © 2023 Intel Corporation |
| * SPDX-License-Identifier: MIT |
| */ |
| |
| void |
| genX(libanv_memcpy)(global void *dst_base, |
| global void *src_base, |
| uint num_dwords, |
| uint dword_offset) |
| { |
| global void *dst = dst_base + 4 * dword_offset; |
| global void *src = src_base + 4 * dword_offset; |
| |
| if (dword_offset + 4 <= num_dwords) { |
| *(global uint4 *)(dst) = *(global uint4 *)(src); |
| } else if (dword_offset + 3 <= num_dwords) { |
| *(global uint3 *)(dst) = *(global uint3 *)(src); |
| } else if (dword_offset + 2 <= num_dwords) { |
| *(global uint2 *)(dst) = *(global uint2 *)(src); |
| } else if (dword_offset + 1 <= num_dwords) { |
| *(global uint *)(dst) = *(global uint *)(src); |
| } |
| } |