On 07/10/2011 03:01 PM, H.J. Lu wrote:
> We only want to promote function parameters passed/returned in register.
> But  I can't tell if a value will be passed in register or memory inside of
> TARGET_FUNCTION_VALUE.  So when FOR_RETURN is 1, we don't
> promote. Even if we don't promote it explicitly, hardware still zero-extends
> it for us. So it isn't a real issue.

The hardware *usually* zero-extends.  It all depends on where the data is
coming from.  Without certainty, i.e. actually representing it properly,
you're designing a broken ABI.

What you wrote above re T_F_V not being able to tell register or 
memory doesn't make sense.  Did you really mean inside 
TARGET_PROMOTE_FUNCTION_MODE?
And why exactly wouldn't you be able to tell there?  Can you not find out
via a call to ix86_return_in_memory?


r~

Reply via email to