This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Better handling for multi-word values?


>>>>> Richard Henderson writes:

Richard> I'm willing to be proven wrong, but my take on this issue is
Richard> that we should just split up multi-word arithmetic entirely into
Richard> its constituant parts right from the start, and just deal with
Richard> plain ol' REGs.

	This relates to one of the fundamental design issues in GCC.  RTL
represents the direct capabilities of the instruction set from the time it
is produced and through all transformations.  IBM's XLC goes through a
phase where it knows that it is working on a data type that eventually
will require multiple registers.  It is useful for many mathematical
transformations to be applied to the type wider than a register as a unit.
Then at a later phase, optimally convert that wider type to real registers
and basic operations (without the individual ports needing to supply
movdi, adddi3, etc.)  Compares of, operations on, and even materialization
of the entire object (as opposed to parts) can be avoided instead of
carrying around the entire object with multiple, tied registers.  

	For both this and arrays, EGCS hobbles itself by losing some
useful, high-level information early on.

David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]