2 ms·
mov %rdx,%rcx Wouldn't this mov instruction be handled by the register renamer (Allocate/Rename/MoveElimination/ZeroIdiom) at essentially 'zero' cost? Yet clea
by CalChris 3y ago
mov %rdx,%rcx
Wouldn't this mov instruction be handled by the register renamer (Allocate/Rename/MoveElimination/ZeroIdiom) at essentially 'zero' cost? Yet clearly they're measuring a difference. I'll be curious what Agner Fog and Peter Cordes think.
Answer: renaming can fail if the operands aren't ready and it isn't zero cost, just less.
- dundarious 3y agoJust having to go through the hardware frontend is a cost. It's one of the reasons SIMD is fast: you go through the frontend 1 time for N lanes of data.
- bla3 3y agozeux posted this: https://gist.github.com/zeux/37f8f9dd7840ac0217ee862ba3a269fd https://gist.github.com/zeux/37f8f9dd7840ac0217ee862ba3a269f...