aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i960
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i960')
-rw-r--r--gcc/config/i960/i960.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/i960/i960.h b/gcc/config/i960/i960.h
index aa09de9..6b78eaa 100644
--- a/gcc/config/i960/i960.h
+++ b/gcc/config/i960/i960.h
@@ -402,7 +402,8 @@ extern int target_flags;
#define ROUND_TYPE_ALIGN(TYPE, COMPUTED, SPECIFIED) \
((TREE_CODE (TYPE) == REAL_TYPE && TYPE_MODE (TYPE) == XFmode) \
? 128 /* Put 80 bit floating point elements on 128 bit boundaries. */ \
- : ((!TARGET_OLD_ALIGN && TREE_CODE (TYPE) == RECORD_TYPE) \
+ : ((!TARGET_OLD_ALIGN && !TYPE_PACKED (TYPE) \
+ && TREE_CODE (TYPE) == RECORD_TYPE) \
? i960_round_align (MAX ((COMPUTED), (SPECIFIED)), TYPE_SIZE (TYPE)) \
: MAX ((COMPUTED), (SPECIFIED))))