[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lightning] About 32 and 64 bits registers
From: |
Paulo César Pereira de Andrade |
Subject: |
[Lightning] About 32 and 64 bits registers |
Date: |
Mon, 23 Aug 2010 20:44:21 -0300 |
User-agent: |
SquirrelMail/1.4.19 |
Hi,
How is it expected to handle proper sign/zero extension when there
are no named 8/16/32/64 bit registers, that is, there is no JIT_R0c,
JIT_R0s, JIT_R0i and/or JIT_R0l.
This has a nasty side effect that some operations must be sign/zero
extended, for example, when loading data from a memory location. But
then, some operations become somewhat hard to explain, for example:
jit_bltr_i LABEL, JIT_R0, IMMEDIATE
this should be understood as "treated JIT_R0 value as 32 bits, but
signed extend it, as well as immediate" ? or even better, only sign
extend to 64 bits if there is no 32 bits equivalent operation.
But to do an "optimized" operation, it must ensure that JIT_R0 is
actually holding a 64 bits value.
Or another example:
jit_movi_i JIT_R0 IMMEDIATE
this should be just an alias to jit_movi_l on 64 bits, or, better
saying, should be more like:
jit_movi_i JIT_R0 (cast_to_int_32)IMMEDIATE
Thanks,
Paulo