diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2001-10-31 15:28:41 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2001-10-31 15:28:41 +0000 |
commit | b63781e94179d89b95a2a74cd41aa70412e7dba4 (patch) | |
tree | 39ea75262e5aed4926cd83d594fcb02bb2baf7a4 | |
parent | 892a2d681f1049b4411a5327a2992da8bddf0dbc (diff) | |
download | gcc-b63781e94179d89b95a2a74cd41aa70412e7dba4.zip gcc-b63781e94179d89b95a2a74cd41aa70412e7dba4.tar.gz gcc-b63781e94179d89b95a2a74cd41aa70412e7dba4.tar.bz2 |
tree.h (tree_index): Add support for V16QI and V8HI.
* tree.h (tree_index): Add support for V16QI and V8HI.
(V8HI_type_node): New.
(V16QI_type_node): New.
From-SVN: r46678
-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 7a617df..a0bac32 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 a423d53..ee633a5 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)) @@ -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); } @@ -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] |