diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-16 20:37:31 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-16 20:37:31 +0000 |
commit | 4917c37678022def7d2605f2974106c11a9b3f12 (patch) | |
tree | 05a7ca68f6fe2a4b712b3767d14e66338ca08ba6 /gcc/tree.h | |
parent | 9c27edfeacc72d45e00b436cc4c600b30b39471e (diff) | |
download | gcc-4917c37678022def7d2605f2974106c11a9b3f12.tar.gz |
gcc/ChangeLog
2004-03-16 Paolo Bonzini <bonzini@gnu.org>
* c-common.c (c_common_type_for_mode): Build vector types on
demand.
(handle_mode_attribute): Deprecate using the mode attribute
to create vector types. Fix indentation.
(vector_type_node_list): Remove.
(handle_vector_size_attribute): Create vector types on demand.
Strip a NON_LVALUE_EXPR from the attribute if there is one.
* c-typeck.c (comptypes): Make vector types compatible if they
have the same underlying mode.
(convert_for_assignment): Use comptypes to convert between
vector types.
* tree.c (build_common_tree_nodes_2): Do not create vector types.
* config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
vector types.
* tree.h: Remove vector types.
* config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
* config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
(V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
* doc/extend.texi (Vector Types): Document how to use the
vector_size attribute to create vectors, rather than mode.
* config/arm/mmintrin.h: Use vector_size attribute, not mode.
* config/i386/emmintrin.h: Likewise.
* config/i386/mmintrin.h: Likewise.
* config/i386/xmmintrin.h: Likewise.
* config/sh/ushmedia.h: Likwise.
testsuite/ChangeLog
2004-03-16 Paolo Bonzini <bonzini@gnu.org>
* g++.dg/eh/simd-1.C: Use vector_size attribute, not mode.
* g++.dg/eh/simd-2.C: Likewise.
* g++.dg/init/array10.C: Likewise.
* gcc.c-torture/compile/simd-1.c: Likewise.
* gcc.c-torture/compile/simd-2.c: Likewise.
* gcc.c-torture/compile/simd-3.c: Likewise.
* gcc.c-torture/compile/simd-4.c: Likewise.
* gcc.c-torture/compile/simd-6.c: Likewise.
* gcc.c-torture/execute/simd-1.c: Likewise.
* gcc.c-torture/execute/simd-2.c: Likewise.
* gcc.dg/compat/vector-defs.h: Likewise.
* gcc.dg/20020531-1.c: Likewise.
* gcc.dg/altivec-3.c: Likewise.
* gcc.dg/altivec-4.c: Likewise.
* gcc.dg/altivec-varargs-1.c: Likewise.
* testsuite/gcc.dg/compat/vector-defs.h: Likewise.
* gcc.dg/i386-mmx-3.c: Likewise.
* gcc.dg/i386-sse-4.c: Likewise.
* gcc.dg/i386-sse-5.c: Likewise.
* gcc.dg/i386-sse-8.c: Likewise.
* gcc.dg/simd-1.c: Likewise.
* gcc.dg/20030218-1.c: Likewise. Plus, do not declare
__ev64_opaque__ since the machine description provides it.
Index: c-common.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-common.c,v
retrieving revision 1.487
diff -u -r1.487 c-common.c
--- c-common.c 26 Feb 2004 01:24:37 -0000 1.487
+++ c-common.c 10 Mar 2004 10:25:28 -0000
@@ -1874,38 +1874,12 @@
if (mode == TYPE_MODE (build_pointer_type (integer_type_node)))
return unsignedp ? make_unsigned_type (mode) : make_signed_type (mode);
- switch (mode)
+ if (VECTOR_MODE_P (mode))
{
- case V16QImode:
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79544 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 55 |
1 files changed, 2 insertions, 53 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index 6af6c662ff0..a923048fcf5 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -1871,33 +1871,6 @@ enum tree_index TI_VOID_LIST_NODE, - TI_UV4SF_TYPE, - TI_UV4SI_TYPE, - TI_UV8HI_TYPE, - TI_UV8QI_TYPE, - TI_UV4HI_TYPE, - TI_UV2HI_TYPE, - TI_UV2SI_TYPE, - TI_UV2SF_TYPE, - TI_UV2DI_TYPE, - TI_UV1DI_TYPE, - TI_UV16QI_TYPE, - - TI_V4SF_TYPE, - TI_V16SF_TYPE, - TI_V4SI_TYPE, - TI_V8HI_TYPE, - TI_V8QI_TYPE, - TI_V4HI_TYPE, - TI_V2HI_TYPE, - TI_V2SI_TYPE, - TI_V2SF_TYPE, - TI_V2DF_TYPE, - TI_V2DI_TYPE, - TI_V1DI_TYPE, - TI_V16QI_TYPE, - TI_V4DF_TYPE, - TI_MAIN_IDENTIFIER, TI_MAX @@ -1973,31 +1946,6 @@ extern GTY(()) 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 unsigned_V16QI_type_node global_trees[TI_UV16QI_TYPE] -#define unsigned_V4SI_type_node global_trees[TI_UV4SI_TYPE] -#define unsigned_V8QI_type_node global_trees[TI_UV8QI_TYPE] -#define unsigned_V8HI_type_node global_trees[TI_UV8HI_TYPE] -#define unsigned_V4HI_type_node global_trees[TI_UV4HI_TYPE] -#define unsigned_V2HI_type_node global_trees[TI_UV2HI_TYPE] -#define unsigned_V2SI_type_node global_trees[TI_UV2SI_TYPE] -#define unsigned_V2DI_type_node global_trees[TI_UV2DI_TYPE] -#define unsigned_V1DI_type_node global_trees[TI_UV1DI_TYPE] - -#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 V2HI_type_node global_trees[TI_V2HI_TYPE] -#define V2SI_type_node global_trees[TI_V2SI_TYPE] -#define V2SF_type_node global_trees[TI_V2SF_TYPE] -#define V2DI_type_node global_trees[TI_V2DI_TYPE] -#define V2DF_type_node global_trees[TI_V2DF_TYPE] -#define V16SF_type_node global_trees[TI_V16SF_TYPE] -#define V1DI_type_node global_trees[TI_V1DI_TYPE] -#define V4DF_type_node global_trees[TI_V4DF_TYPE] - /* An enumeration of the standard C integer types. These must be ordered so that shorter types appear before longer ones, and so that signed types appear before unsigned ones, for the correct @@ -2186,6 +2134,8 @@ extern tree build_pointer_type_for_mode (tree, enum machine_mode); extern tree build_pointer_type (tree); extern tree build_reference_type_for_mode (tree, enum machine_mode); extern tree build_reference_type (tree); +extern tree build_vector_type_for_mode (tree, enum machine_mode); +extern tree build_vector_type (tree innertype, int nunits); extern tree build_type_no_quals (tree); extern tree build_index_type (tree); extern tree build_index_2_type (tree, tree); @@ -2909,7 +2859,6 @@ extern void dump_tree_statistics (void); extern void expand_function_end (void); extern void expand_function_start (tree, int); extern void expand_pending_sizes (tree); -extern tree make_vector (enum machine_mode, tree, int); extern tree reconstruct_complex_type (tree, tree); extern int real_onep (tree); |