------- Comment #6 from sje at cup dot hp dot com 2009-08-04 21:04 ------- I am currently looking at assign_parm_setup_reg, in the old code with test2.c, we set promoted_nominal_mode being set to DImode and then we get a conversion because promoted_nominal_mode != data->promoted_mode. In the new code promoted_nominal_mode is set to SImode (the same as data->promoted_node) and so we don't enter the if statement where the ptr_extend conversion is done in the old code. promoted_nominal_mode was set by a call to promote_function_node and is now being set by a call to promote_mode.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40952