The host decoder wrote each pixel with _mm_stream_si32 and ended with _mm_sfence, to keep the decoded frame out of the cache on its way to the GPU by DMA. The GPU now decodes CBF itself, so the host decoder only serves the CPU engines and the tests, and the project rule is no SIMD intrinsics. Plain stores; the values written are the same. CBFDecoderGPU_MatchesHost, CBFDecoderGPU_ShortStreamIsRefused, ImagePreprocessorGPU_StoredEncodingsMatchCPU and the CBF reader tests pass. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EizBKhTqrAYago9KJG3dA3