[LLVMdev] JVM Backend
David Roberts
d at vidr.cc
Sun Nov 29 18:10:31 PST 2009
Hi Duncan,
> for funky sized integers, the most important operations to support are
> loads and stores, shifts and logical operations (and, or, xor). These
> are the ones that the optimizers like to introduce most. The logical
> operations are straightforward. Loads and stores of iN are equivalent
> to using memcpy of (N+7)/8 bytes from memory to wherever you are keeping
> the value (for a load), or the reverse for a store, so that's pretty easy
> as well [this assumes that you set things up right so that endianness is
> the same in memory and in "registers"]. Shifts are the most complicated,
> but still pretty simple.
Thanks for the tip :) - I'll look into adding support for these.
--
David Roberts
http://da.vidr.cc/
On Sun, Nov 29, 2009 at 20:06, Duncan Sands <baldrick at free.fr> wrote:
> Hi David,
>
>> No, structs are supported. The only unsupported types at the moment
>> (as far as I am aware) are things like i31 and f80.
>
> for funky sized integers, the most important operations to support are
> loads and stores, shifts and logical operations (and, or, xor). These
> are the ones that the optimizers like to introduce most. The logical
> operations are straightforward. Loads and stores of iN are equivalent
> to using memcpy of (N+7)/8 bytes from memory to wherever you are keeping
> the value (for a load), or the reverse for a store, so that's pretty easy
> as well [this assumes that you set things up right so that endianness is
> the same in memory and in "registers"]. Shifts are the most complicated,
> but still pretty simple.
>
> Ciao,
>
> Duncan.
>
More information about the llvm-dev
mailing list