Search found 2 matches
- 2022-07-23, 13:49:46
- Forum: Agner's CPU blog
- Topic: inconsistent port usage about CALL vs PUSH&JMP
- Replies: 2
- Views: 70834
Re: inconsistent port usage about CALL vs PUSH&JMP
Call [m] is similar to mov r, [m] call r It is using the address generation units (p237) twice, once for reading m and once for storing the return address on the stack. call instructions and return instructions are usually tested together to avoid messing up the return stack buffer. It may be diffi...
- 2022-07-23, 8:46:28
- Forum: Agner's CPU blog
- Topic: inconsistent port usage about CALL vs PUSH&JMP
- Replies: 2
- Views: 70834
inconsistent port usage about CALL vs PUSH&JMP
Hi According to latest Agner Fog's instruction table, the `CALL m` instruction uses `2p237 p4 p6`(take Skylake as example), as far as I can know, `CALL m` should be similar to `PUSH RIP; JMP m`, however as the table described, `PUSH r` uses `p237 p4`, `JMP m` uses `p23 p6`, so the final port usage s...