qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] 64-bit target


From: Johan Rydberg
Subject: Re: [Qemu-devel] 64-bit target
Date: Sun, 29 Jun 2003 23:28:02 +0200

Fabrice Bellard <address@hidden> wrote:

: You can just use two parameters and load two 32 bit values.

Declaring T0 as a long long, and trying to set it to an immediate
value results in the following code:  Which is a bit of an overhead
I think :)

void OPPROTO
op_movdi_t0_uimm (void)
{
  34:   83 ec 14                sub    $0x14,%esp
  T0 = (unsigned long long) (PARAM1 << 32 | PARAM2);
  37:   b8 00 00 00 00          mov    $0x0,%eax
                        38: R_386_32    __op_param1
  3c:   89 04 24                mov    %eax,(%esp,1)
  3f:   99                      cltd   
  40:   8b 04 24                mov    (%esp,1),%eax
  43:   89 54 24 04             mov    %edx,0x4(%esp,1)
  47:   89 c2                   mov    %eax,%edx
  49:   31 c0                   xor    %eax,%eax
  4b:   89 04 24                mov    %eax,(%esp,1)
  4e:   b8 00 00 00 00          mov    $0x0,%eax
                        4f: R_386_32    __op_param2
  53:   89 54 24 04             mov    %edx,0x4(%esp,1)
  57:   99                      cltd   
  58:   89 44 24 08             mov    %eax,0x8(%esp,1)
  5c:   89 54 24 0c             mov    %edx,0xc(%esp,1)
  60:   8b 04 24                mov    (%esp,1),%eax
  63:   8b 54 24 04             mov    0x4(%esp,1),%edx
  67:   0b 44 24 08             or     0x8(%esp,1),%eax
  6b:   0b 54 24 0c             or     0xc(%esp,1),%edx
  6f:   89 c6                   mov    %eax,%esi
  71:   89 d7                   mov    %edx,%edi
}
  73:   83 c4 14                add    $0x14,%esp
  76:   c3                      ret    
  77:   90                      nop    


-- 
Johan Rydberg, Free Software Developer, Sweden
http://rtmk.sf.net | http://www.nongnu.org/guss/

Playing Track No03




reply via email to

[Prev in Thread] Current Thread [Next in Thread]