Re: A89: TI-GCC help needed


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

Re: A89: TI-GCC help needed




Someone could write a C header file for this library... I haven't checked that
much but it's for the 92 and I don't think the source is included :(

http://www.ticalc.org/pub/92/asm/libs/fargo/ffp68343.zip

 / Niklas Brunlid
Check out Prosit for the TI-89 / TI-92+ at http://prosit.ticalc.org
Random PQF Quote follows:

"I can explain it in Dog, but you only listen in Human."
        -- Gaspode the wonder dog
           (Terry Pratchett, Moving Pictures)

----- Original Message -----
From: Zoltan Kocsi <zoltan@bendor.com.au>
To: <assembly-89@lists.ticalc.org>
Sent: Friday, November 05, 1999 11:07 AM
Subject: Re: A89: TI-GCC help needed


>
> Harry Tuttle writes:
>
>  >   Here is a silly question.  Gcc has to support compilation to a 68k
without
>  > a coprossor right?  Why can't one just use the right switch to generate
code
>  > for a 68k w/o a coporssor.  Then you could get to use floats in their full
>  > glory.  Right?
>
> Well, the question is not silly. If you have a coprocessor then all
> double and floats are treated by that so the compiler can directly
> utilise its capabilities. You can tell the compiler not to do so,
> as Robin Kirkman writes:
>
>  ]
>  ] Actually, there -is- a software float flag you can pass to gcc.
>  ] the flag is -msoft-float
>  ]
>
> Now, a few things to clarify:
>
> -msoft-float instructs the compiler not to generate coprocessor
> instructions, that is, when you want to add two double numbers,
> it will not generate instructions like
>
>   fadd.d f0,fp1
>
> Since the 68000 does not have a coprocessor interface, nor does it
> have a proper exception model, when you compile to 68000 gcc
> will automaticaly turn -msoft-float on.
>
> This means that the question is still not answered. OK, gcc will not
> generate fadd and fmul and alike, but what will it do if it has to add
> two floats or doubles ?
>
> Well, it will assume that there are functions in a library which will
> add two doubles or floats, or multiply them, or convert them between
> each other or integers and all sort of similar stuff. It will generate
> calls for them. At link time you will get unresolved symbol errors for
> functions like __muldf3 and alike. These functions are *not* supplied
> with the compiler, you have to get them from any place you like. There
> are other such support functions, for example, the 68000 can not
> divide two longs. When you have a long * long in your C source, it
> will generate a call to a function called __mulsi3.
> Now the basic 68000 gcc support library (that is, everything except long
> longs and floatpoint) is quite simple and can probably be found on the
> Net. (If not, you can hack it together in two days.) Floats are a
> different kettle of fish, especially if you are targeting for IEEE
> compliance.
>
> This is what you (and others) are lacking: a basic float point C
> support library for gcc. I do not know any freely available such
> package (yet).
>
> Regards,
>
> Zoltan



Follow-Ups: References: