From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Edelsohn To: Richard Henderson Cc: law@cygnus.com, egcs@cygnus.com, wilson@cygnus.com Subject: Re: sparc64 changes and generic backend patches Date: Sat, 23 May 1998 12:32:00 -0000 Message-id: <9805231913.AA28134@rios1.watson.ibm.com> References: <19980522133129.B12268@dot.cygnus.com> X-SW-Source: 1998-05/msg00904.html I actually saved much of the "move_block_from_reg ignoring padding" email exchange for anyone's amusement. I am not sure which set of patches from that earlier discussion are being described here. I mainly remember patches from J"orn which were intermixed with Henderson's. I dislike the emit_group_load/emit_group_store solution using PARALLEL because it turns PARALLEL into a general escape mechanism for calls.c and function.c necessitating duplicating a lot of calls.c and function.c code within those new procedures -- only implemented correctly. I realize that ABI's defined by GCC using the current, incorrect structure passing are a significant issue. I would rather have a configure/build-time macro choose GCC compatibility mode instead of using PARALLEL at runtime. If we punt all of this functionality to "group", then any bugfix for calls.c or function.c that is not specific to structure passing needs to be duplicated in both places. This is even worse than the current sched.c/haifa-sched.c maintenance. I think the emit_group_load/store changes are correct, but I don't agree with that form of a solution because what we really are trying to do is preserve the current structure passing for compatibility and re-implement the structure passing correctly for those ABIs for which GCC currently is broken (AIX/PowerOpen, Sparc64, etc.). I think this could and should be decided by the GCC target configuration files at buildtime. No targets need these two calling conventions as a runtime option, which really is what is possible using this PARALLEL flag/escape mechanism. David =============================================================================== David Edelsohn T.J. Watson Research Center dje@watson.ibm.com P.O. Box 218 +1 914 945 4364 (TL 862) Yorktown Heights, NY 10598