From 2f7c4f6d12845e2f5be01285db86d5ba070c45ad Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 13 Jan 2014 18:04:28 +0000 Subject: [PATCH] (svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP) --- src/blitter/32bpp_anim_sse4.cpp | 2 +- src/blitter/32bpp_sse4.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/blitter/32bpp_anim_sse4.cpp b/src/blitter/32bpp_anim_sse4.cpp index 4ee66f544a..597c632417 100644 --- a/src/blitter/32bpp_anim_sse4.cpp +++ b/src/blitter/32bpp_anim_sse4.cpp @@ -173,7 +173,7 @@ bmno_full_transparency: Colour c0 = dst[0]; c0 = r0 == 0 ? c0 : c0map; c0 = m0 != 0 ? c0 : src0; - INSR32(c0.data, srcABCD, 0); + srcABCD = _mm_cvtsi32_si128(c0.data); const Colour src1 = src[1]; const Colour c1map = (this->LookupColourInPalette(r1).data & 0x00FFFFFF) | (src1.data & 0xFF000000); diff --git a/src/blitter/32bpp_sse4.cpp b/src/blitter/32bpp_sse4.cpp index 74f10e934b..a0ddf2b63b 100644 --- a/src/blitter/32bpp_sse4.cpp +++ b/src/blitter/32bpp_sse4.cpp @@ -57,8 +57,8 @@ inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel const __m128i tr_nom_base = TRANSPARENT_NOM_BASE; for (int y = bp->height; y != 0; y--) { - const Colour *src = src_rgba_line + META_LENGTH; Colour *dst = dst_line; + const Colour *src = src_rgba_line + META_LENGTH; if (mode == BM_COLOUR_REMAP) src_mv = src_mv_line; if (read_mode == RM_WITH_MARGIN) { @@ -109,7 +109,7 @@ inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel Colour c0 = 0; // Use alpha of 0 to keep dst as is. c0 = r0 == 0 ? c0 : c0map; c0 = m0 != 0 ? c0 : src0; - INSR32(c0.data, srcABCD, 0); + srcABCD = _mm_cvtsi32_si128(c0.data); const Colour src1 = src[1]; const uint m1 = (byte) (mvX2 >> 16);