This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[COMMITTED] Revise STRICT_ALIGNMENT check in assign_parm_adjust_stack_rtl
- From: Bernd Edlinger <bernd dot edlinger at hotmail dot de>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Richard Biener <rguenther at suse dot de>
- Date: Fri, 2 Aug 2019 17:32:14 +0000
- Subject: [COMMITTED] Revise STRICT_ALIGNMENT check in assign_parm_adjust_stack_rtl
- Arc-authentication-results: i=1; mx.microsoft.com 1;spf=none;dmarc=none;dkim=none;arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3oFlyaFIuqAiMmNGjhm+RXfu2E3d0+4FRAG9mWJcWFw=; b=Q3nvmKPVQsfk0prGrRcziO2eEGMwyqn/dwHLhi0zIldMDQVXssfWWVLz1W8X+UT7esybbOebKItUCVwj9ieKGdgFfMuSYN3AP2XWwuK90rzbdxWM8IS8adRWolrIGIUyrmYTXQfSAVFBPuVtpfjzshMSTInMKNPFDMab9hPVhx2irOL416CyhgUGO+Gvlqe0PTG+IBF329/7jk4tsyWDB0aj/HbwRbAW7zW1kaj+gJwi6wn6OMHbsW4uqbT4oc1zq3nogY+HwVXEQ9v/xA25KBzdQZ07OHhRGLIXMxxVrMx9fU9npSHzWDFuqk0b+s6FuejJsJ3JFCNpz7NvJlFNgQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O0J6muqfdET7KmAwdyCZcgwjThwK7s7vPcKXMrfHaof4N8s3Tpo8QHXkHi0RQaEkVt6MhDvq41FVgR9WVX+R8NZ1cLonGVz3ZVIGXJTMsqgeN7nBThFAaAi4vjZXSgawYat47JS4oaN8vG/XvXDYQCCwkvqtbrSzQDkf9GF5lxj0FWi7OeedDPXjQke4u+SOh7p6t1suncRAdeZgmeRh5ZLM+Mxyma9nDaOLUdp6izv42gbi9l7dCMGn4je07BnjFwuzaBw0Fc7GMD4VpuJVPO2IB87wz87kC587XhWpUZJm9nWULkSwZrue575L6G+Ql9GAJkuh8jQ2O3+ANcgDCw==
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.edlinger@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 <sellcey@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)))