* tree.h (tree_index): Add support for V16QI and V8HI.
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Oct 2001 15:28:41 +0000 (15:28 +0000)
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 31 Oct 2001 15:28:41 +0000 (15:28 +0000)
      (V8HI_type_node): New.
(V16QI_type_node): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46678 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 7a617df..a0bac32 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 a423d53..ee633a5 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 1912b8b..aec1242 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 daa2297..93ca9af 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]