mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
rework load_m128_from_u64a()
This commit is contained in:
parent
bcf40c5136
commit
e74b141e95
@ -176,7 +176,15 @@ static really_inline u64a movq(const m128 in) {
|
||||
/* another form of movq */
|
||||
static really_inline
|
||||
m128 load_m128_from_u64a(const u64a *p) {
|
||||
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
|
||||
/* unfortunately _mm_loadl_epi64() is best avoided as it seems to cause
|
||||
* trouble on some older compilers, possibly because it is misdefined to
|
||||
* take an m128 as its parameter */
|
||||
return _mm_set_epi64((__m64)0ULL, (__m64)*p);
|
||||
#else
|
||||
/* ICC doesn't like casting to __m64 */
|
||||
return _mm_loadl_epi64((const m128 *)p);
|
||||
#endif
|
||||
}
|
||||
|
||||
#define rshiftbyte_m128(a, count_immed) _mm_srli_si128(a, count_immed)
|
||||
|
Loading…
x
Reference in New Issue
Block a user