This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Calls to qp float lib out of sparcv9 head compiler
Richard Henderson <rth@redhat.com> writes:
> On Wed, Feb 27, 2002 at 03:49:32PM +0100, Olivier Hainque wrote:
> > As the sparc64 support has evolved a lot recently, are there known reasons
> > for this to still be enforced ?
>
> Not that I'm aware of.
OK, thanks.
After removing this bit (forcing 128 long doubles for -m64) and making
long doubles 64bit for VxWorks, the following code
static int sizeof_long_double = sizeof(long double);
static int sizeof_unsigned_long_long = sizeof(unsigned long long);
int main (void)
{
long double X = 1.0;
unsigned long long V2 = (unsigned long long) (X);
return 0;
}
still yields :
sizeof_long_double:
.long 8
sizeof_unsigned_long_long:
.long 8
main:
...
call _Qp_dtoq, 0
...
call _Qp_qtoux, 0
nop
AFAICS, this is because expand_fix finds ...
(define_expand "fixuns_trunctfdi2"
...
"TARGET_FPU && TARGET_ARCH64 && ! TARGET_HARD_QUAD"
"
{
...
emit_library_call_value (gen_rtx (SYMBOL_REF, Pmode, \"_Qp_qtoux\"),
operands[0], 0, DImode, 1,
XEXP (slot0, 0), Pmode);
DONE;
}")
Unfortunately, the _Qp_ functions are not available on VxWorks.
Would there be a simple way to take this into account ?
Thanks in advance for your help,
Kind Regards,
Olivier