On Mon, 4 Feb 2013 01:48:27 -0800 (PST), Peter Cheung
<
cmk...@gmail.com> wrote:
>hi all
> what is the reason we don't have pusha instruction in x86_64? They think it is not useful? but i think it is very useful.
Usage of those in 16 or 32 bit mode is pretty darn rare. They are, in
fact, not very useful. They either push too much stuff (and cannot,
for example, be used in typical function prologs an epilogs), or not
enough stuff - in that they don't push any of the floating point or
SIMD registers.
Even if you kept similar semantics in 64-bit mode, you'd have to push
four times as much stuff.
In addition, AMD was clearly wanting to prune out some stuff from the
single byte opcode space for possible future use, and the 64-bit
transition was an obvious place to do it. That's also why we lost the
decimal instructions, for example.