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

Re: Re: Re: Re: [f-cpu] GCC 3.1 for F-CPU port



hi,

>De: "Antoine"
>
>>>I meant e.g. 128-bit registers could be used for 2*64, 4*32,
>>>8*16 or 16*8, but not for a single 128-bit integer/pointer.
>>
>> oh, _that_ old debate ...
>
>Sorry, I don't mean to spawn it again if it already took place ;)

don't worry.

>Just for information : are some manufacturers beginning
>to design or think about generic-purpose 128-bit chips ?

i think so.

>> but then why would someone be kept from using a "whole"
>> register for holding a bitmask (for video, or whatever)
>> or even an IPv6 address, or things like that ?
>> integers are not the only data types out there ...
>
>The question is not really whether it's useful or not,
>but whether these uses are critical enough to justify
>some complication on the compiler & developer side.

well, what is complex ? a register is a collection of
bits, that can be grouped in many ways. Some are supported
directly, others can be "emulated", and in this last case,
having access to the register size in important (ie, 128 bits
for IPv6) without being bound to integer types. Shifts and
rotations are very useful for a lot of applications, not
only for "numbers" (integer or FP).

>As you say, bitmasks and IPv6 addresses can be stored
>as SIMD or even in separate registers.
"separate" ?

> The only critical
>use of large integers may be for arithmetical operations,
>because it is much simpler to do a 128-bit add/mul,
>than several 64-bit adds/muls to emulate it.

The whole point is to not think "1 register <=> 1 number".
SIMD is one way, but there are others.
Some operations make sense for certain types, but
generic things like ROP2 or SHL have broader uses.

ok, i ranted enough for today ;-)

YG

*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/