Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

what is the reason we don't have pusha instruction in x86_64?

45 views
Skip to first unread message

Peter Cheung

unread,
Feb 4, 2013, 4:48:27 AM2/4/13
to
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.

thanks
from Peter (cmk...@hotmail.com)

Robert Wessel

unread,
Feb 4, 2013, 5:54:48 AM2/4/13
to
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.

Peter Cheung

unread,
Feb 4, 2013, 11:29:21 PM2/4/13
to
robert...@yahoo.com於 2013年2月4日星期一UTC+8下午6時54分48秒寫道:
thank you
0 new messages