aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@freesoft.cz>2000-01-18 17:06:54 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2000-01-18 16:06:54 +0000
commit17f24ff04d5e70fdf5c20df8957f7a8864b10dbb (patch)
tree96c1ed73d6d28ec5340114a98961ec2062f56553
parente2e52e1be7f47a95853b79d36c2e7c1b636e52f6 (diff)
downloadgcc-17f24ff04d5e70fdf5c20df8957f7a8864b10dbb.zip
gcc-17f24ff04d5e70fdf5c20df8957f7a8864b10dbb.tar.gz
gcc-17f24ff04d5e70fdf5c20df8957f7a8864b10dbb.tar.bz2
i386.h (BIGGEST_ALIGNMENT): Set to 128.
* i386.h (BIGGEST_ALIGNMENT): Set to 128. (BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32) From-SVN: r31489
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/i386/i386.h18
2 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 00ce098..b724cc7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Tue Jan 18 16:19:55 MET 2000 Jan Hubicka <hubicka@freesoft.cz>
+ * i386.h (BIGGEST_ALIGNMENT): Set to 128.
+ (BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32)
+
* i386.md (memstr): Do not use rep stosb for counts divisible by 4
when optimize_size.
(clrstrsi): Rewrite.
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index e6111280..9e45815 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -448,12 +448,18 @@ extern int ix86_arch;
/* Minimum size in bits of the largest boundary to which any
and all fundamental data types supported by the hardware
might need to be aligned. No data type wants to be aligned
- rounder than this. The i386 supports 64-bit floating point
- quantities, but these can be aligned on any 32-bit boundary.
- The published ABIs say that doubles should be aligned on word
- boundaries, but the Pentium gets better performance with them
- aligned on 64 bit boundaries. */
-#define BIGGEST_ALIGNMENT (TARGET_ALIGN_DOUBLE ? 64 : 32)
+ rounder than this.
+
+ Pentium+ preferrs DFmode values to be alignmed to 64 bit boundary
+ and Pentium Pro XFmode values at 128 bit boundaries. */
+
+#define BIGGEST_ALIGNMENT 128
+
+/* The published ABIs say that doubles should be aligned on word
+ boundaries, so lower the aligmnet for structure fields unless
+ -malign_double is set. */
+
+#define BIGGEST_FIELD_ALIGNMENT (TARGET_ALIGN_DOUBLE ? 64 : 32)
/* If defined, a C expression to compute the alignment given to a
constant that is being placed in memory. CONSTANT is the constant