mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-04 10:18:31 +00:00
Further refine documentation
This commit is contained in:
parent
1bc3a25505
commit
548dcb9f08
27 changed files with 389 additions and 1478 deletions
|
@ -98,25 +98,37 @@ typedef float __m128_u _Vector_size(16) forcealign(1) mayalias;
|
|||
│ cosmopolitan § it's a trap! » sse » scalar ops ─╬─│┼
|
||||
╚────────────────────────────────────────────────────────────────────────────│*/
|
||||
|
||||
forceinline __m128 _mm_add_ss(__m128 m128_0, __m128 m128_1) {
|
||||
m128_0[0] += m128_1[0];
|
||||
return m128_0;
|
||||
}
|
||||
#define _mm_add_ss(m128_0, m128_1) \
|
||||
({ \
|
||||
__m128 a = m128_0; \
|
||||
__m128 b = m128_0; \
|
||||
a[0] += b[0]; \
|
||||
a; \
|
||||
})
|
||||
|
||||
forceinline __m128 _mm_sub_ss(__m128 m128_0, __m128 m128_1) {
|
||||
m128_0[0] -= m128_1[0];
|
||||
return m128_0;
|
||||
}
|
||||
#define _mm_sub_ss(m128_0, m128_1) \
|
||||
({ \
|
||||
__m128 a = m128_0; \
|
||||
__m128 b = m128_0; \
|
||||
a[0] -= b[0]; \
|
||||
a; \
|
||||
})
|
||||
|
||||
forceinline __m128 _mm_mul_ss(__m128 m128_0, __m128 m128_1) {
|
||||
m128_0[0] *= m128_1[0];
|
||||
return m128_0;
|
||||
}
|
||||
#define _mm_mul_ss(m128_0, m128_1) \
|
||||
({ \
|
||||
__m128 a = m128_0; \
|
||||
__m128 b = m128_0; \
|
||||
a[0] *= b[0]; \
|
||||
a; \
|
||||
})
|
||||
|
||||
forceinline __m128 _mm_div_ss(__m128 m128_0, __m128 m128_1) {
|
||||
m128_0[0] /= m128_1[0];
|
||||
return m128_0;
|
||||
}
|
||||
#define _mm_div_ss(m128_0, m128_1) \
|
||||
({ \
|
||||
__m128 a = m128_0; \
|
||||
__m128 b = m128_0; \
|
||||
a[0] /= b[0]; \
|
||||
a; \
|
||||
})
|
||||
|
||||
#define _mm_rcp_ss(M128) __builtin_ia32_rcpss((__v4sf)(M128)) /*~1/x*/
|
||||
#define _mm_sqrt_ss(M128) __builtin_ia32_sqrtss((__v4sf)(M128)) /*sqrt𝑥*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue