summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/video
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2016-07-12 15:50:24 +1000
committer Vas Crabb <vas@vastheman.com>2016-07-12 15:50:24 +1000
commitf45998872cb23c9a5143bbf108989c66db69bd99 (patch)
treef749423f284f3c652e346b49b1758dc3012eba10 /src/emu/video
parent91973008fafb20283a8660b333880570e2c99cff (diff)
rgbvmx: fix the last little endian issue
Diffstat (limited to 'src/emu/video')
-rw-r--r--src/emu/video/rgbvmx.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/emu/video/rgbvmx.h b/src/emu/video/rgbvmx.h
index e54aafe6727..e034261461e 100644
--- a/src/emu/video/rgbvmx.h
+++ b/src/emu/video/rgbvmx.h
@@ -421,8 +421,13 @@ public:
const VECU32 zero = { 0, 0, 0, 0 };
m_value = VECS32(vec_packs(m_value, m_value));
m_value = VECS32(vec_packsu(VECS16(m_value), VECS16(m_value)));
+#ifdef __LITTLE_ENDIAN__
+ m_value = VECS32(vec_mergeh(VECU8(m_value), VECU8(zero)));
+ m_value = VECS32(vec_mergeh(VECS16(m_value), VECS16(zero)));
+#else
m_value = VECS32(vec_mergeh(VECU8(zero), VECU8(m_value)));
m_value = VECS32(vec_mergeh(VECS16(zero), VECS16(m_value)));
+#endif
}
inline void sign_extend(const UINT32 compare, const UINT32 sign)