summaryrefslogtreecommitdiffstats
path: root/graphics/Blender/0001-Cycles-Fix-bad-register-cast-in-sseb.patch
blob: a4abe36c4944d1ddb315654843d05c4a49894b27 (plain)
From be587d76efff6610f3b6d65cf42f1ee31ec3bdee Mon Sep 17 00:00:00 2001
From: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Wed, 28 Mar 2018 10:34:31 +0200
Subject: [PATCH] Cycles: Fix bad register cast in sseb

This is currently unused code, but causes gcc-8 to fail.
---
 intern/cycles/util/util_sseb.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/intern/cycles/util/util_sseb.h b/intern/cycles/util/util_sseb.h
index 93c22aafdcd..977976c3fc0 100644
--- a/intern/cycles/util/util_sseb.h
+++ b/intern/cycles/util/util_sseb.h
@@ -119,7 +119,7 @@ __forceinline const sseb unpacklo( const sseb& a, const sseb& b ) { return _mm_u
 __forceinline const sseb unpackhi( const sseb& a, const sseb& b ) { return _mm_unpackhi_ps(a, b); }
 
 template<size_t i0, size_t i1, size_t i2, size_t i3> __forceinline const sseb shuffle( const sseb& a ) {
-	return _mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0));
+	return _mm_castsi128_ps(_mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0)));
 }
 
 template<> __forceinline const sseb shuffle<0, 1, 0, 1>( const sseb& a ) {
-- 
2.13.7