search for: indvbl_write64

Displaying 1 result from an estimated 1 matches for "indvbl_write64".

2018 May 24
0
X86 Intrinsics : _mm_storel_epi64/ _mm_loadl_epi64 with -m32
...-m32 and -msse4.2). The 64-bit load and 64-bit store operations are replaced with two 32-bit mov instructions, presumably due to the use of uint64_t type. If I use __m128i instead of uint64_t everywhere, then the read and write happen as 64-bit operations using the xmm registers as expected. void indvbl_write64(volatile void *p, uint64_t v) { __m128i tmp = _mm_loadl_epi64((__m128i const *)&v); _mm_storel_epi64((__m128i *)p, tmp); } uint64_t indivbl_read64 (volatile void *p) { __m128i tmp = _mm_loadl_epi64((__m128i const *)p); return *(uint64_t *)&tmp; } Options used...