#include #include static unsigned read_mapped_register_32( unsigned volatile const* address, ptrdiff_t index ) { unsigned volatile const* p = address + index; return *p; } static __m64 read_mapped_register_64( __m64 volatile const* address, ptrdiff_t index ) { __m64 volatile const* p = address + index; return *p; } static __m128 read_mapped_register_128( __m128 volatile const* address, ptrdiff_t index ) { __m128 volatile const* p = address + index; return _mm_loadu_ps( p ); } void unused_read_32_with_side_effects( unsigned volatile const* address, ptrdiff_t index ) { read_mapped_register_32( address, index ); } void unused_read_64_with_side_effects( __m64 volatile const* address, ptrdiff_t index ) { read_mapped_register_64( address, index );} void unused_read_128_with_side_effects( __m128 volatile const* address, ptrdiff_t index ) { read_mapped_register_128( address, index ); }