Как можно сделать идеальное выравнивание ? К примеру
int AlignA = (int)Source & 15; // = 4
int AlignB = (int)Dest & 15; // = 3
Что бы Source и Dest выровнялись до X & 15 == 0 и можно было конечный результат проверить потом
Пишу свой Move с использованием SSE. По этому задался таким вопросом.
Вот код который получился на данный момент https://github.com/NyaSik/TestNove/blob/master/MoveSSE.c
int AlignSS = (int)Source & 15;
if(AlignSS == ((int)dest & 15)) {
if(AlignSS) {
AlignSS = 16 - AlignSS;
switch(AlignSS) {
MoveSSE(16 * 0 + 1, 0, 1, dest, Source);
}
dest += AlignSS;
Source += AlignSS;
len -= AlignSS;
}
MoveLen(dest, Source, len, 1);
} else {
MoveLen(dest, Source, len, 0);
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники