dotgnu-libjit
[Top][All Lists]
Advanced

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

Re: [Libjit-developers] JIT_REG_INFO and alpha floating point numbers


From: Aleksey Demakov
Subject: Re: [Libjit-developers] JIT_REG_INFO and alpha floating point numbers
Date: Tue, 30 May 2006 14:36:23 +0700

Hi Thomas,

2006/5/30, Thomas Cort <address@hidden>:
Hello All,

As you have read on this list, I'm porting libjit to alpha for
Google's Summer of Code :) I'm working on jit-rules-alpha.h now,
specifically defining floating point registers in JIT_REG_INFO. On
alpha, floats are 32-bits and doubles are 64-bits. 1 float or 1 double
can be stored in a 64-bit floating point register. I'm assuming I
should OR JIT_REG_FLOAT32 and JIT_REG_FLOAT64? I was wondering if the
meaning of JIT_REG_NFLOAT could be clarified too.

JIT_TYPE_NFLOAT is the 'native' floating point type for a paltform.
For x86 this is 80-bit floating point type  the x87 processor works
internally with. JIT_REG_NFLOAT is the flag that marks registers
that are able to contain values of this type.

I would guess that for alpha NFLOAT is equal to FLOAT64. The
floating point registers should be marked with all 3 flags.

There is an instruction, implver, that can tell if the system is EV6
or higher. However, I'm wondering what should be done in libjit on
systems that do not have IEEE floating point. Someone could want no
software assistance (increased speed), but most people will want
software assistance. Should I make software assistance the default for
systems without hardware support (for example, call implver at runtime
and use software assistance on older systems), or should I determine
if libjit is being compiled with "-mieee" (gcc defines _IEEE_FP) and
enable software assistance if "-mieee" was enabled?


Probably ultimately libjit should perform system detection at run-time.

However I would suggest to skip this issue at first. That is initially make
libjit work on alphas with full fp support. Once this is done libjit could
be extended to support older alphas.

Regards,
Aleksey


reply via email to

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