Mercurial > vec
comparison src/impl/x86/mmx.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 |
---|---|
68 #define VEC_MMX_DEFINE_OPERATIONS_SIGN(sign, bits, size) \ | 68 #define VEC_MMX_DEFINE_OPERATIONS_SIGN(sign, bits, size) \ |
69 union v##sign##int##bits##x##size##_impl_data { \ | 69 union v##sign##int##bits##x##size##_impl_data { \ |
70 v##sign##int##bits##x##size vec; \ | 70 v##sign##int##bits##x##size vec; \ |
71 __m64 mmx; \ | 71 __m64 mmx; \ |
72 }; \ | 72 }; \ |
73 \ | |
74 VEC_STATIC_ASSERT(VEC_ALIGNOF(__m64) <= 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"); \ | |
75 VEC_STATIC_ASSERT(sizeof(__m64) <= sizeof(v##sign##int##bits##x##size), "vec: v" #sign "int" #bits "x" #size " needs to be expanded to fit intrinsic type size"); \ | |
76 \ | 73 \ |
77 static v##sign##int##bits##x##size v##sign##int##bits##x##size##_mmx_load_aligned(const vec_##sign##int##bits in[size]) \ | 74 static v##sign##int##bits##x##size v##sign##int##bits##x##size##_mmx_load_aligned(const vec_##sign##int##bits in[size]) \ |
78 { \ | 75 { \ |
79 v##sign##int##bits##x##size vec; \ | 76 v##sign##int##bits##x##size vec; \ |
80 memcpy(&vec, in, sizeof(vec)); \ | 77 memcpy(&vec, in, sizeof(vec)); \ |