Comment Comment by stassats The tricks to avoid multiplication (and division) are probably worth a whole post. x * 6: lea eax, [rdi+rdi*2] add eax, eax x * 7: lea eax, [0+rdi*8] sub eax, edi x * 11: lea eax, [rdi+rdi*4] lea eax, [rdi+rax*2] But with -Os you get imul eax, edi, 6And on modern CPUs multiplication might not be actually all that slow (but there may be fewer multiply units). parent stassats 11 months ago
And on modern CPUs multiplication might not be actually all that slow (but there may be fewer multiply units).