qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Alpha support


From: Falk Hueffner
Subject: Re: [Qemu-devel] Alpha support
Date: 28 Apr 2003 23:59:26 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.5 (cabbage)

Hi,

it's me again :)

The easiest I could think of is to declare for example

void OPPROTO op_jb_cc(void)
{
    if (cc_table[CC_OP].compute_c())
        EIP = PARAM1;
    else
        EIP = PARAM2;
    FORCE_RET();
}

as

void OPPROTO op_jb_cc(PARAMS2)
{
    if (cc_table[CC_OP].compute_c())
        EIP = PARAM1;
    else
        EIP = PARAM2;
    FORCE_RET();
}

and

#ifdef __alpha__
#define PARAMS2 int a0, int a1
#define PARAM1 a0
#define PARAM2 a1
#else
#define PARAMS2 void
#endif

and emit C code to dyngen_code that will manually emit instructions to
set up a0 and a1. Added bonus is that a jump gets converted to a
conditional move :) Does that sound like a good idea?

-- 
        Falk




reply via email to

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