i386-modes.def: Use 4 byte alignment on DI for 32bit host.
authorH.J. Lu <hongjiu.lu@intel.com>
Thu, 6 Mar 2008 05:11:52 +0000 (05:11 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Thu, 6 Mar 2008 05:11:52 +0000 (21:11 -0800)
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

gcc/ChangeLog
gcc/config/i386/i386-modes.def

index a103de6a70ebe0fc385cb1586236d2d5fd4a7075..110a6dc58c16c26a5591105b37a9636081b3fccb 100644 (file)
@@ -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.
index 105d3872b79e02f350256852b5dd5b3322966d3b..f2f2b4f2acb389c2b99d9838085e683d980e40e7 100644 (file)
@@ -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.  */