компилятор заменяет выражение вида x/6 на
MOVQ AX, CX
SARQ $63, AX
MOVQ AX, DX
MOVQ $-6148914691236517205, AX
MOVQ DX, BX
IMULQ CX
LEAQ (DX)(CX*1), AX
SARQ $2, AX
SUBQ BX, AX
у меня есть гипотеза, что если указываешь константу на которую делишь, то компилятор оптимизирует и это будет работать быстрее чем div, не смотря на то что инструкций больше
так может кто объяснить почему x/6 без div?
как работает? можно мне пояснить?
не давайте ему xchg rax,rax
о это же книга такая, а помнил что было гдето подобное за кормах
Обсуждают сегодня