tree.h (tree_index): Add support for V16QI and V8HI.
authorAldy Hernandez <aldyh@redhat.com>
Wed, 31 Oct 2001 15:28:41 +0000 (15:28 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Wed, 31 Oct 2001 15:28:41 +0000 (15:28 +0000)
* tree.h (tree_index): Add support for V16QI and V8HI.
      (V8HI_type_node): New.
(V16QI_type_node): New.

From-SVN: r46678

gcc/ChangeLog
gcc/c-common.c
gcc/tree.c
gcc/tree.h

index 7a617dfe48dc91896182bbeda6ddbbade920ab9f..a0bac328b725d056cc3f600f79180cad1937ebca 100644 (file)
@@ -1,3 +1,13 @@
+2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.h (tree_index): Add support for V16QI and V8HI.
+       (V8HI_type_node): New.
+       (V16QI_type_node): New.
+
+       * tree.c (build_common_tree_nodes_2): Same.
+
+       * c-common.c (type_for_mode): Same.
+
 2001-10-31  Kazu Hirata  <kazu@hxi.com>
 
        * config/i386/att.h: Fix comment formatting.
index a423d53cae3358953af3fcedf3971e7d6318122d..ee633a5f063a71d4f4f91404326094f8a50f376a 100644 (file)
@@ -1340,6 +1340,10 @@ type_for_mode (mode, unsignedp)
     return build_pointer_type (integer_type_node);
 
 #ifdef VECTOR_MODE_SUPPORTED_P
+  if (mode == TYPE_MODE (V16QI_type_node) && VECTOR_MODE_SUPPORTED_P (mode))
+    return V16QI_type_node;
+  if (mode == TYPE_MODE (V8HI_type_node) && VECTOR_MODE_SUPPORTED_P (mode))
+    return V8HI_type_node;
   if (mode == TYPE_MODE (V4SF_type_node) && VECTOR_MODE_SUPPORTED_P (mode))
     return V4SF_type_node;
   if (mode == TYPE_MODE (V4SI_type_node) && VECTOR_MODE_SUPPORTED_P (mode))
index 1912b8b80899eb09257900fb4bb6382455118167..aec124221233af9295e26a20ed6b5479afbde977 100644 (file)
@@ -4875,8 +4875,18 @@ build_common_tree_nodes_2 (short_double)
   TYPE_MODE (V8QI_type_node) = V8QImode;
   finish_vector_type (V8QI_type_node);
 
+  V8HI_type_node = make_node (VECTOR_TYPE);
+  TREE_TYPE (V8HI_type_node) = intHI_type_node;
+  TYPE_MODE (V8HI_type_node) = V8HImode;
+  finish_vector_type (V8HI_type_node);
+
   V2SF_type_node = make_node (VECTOR_TYPE);
   TREE_TYPE (V2SF_type_node) = float_type_node;
   TYPE_MODE (V2SF_type_node) = V2SFmode;
   finish_vector_type (V2SF_type_node);
+
+  V16QI_type_node = make_node (VECTOR_TYPE);
+  TREE_TYPE (V16QI_type_node) = intQI_type_node;
+  TYPE_MODE (V16QI_type_node) = V16QImode;
+  finish_vector_type (V16QI_type_node);
 }
index daa2297cf78f703f257a12b5316b4ecc8488825a..93ca9af58bbd6f9178fe803dbae1450c1a0fc308 100644 (file)
@@ -1862,10 +1862,12 @@ enum tree_index
 
   TI_V4SF_TYPE,
   TI_V4SI_TYPE,
+  TI_V8HI_TYPE,
   TI_V8QI_TYPE,
   TI_V4HI_TYPE,
   TI_V2SI_TYPE,
   TI_V2SF_TYPE,
+  TI_V16QI_TYPE,
 
   TI_MAIN_IDENTIFIER,
 
@@ -1926,9 +1928,11 @@ extern tree global_trees[TI_MAX];
 #define main_identifier_node           global_trees[TI_MAIN_IDENTIFIER]
 #define MAIN_NAME_P(NODE) (IDENTIFIER_NODE_CHECK (NODE) == main_identifier_node)
 
+#define V16QI_type_node                        global_trees[TI_V16QI_TYPE]
 #define V4SF_type_node                 global_trees[TI_V4SF_TYPE]
 #define V4SI_type_node                 global_trees[TI_V4SI_TYPE]
 #define V8QI_type_node                 global_trees[TI_V8QI_TYPE]
+#define V8HI_type_node                 global_trees[TI_V8HI_TYPE]
 #define V4HI_type_node                 global_trees[TI_V4HI_TYPE]
 #define V2SI_type_node                 global_trees[TI_V2SI_TYPE]
 #define V2SF_type_node                 global_trees[TI_V2SF_TYPE]