[M3devel] __int128 coming to gcc
Tony Hosking
hosking at cs.purdue.edu
Thu Jan 21 01:03:01 CET 2010
Yes, exactly.
Antony Hosking | Associate Professor | Computer Science | Purdue University
305 N. University Street | West Lafayette | IN 47907 | USA
Office +1 765 494 6001 | Mobile +1 765 427 5484
On 20 Jan 2010, at 11:30, hendrik at topoi.pooq.com wrote:
> On Wed, Jan 20, 2010 at 11:20:03AM +0000, Jay K wrote:
>>
>> Ok with changing LONGINT to be __int128, *but*
>>
>> you really should not change it with a compiler flag.
>>
>> For any given platform, "basics" like this should not change meaning.
>>
>> It makes it such that you can't link code safely.
>>
>>
>>
>>
>>
>> Basically, "platform" or "target" should map to one "ABI".
>>
>>
>>
>>
>>
>> I really kind of like what I proposed earlier.
>>
>> Let the user define things.
>>
>> TYPE INT64 = BITS 64 FOR INTEGER;
>>
>> TYPE INT128 = BITS 128 FOR INTEGER;
>>
>>
>> TYPE INT256 = BITS 256 FOR INTEGER;
>>
>>
>> (* either an error, or the compiler generates calls to multi-precision library *)
>
> Well, with INTEGER being defined as the type for efficient integer
> arithmetic, you's have to say
>
> TYPE INT64 = BITS 64 FOR LONGINT;
>
> TYPE INT128 = BITS 128 FOR LONGINT;
>
>
>
> TYPE INT256 = BITS 256 FOR LONGINT;
>
> and on many current machines, file offset should then be defined as
> BITS64 instead of LONGINT.
>
> -- hendrik
>
>> This is btw why the user thread stuff should be either 1) a runtime alterable decision
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100120/db678408/attachment-0002.html>
More information about the M3devel
mailing list