------- Comment #23 from dave at hiauly1 dot hia dot nrc dot ca  2008-10-27 
13:49 -------
Subject: Re:  [4.4 Regression] Small structs are not passed correctly on
hppa64-*-*

> Note that if you pad upward COMPLEX_TYPE (an ABI change), then just the
> assign_parm_remove_parallel fix should be enough and you could avoid passing
> everything in BLKmode (which pessimizes the code), because the 
> emit_group_store
> bug only affects arguments that aren't passed in the first bytes of the
> register.

Changing the padding introduces an inconsistency between GCC versions,
but it's not really an ABI change as it always required upward padding.
The treatment of complex and vector types in function_arg was written
with this in mind.

I did see that complex types were correctly passed without using BLKmode
with your change installed.  So, it it goes in, I will look at reverting
the BLKmode change.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37316

Reply via email to