Код: Выделить всё
void Dummy(uint64* dest, const size_t count)
{
for (size_t ii = 0; ii < count; ii += 8) {
*dest++ = (uint64)dest;
}
}
Код: Выделить всё
Dummy(unsigned long*, unsigned long):
cbz x1, .LBB0_7
...
.LBB0_7:
ret
Изменение цикла for на цикл while и другие формы, похоже, не имеет значения. Компиляторы УМНЫ!
И да, меня волнует эта единственная крошечная инструкция.
Подробнее здесь: https://stackoverflow.com/questions/791 ... er-be-zero