Committed as r274025 with approval in https://gcc.gnu.org/ml/gcc-patches/2019-08/msg00146.html
$ svn diff -r274024:274025 -x -p Index: ChangeLog =================================================================== --- ChangeLog (Revision 274024) +++ ChangeLog (Revision 274025) @@ -1,5 +1,8 @@ 2019-08-02 Bernd Edlinger <bernd.edlin...@hotmail.de> + * function.c (assign_parm_adjust_stack_rtl): Revise STRICT_ALIGNMENT + check to use targetm.slow_unaligned_access instead. + * function.c (assign_param_data_one): Remove unused data members. 2019-08-02 Steve Ellcey <sell...@marvell.com> Index: function.c =================================================================== --- function.c (Revision 274024) +++ function.c (Revision 274025) @@ -2811,8 +2811,9 @@ assign_parm_adjust_stack_rtl (struct assign_parm_d ultimate type, don't use that slot after entry. We'll make another stack slot, if we need one. */ if (stack_parm - && ((STRICT_ALIGNMENT - && GET_MODE_ALIGNMENT (data->nominal_mode) > MEM_ALIGN (stack_parm)) + && ((GET_MODE_ALIGNMENT (data->nominal_mode) > MEM_ALIGN (stack_parm) + && targetm.slow_unaligned_access (data->nominal_mode, + MEM_ALIGN (stack_parm))) || (data->nominal_type && TYPE_ALIGN (data->nominal_type) > MEM_ALIGN (stack_parm) && MEM_ALIGN (stack_parm) < PREFERRED_STACK_BOUNDARY)))