https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89582

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at redhat dot com

--- Comment #7 from Jeffrey A. Law <law at redhat dot com> ---
The same value in different locations (say an integer register and fp register)
is represented as the PARALLEL of the two locations.  Various ports do this
already.

The value of the expression can also be a @code{parallel} RTX@.  This is
used when an argument is passed in multiple locations.  The mode of the
@code{parallel} should be the mode of the entire argument.  The
@code{parallel} holds any number of @code{expr_list} pairs; each one
describes where part of the argument is passed.  In each
@code{expr_list} the first operand must be a @code{reg} RTX for the hard
register in which to pass this part of the argument, and the mode of the
register RTX indicates how large this part of the argument is.  The
second operand of the @code{expr_list} is a @code{const_int} which gives
the offset in bytes into the entire argument of where this part starts.
As a special exception the first @code{expr_list} in the @code{parallel}
RTX may have a first operand of zero.  This indicates that the entire
argument is also stored on the stack.

Reply via email to