diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a103de6a70eb..110a6dc58c16 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-03-05 H.J. Lu + + * config/i386/i386-modes.def: Use 4 byte alignment on DI for + 32bit host. + 2008-03-05 Ian Lance Taylor * alias.h (alias_set_type): Change from HOST_WIDE_INT to int. diff --git a/gcc/config/i386/i386-modes.def b/gcc/config/i386/i386-modes.def index 105d3872b79e..f2f2b4f2acb3 100644 --- a/gcc/config/i386/i386-modes.def +++ b/gcc/config/i386/i386-modes.def @@ -17,6 +17,10 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ +/* In 32bit, DI mode uses 32bit registers. Only 4 byte alignment + is needed. */ +ADJUST_ALIGNMENT (DI, (TARGET_64BIT || TARGET_ALIGN_DOUBLE) ? 8 : 4); + /* The x86_64 ABI specifies both XF and TF modes. XFmode is __float80 is IEEE extended; TFmode is __float128 is IEEE quad. */