Potrzebuję przesunąć w prawo liczbę typu __m128i i używam do tego:
Co prawda _mm_srl_epi64 nie potrafi przesunąć liczby 128 bitowej, przesuwa dwie liczby 64 bitowe, które są w __m128i. To mógłbym zrobić bez tych instrukcji. Niemniej zastanawia mnie coś innego. Jako drugi argument _mm_srl_epi64 przyjmuje __m128i count. I o liczbę bitów równą count przesuwamy pierwszą liczbę __m128i a. Ale po co count ma być aż 128-bitową liczbą? Maksymalnie i tak możemy przesunąć liczbę o 64 bity. Wpisywanie count większego niż 64 nie ma sensu. Tymczasem oni chcą by count był liczbą __m128i. Jaki to ma sens? A może jest coś czego nie rozumiem w całym tym przesunięciu i ma to swoje uzasadnienie?