Search found 2 matches

by katsu
2022-07-23, 13:49:46
Forum: Agner's CPU blog
Topic: inconsistent port usage about CALL vs PUSH&JMP
Replies: 2
Views: 59056

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...
by katsu
2022-07-23, 8:46:28
Forum: Agner's CPU blog
Topic: inconsistent port usage about CALL vs PUSH&JMP
Replies: 2
Views: 59056

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...