aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-02-19 21:32:51 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-07-17 19:20:00 +0300
commitf6f5644212ecfd54238e817dc6771c7d57b38ba8 (patch)
tree7b53ff23eef6ea66d684e78c22d12ebc1d8655bf
parent2181d8f2abc977fa12ed72d9bd8369db9370dae8 (diff)
downloadmeson-f6f5644212ecfd54238e817dc6771c7d57b38ba8.zip
meson-f6f5644212ecfd54238e817dc6771c7d57b38ba8.tar.gz
meson-f6f5644212ecfd54238e817dc6771c7d57b38ba8.tar.bz2
Fix MMX on 32 bit x86.
-rw-r--r--test cases/common/139 simd/simd_mmx.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/test cases/common/139 simd/simd_mmx.c b/test cases/common/139 simd/simd_mmx.c
index 6a959db..17f42dd 100644
--- a/test cases/common/139 simd/simd_mmx.c
+++ b/test cases/common/139 simd/simd_mmx.c
@@ -44,7 +44,11 @@ void increment_mmx(float arr[4]) {
__m64 packed = _mm_set_pi16(arr[3], arr[2], arr[1], arr[0]);
__m64 incr = _mm_set1_pi16(1);
__m64 result = _mm_add_pi16(packed, incr);
- int64_t unpacker = _m_to_int64(result);
+ /* Should be
+ * int64_t unpacker = _m_to_int64(result);
+ * but it does not exist on 32 bit platforms for some reason.
+ */
+ int64_t unpacker = (int64_t)(result);
_mm_empty();
for(i=0; i<4; i++) {
arr[i] = (float)(unpacker & ((1<<16)-1));