summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-31 15:28:41 +0000
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-31 15:28:41 +0000
commitaa2b1787898bba650fe2effd5cf3216b4c985693 (patch)
tree39ea75262e5aed4926cd83d594fcb02bb2baf7a4 /gcc
parentbb441676fa21e0f73501bb8f309c974bc9f0bf2b (diff)
downloadgcc-aa2b1787898bba650fe2effd5cf3216b4c985693.tar.gz
* tree.h (tree_index): Add support for V16QI and V8HI.
(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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/c-common.c4
-rw-r--r--gcc/tree.c10
-rw-r--r--gcc/tree.h4
4 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7a617dfe48d..a0bac328b72 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/c-common.c b/gcc/c-common.c
index a423d53cae3..ee633a5f063 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -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))
diff --git a/gcc/tree.c b/gcc/tree.c
index 1912b8b8089..aec12422123 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -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);
}
diff --git a/gcc/tree.h b/gcc/tree.h
index daa2297cf78..93ca9af58bb 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -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]