diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index 2ce973a394..96f99f8691 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -355,7 +355,7 @@ spu_imm_table_t::scale_table_t::scale_table_t() { for (s32 i = -155; i < 174; i++) { - m_data[i + 155] = _mm_set1_ps(static_cast(std::exp2(i))); + m_data[i + 155].vf = _mm_set1_ps(static_cast(std::exp2(i))); } } diff --git a/rpcs3/Emu/Cell/SPUThread.h b/rpcs3/Emu/Cell/SPUThread.h index 5ea86c7764..d84e8e6d68 100644 --- a/rpcs3/Emu/Cell/SPUThread.h +++ b/rpcs3/Emu/Cell/SPUThread.h @@ -388,14 +388,14 @@ struct spu_imm_table_t class scale_table_t { - std::array<__m128, 155 + 174> m_data; + std::array m_data; public: scale_table_t(); FORCE_INLINE __m128 operator [] (s32 scale) const { - return m_data[scale + 155]; + return m_data[scale + 155].vf; } } const scale;