diff --git a/rpcs3/Emu/RSX/Common/program_state_cache2.hpp b/rpcs3/Emu/RSX/Common/program_state_cache2.hpp index b1828a0e4a03..f433a6132881 100644 --- a/rpcs3/Emu/RSX/Common/program_state_cache2.hpp +++ b/rpcs3/Emu/RSX/Common/program_state_cache2.hpp @@ -4,6 +4,7 @@ #include "emmintrin.h" #include "immintrin.h" +#include "util/asm.hpp" template void program_state_cache::fill_fragment_constants_buffer(gsl::span dst_buffer, const RSXFragmentProgram &fragment_program, bool sanitize) const @@ -52,11 +53,11 @@ void program_state_cache::fill_fragment_constants_buffer(gsl::span const auto masked = _mm_and_si128(shuffled_vector, _mm_set1_epi32(0x7fffffff)); const auto valid = _mm_cmplt_epi32(masked, _mm_set1_epi32(0x7f800000)); const auto result = _mm_and_si128(shuffled_vector, valid); - _mm_stream_si128(std::bit_cast<__m128i*>(dst), result); + _mm_stream_si128(utils::bless<__m128i>(dst), result); } else { - _mm_stream_si128(std::bit_cast<__m128i*>(dst), shuffled_vector); + _mm_stream_si128(utils::bless<__m128i>(dst), shuffled_vector); } dst += 4;