aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog18
-rw-r--r--gcc/config/alpha/alpha-modes.def5
-rw-r--r--gcc/config/arm/arm-modes.def8
-rw-r--r--gcc/config/frv/frv-modes.def3
-rw-r--r--gcc/config/i386/i386-modes.def12
-rw-r--r--gcc/config/rs6000/rs6000-modes.def7
-rw-r--r--gcc/config/sh/sh-modes.def10
-rw-r--r--gcc/machmode.def30
8 files changed, 59 insertions, 34 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f039bce..a0d6927 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,9 +1,19 @@
+2004-07-22 Paolo Bonzini <bonzini@gnu.org>
+
+ * machmode.def: Remove vector modes.
+ * config/alpha/alpha-modes.def: Add supported vector modes.
+ * config/arm/arm-modes.def: Likewise.
+ * config/frv/frv-modes.def: Likewise.
+ * config/i386/i386-modes.def: Likewise.
+ * config/rs6000/rs6000-modes.def: Likewise.
+ * config/sh/sh-modes.def: Likewise.
+
2004-07-23 Matthias Klose <doko@debian.org>
- intl.c (gcc_init_libintl): Use PACKAGE for the text domain.
- configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE.
- config.h: Regenerate.
- configure: Likewise.
+ * intl.c (gcc_init_libintl): Use PACKAGE for the text domain.
+ * configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE.
+ * config.h: Regenerate.
+ * configure: Likewise.
2004-07-22 Mark Mitchell <mark@codesourcery.com>
diff --git a/gcc/config/alpha/alpha-modes.def b/gcc/config/alpha/alpha-modes.def
index 8e9e698..0a0d1c5 100644
--- a/gcc/config/alpha/alpha-modes.def
+++ b/gcc/config/alpha/alpha-modes.def
@@ -21,3 +21,8 @@ Boston, MA 02111-1307, USA. */
/* 128-bit floating point. This gets reset in alpha_override_options
if VAX float format is in use. */
FLOAT_MODE (TF, 16, ieee_quad_format);
+
+/* Vector modes. */
+VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
+VECTOR_MODE (INT, QI, 4); /* V4QI */
+VECTOR_MODE (INT, QI, 2); /* V2QI */
diff --git a/gcc/config/arm/arm-modes.def b/gcc/config/arm/arm-modes.def
index b853551..c974272 100644
--- a/gcc/config/arm/arm-modes.def
+++ b/gcc/config/arm/arm-modes.def
@@ -50,3 +50,11 @@ CC_MODE (CC_DGEU);
CC_MODE (CC_DGTU);
CC_MODE (CC_C);
CC_MODE (CC_N);
+
+/* Vector modes. */
+VECTOR_MODES (INT, 4); /* V4QI V2HI */
+VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
+VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
+VECTOR_MODES (FLOAT, 8); /* V4HF V2SF */
+VECTOR_MODES (FLOAT, 16); /* V8HF V4SF V2DF */
+
diff --git a/gcc/config/frv/frv-modes.def b/gcc/config/frv/frv-modes.def
index 3985099..7d3b0ef 100644
--- a/gcc/config/frv/frv-modes.def
+++ b/gcc/config/frv/frv-modes.def
@@ -28,3 +28,6 @@ Boston, MA 02111-1307, USA. */
CC_MODE (CC_UNS);
CC_MODE (CC_FP);
CC_MODE (CC_CCR);
+
+VECTOR_MODE (INT, QI, 4); /* V4QI */
+VECTOR_MODE (INT, SI, 4); /* V4SI */
diff --git a/gcc/config/i386/i386-modes.def b/gcc/config/i386/i386-modes.def
index 89c83c4..3a7c3e6 100644
--- a/gcc/config/i386/i386-modes.def
+++ b/gcc/config/i386/i386-modes.def
@@ -60,3 +60,15 @@ CC_MODE (CCNO);
CC_MODE (CCZ);
CC_MODE (CCFP);
CC_MODE (CCFPU);
+
+/* Vector modes. */
+VECTOR_MODES (INT, 4); /* V4QI V2HI */
+VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
+VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
+VECTOR_MODES (FLOAT, 8); /* V4HF V2SF */
+VECTOR_MODES (FLOAT, 16); /* V8HF V4SF V2DF */
+VECTOR_MODE (INT, DI, 4); /* V4DI */
+VECTOR_MODE (INT, SI, 8); /* V8SI */
+
+/* The symbol Pmode stands for one of the above machine modes (usually SImode).
+ The tm.h file specifies which one. It is not a distinct mode. */
diff --git a/gcc/config/rs6000/rs6000-modes.def b/gcc/config/rs6000/rs6000-modes.def
index 6f17f1a..97f086b 100644
--- a/gcc/config/rs6000/rs6000-modes.def
+++ b/gcc/config/rs6000/rs6000-modes.def
@@ -38,3 +38,10 @@ PARTIAL_INT_MODE (SI);
CC_MODE (CCUNS);
CC_MODE (CCFP);
CC_MODE (CCEQ);
+
+/* Vector modes. */
+VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
+VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
+VECTOR_MODE (INT, DI, 1);
+VECTOR_MODES (FLOAT, 8); /* V4HF V2SF */
+VECTOR_MODES (FLOAT, 16); /* V8HF V4SF V2DF */
diff --git a/gcc/config/sh/sh-modes.def b/gcc/config/sh/sh-modes.def
index 3906b43..1b97176 100644
--- a/gcc/config/sh/sh-modes.def
+++ b/gcc/config/sh/sh-modes.def
@@ -21,3 +21,13 @@ Boston, MA 02111-1307, USA. */
/* The SH uses a partial integer mode to represent the FPSCR register. */
PARTIAL_INT_MODE (SI);
+/* Vector modes. */
+VECTOR_MODE (INT, QI, 2); /* V2QI */
+VECTOR_MODES (INT, 4); /* V4QI V2HI */
+VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
+VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
+VECTOR_MODES (FLOAT, 8); /* V4HF V2SF */
+VECTOR_MODES (FLOAT, 16); /* V8HF V4SF V2DF */
+VECTOR_MODE (INT, DI, 4); /* V4DI */
+VECTOR_MODE (INT, DI, 8); /* V8DI */
+VECTOR_MODE (FLOAT, SF, 16); /* V16SF */
diff --git a/gcc/machmode.def b/gcc/machmode.def
index 0b6c677..431aafa 100644
--- a/gcc/machmode.def
+++ b/gcc/machmode.def
@@ -186,36 +186,6 @@ CC_MODE (CC);
COMPLEX_MODES (INT);
COMPLEX_MODES (FLOAT);
-/* Vector modes. */
-VECTOR_MODES (INT, 2); /* V2QI */
-VECTOR_MODES (INT, 4); /* V4QI V2HI */
-VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */
-VECTOR_MODES (INT, 16); /* V16QI V8HI V4SI V2DI */
-/* VECTOR_MODES (INT, 32); V8SI V4DI */
-/* VECTOR_MODES (INT, 64); V8DI */
-
-VECTOR_MODE (INT, SI, 8)
-VECTOR_MODE (INT, DI, 4);
-VECTOR_MODE (INT, DI, 8);
-
-/* PPC uses this to distinguish between DImode passed in
- float registers and DImode passed in vector registers.
- It would be in rs6000-modes.def but it's referenced in
- c-common.c. FIXME. */
-
-VECTOR_MODE (INT, DI, 1);
-
-VECTOR_MODES (FLOAT, 4); /* V2HF */
-VECTOR_MODES (FLOAT, 8); /* V4HF V2SF */
-VECTOR_MODES (FLOAT, 16); /* V8HF V4SF V2DF */
-/* VECTOR_MODES (FLOAT, 32); V8SF V4DF */
-/* VECTOR_MODES (FLOAT, 64); V16SF V8DF */
-
-VECTOR_MODE (FLOAT, SF, 8);
-VECTOR_MODE (FLOAT, SF, 16);
-VECTOR_MODE (FLOAT, DF, 4);
-VECTOR_MODE (FLOAT, DF, 8);
-
/* The symbol Pmode stands for one of the above machine modes (usually SImode).
The tm.h file specifies which one. It is not a distinct mode. */