diff --git a/src/common-tests/gsvector_yuvtorgb_test.cpp b/src/common-tests/gsvector_yuvtorgb_test.cpp index 63c95de03..684c14806 100644 --- a/src/common-tests/gsvector_yuvtorgb_test.cpp +++ b/src/common-tests/gsvector_yuvtorgb_test.cpp @@ -73,9 +73,9 @@ static void YUVToRGB_Scalar(const std::array& Crblk, const std::array crblk; - std::array cbblk; - std::array yblk; + alignas(VECTOR_ALIGNMENT) std::array crblk; + alignas(VECTOR_ALIGNMENT) std::array cbblk; + alignas(VECTOR_ALIGNMENT) std::array yblk; for (s16 i = -128; i < 128; i++) { for (u32 j = 0; j < 64; j++) @@ -91,10 +91,10 @@ TEST(GSVector, YUVToRGB) for (u32 j = 0; j < 64; j++) yblk[j] = l; - u32 rows[64]; + alignas(VECTOR_ALIGNMENT) u32 rows[64]; YUVToRGB_Scalar(crblk, cbblk, yblk, rows, false); - u32 rowv[64]; + alignas(VECTOR_ALIGNMENT) u32 rowv[64]; YUVToRGB_Vector(crblk, cbblk, yblk, rowv, false); ASSERT_EQ(std::memcmp(rows, rowv, sizeof(rows)), 0); @@ -112,9 +112,9 @@ u32 g_gsvector_yuvtorgb_temp[64]; TEST(GSVector, YUVToRGB_Scalar) { - std::array crblk; - std::array cbblk; - std::array yblk; + alignas(VECTOR_ALIGNMENT) std::array crblk; + alignas(VECTOR_ALIGNMENT) std::array cbblk; + alignas(VECTOR_ALIGNMENT) std::array yblk; for (s16 i = -128; i < 128; i++) { for (u32 j = 0; j < 64; j++) @@ -138,9 +138,9 @@ TEST(GSVector, YUVToRGB_Scalar) TEST(GSVector, YUVToRGB_Vector) { - std::array crblk; - std::array cbblk; - std::array yblk; + alignas(VECTOR_ALIGNMENT) std::array crblk; + alignas(VECTOR_ALIGNMENT) std::array cbblk; + alignas(VECTOR_ALIGNMENT) std::array yblk; for (s16 i = -128; i < 128; i++) { for (u32 j = 0; j < 64; j++) diff --git a/src/core/mdec.cpp b/src/core/mdec.cpp index 54bada107..74c2284b7 100644 --- a/src/core/mdec.cpp +++ b/src/core/mdec.cpp @@ -142,7 +142,7 @@ struct MDECState std::array iq_uv{}; std::array iq_y{}; - std::array scale_table{}; + alignas(VECTOR_ALIGNMENT) std::array scale_table{}; // blocks, for colour: 0 - Crblk, 1 - Cbblk, 2-5 - Y 1-4 alignas(VECTOR_ALIGNMENT) std::array, NUM_BLOCKS> blocks; @@ -950,7 +950,7 @@ bool MDEC::DecodeRLE_New(s16* blk, const u8* qt) static s16 IDCTRow(const s16* blk, const s16* idct_matrix) { // IDCT matrix is -32768..32767, block is -16384..16383. 4 adds can happen without overflow. - GSVector4i sum = GSVector4i::load(blk).madd_s16(GSVector4i::load(idct_matrix)).addp_s32(); + GSVector4i sum = GSVector4i::load(blk).madd_s16(GSVector4i::load(idct_matrix)).addp_s32(); return static_cast(((static_cast(sum.extract32<0>()) + static_cast(sum.extract32<1>())) + 0x20000) >> 18); }