md description for intruction that modifies multiple operands

Fred Fish fnf@intrinsity.com
Sun May 25 15:52:00 GMT 2003


> 	For the consecutive registers, you might allocate one TImode
> instead of four SImode registers.

What is the best way to associate the 4 independent variables to the
four chunks of the TImode?

What I posted was a gross simplification of the actual situation.  The
operands are actually a vector type of mode V16SI and we currently do
have a machine description that uses vec_concat to pack the operands
into a V64SI and vec_select to pull a V64SI apart into it's V16SI
parts.  But it's somewhat hairy, and in addition the compiler seems to
want to allocate 4 new registers for each concatenated operand, which
manifests itself as spill failures in reload when the register
pressure becomes too high.  I was hoping to be able to dump all that
extra cruft and simply allocate the individual operand registers in a
specific order.

-Fred



More information about the Gcc mailing list