function.c (assign_parm_adjust_stack_rtl): Revise STRICT_ALIGNMENT check to use targe...
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Fri, 2 Aug 2019 17:28:27 +0000 (17:28 +0000)
committerBernd Edlinger <edlinger@gcc.gnu.org>
Fri, 2 Aug 2019 17:28:27 +0000 (17:28 +0000)
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.

From-SVN: r274025

gcc/ChangeLog
gcc/function.c

index 6d4fcf9..16e7f1d 100644 (file)
@@ -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 e00b9ca..8274975 100644 (file)
@@ -2811,8 +2811,9 @@ assign_parm_adjust_stack_rtl (struct assign_parm_data_one *data)
      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)))