[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


  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


reply via email to

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