Mercurial > vec
comparison src/impl/x86/sse41.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 |
|---|---|
| 33 union v##sign##int32x4_impl_data { \ | 33 union v##sign##int32x4_impl_data { \ |
| 34 v##sign##int32x4 vec; \ | 34 v##sign##int32x4 vec; \ |
| 35 __m128i sse; \ | 35 __m128i sse; \ |
| 36 }; \ | 36 }; \ |
| 37 \ | 37 \ |
| 38 VEC_STATIC_ASSERT(VEC_ALIGNOF(__m128i) <= VEC_ALIGNOF(v##sign##int32x4), "vec: v" #sign "int32x4 alignment needs to be expanded to fit intrinsic type size"); \ | |
| 39 VEC_STATIC_ASSERT(sizeof(__m128i) <= sizeof(v##sign##int32x4), "vec: v" #sign "int32x4 needs to be expanded to fit intrinsic type size"); \ | |
| 40 \ | |
| 41 static v##sign##int32x4 v##sign##int32x4_sse41_mul(v##sign##int32x4 vec1, v##sign##int32x4 vec2) \ | 38 static v##sign##int32x4 v##sign##int32x4_sse41_mul(v##sign##int32x4 vec1, v##sign##int32x4 vec2) \ |
| 42 { \ | 39 { \ |
| 43 union v##sign##int32x4_impl_data *vec1d = (union v##sign##int32x4_impl_data *)&vec1; \ | 40 union v##sign##int32x4_impl_data *vec1d = (union v##sign##int32x4_impl_data *)&vec1; \ |
| 44 union v##sign##int32x4_impl_data *vec2d = (union v##sign##int32x4_impl_data *)&vec2; \ | 41 union v##sign##int32x4_impl_data *vec2d = (union v##sign##int32x4_impl_data *)&vec2; \ |
| 45 \ | 42 \ |
