aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2008-03-06 05:11:52 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2008-03-05 21:11:52 -0800
commit23880b9795c03d142be4fa17146c072fdfa7a765 (patch)
treee89dcbcba6c3d2d656821ca1f679942ecfa667e6
parent6ab813027a307783b7d54b062d1ea17ce74c021e (diff)
downloadgcc-23880b9795c03d142be4fa17146c072fdfa7a765.zip
gcc-23880b9795c03d142be4fa17146c072fdfa7a765.tar.gz
gcc-23880b9795c03d142be4fa17146c072fdfa7a765.tar.bz2
i386-modes.def: Use 4 byte alignment on DI for 32bit host.
2008-03-05 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386-modes.def: Use 4 byte alignment on DI for 32bit host. From-SVN: r132966
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386-modes.def4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a103de6..110a6dc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-modes.def: Use 4 byte alignment on DI for
+ 32bit host.
+
2008-03-05 Ian Lance Taylor <iant@google.com>
* 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 105d387..f2f2b4f 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
<http://www.gnu.org/licenses/>. */
+/* 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. */