diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2012-10-30 19:07:28 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2012-10-30 19:07:28 +0000 |
commit | 08e931f3b7bf16416bee1424065b7af462bd5819 (patch) | |
tree | 1357150fb34ab027be24b4f97411723036bf4979 /gcc/lra-constraints.c | |
parent | 63cf72605a8365bb2fb5f27a0ea6121c74d32ac7 (diff) | |
download | gcc-08e931f3b7bf16416bee1424065b7af462bd5819.zip gcc-08e931f3b7bf16416bee1424065b7af462bd5819.tar.gz gcc-08e931f3b7bf16416bee1424065b7af462bd5819.tar.bz2 |
defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition.
gcc/
* defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition.
* expmed.c (SLOW_UNALIGNED_ACCESS): Remove default definition.
* expr.c (SLOW_UNALIGNED_ACCESS): Likewise.
* lra-constraints.c (SLOW_UNALIGNED_ACCESS): Likewise.
(simplify_operand_subreg): Don't check STRICT_ALIGNMENT here.
From-SVN: r192992
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r-- | gcc/lra-constraints.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index 3eabab8..1c2058f 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -1107,10 +1107,6 @@ process_addr_reg (rtx *loc, rtx *before, rtx *after, enum reg_class cl) return true; } -#ifndef SLOW_UNALIGNED_ACCESS -#define SLOW_UNALIGNED_ACCESS(mode, align) 0 -#endif - /* Make reloads for subreg in operand NOP with internal subreg mode REG_MODE, add new reloads for further processing. Return true if any reload was generated. */ @@ -1134,8 +1130,7 @@ simplify_operand_subreg (int nop, enum machine_mode reg_mode) address might violate the necessary alignment or the access might be slow. So take this into consideration. */ if ((MEM_P (reg) - && ((! STRICT_ALIGNMENT - && ! SLOW_UNALIGNED_ACCESS (mode, MEM_ALIGN (reg))) + && (! SLOW_UNALIGNED_ACCESS (mode, MEM_ALIGN (reg)) || MEM_ALIGN (reg) >= GET_MODE_ALIGNMENT (mode))) || (REG_P (reg) && REGNO (reg) < FIRST_PSEUDO_REGISTER)) { |