diff options
Diffstat (limited to 'gcc/config/sparc/sparc.c')
-rw-r--r-- | gcc/config/sparc/sparc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 85a3d70f38e..7c27bbc48d1 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -2938,9 +2938,10 @@ mem_min_alignment (mem, desired) completed, we already matched with proper alignments. If not running global_alloc, reload might give us unaligned pointer to local stack though. */ - if (((cfun != 0 && REGNO_POINTER_ALIGN (regno) >= desired) + if (((cfun != 0 + && REGNO_POINTER_ALIGN (regno) >= desired * BITS_PER_UNIT) || (optimize && reload_completed)) - && ((INTVAL (offset) & (desired - 1)) == 0)) + && (INTVAL (offset) & (desired - 1)) == 0) return 1; } else |