mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-31 05:30:11 +01:00
i965: Use standard SSE intrinsics instead of gcc built-ins.
Let's this file compile with clang. Reviewed-by: Frank Henigman <fjhenigman@google.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
52a4065493
commit
83649587c6
1 changed files with 7 additions and 5 deletions
|
|
@ -42,6 +42,10 @@
|
|||
#include "intel_mipmap_tree.h"
|
||||
#include "intel_blit.h"
|
||||
|
||||
#ifdef __SSSE3__
|
||||
#include <tmmintrin.h>
|
||||
#endif
|
||||
|
||||
#define FILE_DEBUG_FLAG DEBUG_TEXTURE
|
||||
|
||||
#define ALIGN_DOWN(a, b) ROUND_DOWN_TO(a, b)
|
||||
|
|
@ -174,13 +178,11 @@ err:
|
|||
static const uint8_t rgba8_permutation[16] =
|
||||
{ 2,1,0,3, 6,5,4,7, 10,9,8,11, 14,13,12,15 };
|
||||
|
||||
typedef char v16 __attribute__((vector_size(16)));
|
||||
|
||||
/* NOTE: dst must be 16 byte aligned */
|
||||
#define rgba8_copy_16(dst, src) \
|
||||
*(v16*)(dst) = __builtin_ia32_pshufb128( \
|
||||
(v16) __builtin_ia32_loadups((float*)(src)), \
|
||||
*(v16*) rgba8_permutation \
|
||||
*(__m128i *)(dst) = _mm_shuffle_epi8( \
|
||||
(__m128i) _mm_loadu_ps((float *)(src)), \
|
||||
*(__m128i *) rgba8_permutation \
|
||||
)
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue