[Top][All Lists]
[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