diff options
author | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-31 15:28:41 +0000 |
---|---|---|
committer | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-31 15:28:41 +0000 |
commit | aa2b1787898bba650fe2effd5cf3216b4c985693 (patch) | |
tree | 39ea75262e5aed4926cd83d594fcb02bb2baf7a4 /gcc | |
parent | bb441676fa21e0f73501bb8f309c974bc9f0bf2b (diff) | |
download | gcc-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/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/c-common.c | 4 | ||||
-rw-r--r-- | gcc/tree.c | 10 | ||||
-rw-r--r-- | gcc/tree.h | 4 |
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] |