2022-02-11 13:53:21 +01:00
|
|
|
/* SPDX-License-Identifier: Apache-2.0
|
2014-06-13 21:13:18 +02:00
|
|
|
* Copyright 2011-2013 Intel Corporation
|
2022-02-11 13:53:21 +01:00
|
|
|
* Modifications Copyright 2014-2022 Blender Foundation. */
|
2014-06-13 21:13:18 +02:00
|
|
|
|
2016-03-25 16:09:05 +01:00
|
|
|
#if (defined(WITH_KERNEL_SSE2)) || (defined(WITH_KERNEL_NATIVE) && defined(__SSE2__))
|
2014-06-17 00:22:10 +06:00
|
|
|
|
2014-06-17 01:00:43 +06:00
|
|
|
# define __KERNEL_SSE2__
|
2021-10-24 14:19:19 +02:00
|
|
|
# include "util/simd.h"
|
2014-06-13 21:13:18 +02:00
|
|
|
|
|
|
|
|
CCL_NAMESPACE_BEGIN
|
|
|
|
|
|
|
|
|
|
const __m128 _mm_lookupmask_ps[16] = {_mm_castsi128_ps(_mm_set_epi32(0, 0, 0, 0)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(0, 0, 0, -1)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(0, 0, -1, 0)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(0, 0, -1, -1)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(0, -1, 0, 0)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(0, -1, 0, -1)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(0, -1, -1, 0)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(0, -1, -1, -1)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(-1, 0, 0, 0)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(-1, 0, 0, -1)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(-1, 0, -1, 0)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(-1, 0, -1, -1)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(-1, -1, 0, 0)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(-1, -1, 0, -1)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(-1, -1, -1, 0)),
|
|
|
|
|
_mm_castsi128_ps(_mm_set_epi32(-1, -1, -1, -1))};
|
2014-06-16 23:34:50 +06:00
|
|
|
|
2014-06-13 21:13:18 +02:00
|
|
|
CCL_NAMESPACE_END
|
|
|
|
|
|
2014-06-17 01:00:43 +06:00
|
|
|
#endif // WITH_KERNEL_SSE2
|