comparison src/impl/x86/sse2.c @ 35:99e4539f922f

Backed out changeset e49e70f7012f
author Paper <paper@tflc.us>
date Fri, 25 Apr 2025 17:40:51 -0400
parents bf6ad516f1e6
children
comparison
equal deleted inserted replaced
34:8b5e0974fd41 35:99e4539f922f
145 #define VEC_SSE2_DEFINE_OPERATIONS_SIGN(sign, bits, size) \ 145 #define VEC_SSE2_DEFINE_OPERATIONS_SIGN(sign, bits, size) \
146 union v##sign##int##bits##x##size##_impl_data { \ 146 union v##sign##int##bits##x##size##_impl_data { \
147 v##sign##int##bits##x##size vec; \ 147 v##sign##int##bits##x##size vec; \
148 __m128i sse; \ 148 __m128i sse; \
149 }; \ 149 }; \
150 \
151 VEC_STATIC_ASSERT(VEC_ALIGNOF(__m128i) <= VEC_ALIGNOF(v##sign##int##bits##x##size), "vec: v" #sign "int" #bits "x" #size " alignment needs to be expanded to fit intrinsic type size"); \
152 VEC_STATIC_ASSERT(sizeof(__m128i) <= sizeof(v##sign##int##bits##x##size), "vec: v" #sign "int" #bits "x" #size " needs to be expanded to fit intrinsic type size"); \
153 \ 150 \
154 v##sign##int##bits##x##size v##sign##int##bits##x##size##_sse2_load_aligned(const vec_##sign##int##bits in[size]) \ 151 v##sign##int##bits##x##size v##sign##int##bits##x##size##_sse2_load_aligned(const vec_##sign##int##bits in[size]) \
155 { \ 152 { \
156 union v##sign##int##bits##x##size##_impl_data vec; \ 153 union v##sign##int##bits##x##size##_impl_data vec; \
157 vec.sse = _mm_load_si128((const __m128i *)in); \ 154 vec.sse = _mm_load_si128((const __m128i *)in); \