Commit 2abe3e28 by Aldy Hernandez Committed by Aldy Hernandez

rs6000.c (rs6000_common_init_builtins): Rename all V2SI_type_node to opaque_V2SI_type_node.

2003-04-07  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
        V2SI_type_node to opaque_V2SI_type_node.  Rename all
        V2SF_type_node to opaque_V2SF_type_node.
        (rs6000_init_builtins): Define opaque_V2SI_type_node and
        opaque_V2SF_type_node.
        (is_ev64_opaque_type): The types opaque_V2SI_type_node and
        opaque_V2SF_type_node are opaque types.

From-SVN: r65340
parent 9a318d30
2003-04-07 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
V2SI_type_node to opaque_V2SI_type_node. Rename all
V2SF_type_node to opaque_V2SF_type_node.
(rs6000_init_builtins): Define opaque_V2SI_type_node and
opaque_V2SF_type_node.
(is_ev64_opaque_type): The types opaque_V2SI_type_node and
opaque_V2SF_type_node are opaque types.
2003-04-07 J"orn Rennecke <joern.rennecke@superh.com> 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
* gcse.c (replace_store_insn): Use single_set. * gcse.c (replace_store_insn): Use single_set.
......
...@@ -147,6 +147,12 @@ const char *rs6000_debug_name; ...@@ -147,6 +147,12 @@ const char *rs6000_debug_name;
int rs6000_debug_stack; /* debug stack applications */ int rs6000_debug_stack; /* debug stack applications */
int rs6000_debug_arg; /* debug argument handling */ int rs6000_debug_arg; /* debug argument handling */
/* A copy of V2SI_type_node to be used as an opaque type. */
static GTY(()) tree opaque_V2SI_type_node;
/* Same, but for V2SF. */
static GTY(()) tree opaque_V2SF_type_node;
const char *rs6000_traceback_name; const char *rs6000_traceback_name;
static enum { static enum {
traceback_default = 0, traceback_default = 0,
...@@ -5431,7 +5437,11 @@ static void ...@@ -5431,7 +5437,11 @@ static void
rs6000_init_builtins () rs6000_init_builtins ()
{ {
if (TARGET_SPE) if (TARGET_SPE)
spe_init_builtins (); {
opaque_V2SI_type_node = copy_node (V2SI_type_node);
opaque_V2SF_type_node = copy_node (V2SF_type_node);
spe_init_builtins ();
}
if (TARGET_ALTIVEC) if (TARGET_ALTIVEC)
altivec_init_builtins (); altivec_init_builtins ();
if (TARGET_ALTIVEC || TARGET_SPE) if (TARGET_ALTIVEC || TARGET_SPE)
...@@ -5910,43 +5920,48 @@ rs6000_common_init_builtins () ...@@ -5910,43 +5920,48 @@ rs6000_common_init_builtins ()
= build_function_type_list (V4SF_type_node, V4SF_type_node, NULL_TREE); = build_function_type_list (V4SF_type_node, V4SF_type_node, NULL_TREE);
tree v2si_ftype_v2si_v2si tree v2si_ftype_v2si_v2si
= build_function_type_list (V2SI_type_node, = build_function_type_list (opaque_V2SI_type_node,
V2SI_type_node, V2SI_type_node, NULL_TREE); opaque_V2SI_type_node,
opaque_V2SI_type_node, NULL_TREE);
tree v2sf_ftype_v2sf_v2sf tree v2sf_ftype_v2sf_v2sf
= build_function_type_list (V2SF_type_node, = build_function_type_list (opaque_V2SF_type_node,
V2SF_type_node, V2SF_type_node, NULL_TREE); opaque_V2SF_type_node,
opaque_V2SF_type_node, NULL_TREE);
tree v2si_ftype_int_int tree v2si_ftype_int_int
= build_function_type_list (V2SI_type_node, = build_function_type_list (opaque_V2SI_type_node,
integer_type_node, integer_type_node, integer_type_node, integer_type_node,
NULL_TREE); NULL_TREE);
tree v2si_ftype_v2si tree v2si_ftype_v2si
= build_function_type_list (V2SI_type_node, V2SI_type_node, NULL_TREE); = build_function_type_list (opaque_V2SI_type_node,
opaque_V2SI_type_node, NULL_TREE);
tree v2sf_ftype_v2sf tree v2sf_ftype_v2sf
= build_function_type_list (V2SF_type_node, = build_function_type_list (opaque_V2SF_type_node,
V2SF_type_node, NULL_TREE); opaque_V2SF_type_node, NULL_TREE);
tree v2sf_ftype_v2si tree v2sf_ftype_v2si
= build_function_type_list (V2SF_type_node, = build_function_type_list (opaque_V2SF_type_node,
V2SI_type_node, NULL_TREE); opaque_V2SI_type_node, NULL_TREE);
tree v2si_ftype_v2sf tree v2si_ftype_v2sf
= build_function_type_list (V2SI_type_node, = build_function_type_list (opaque_V2SI_type_node,
V2SF_type_node, NULL_TREE); opaque_V2SF_type_node, NULL_TREE);
tree v2si_ftype_v2si_char tree v2si_ftype_v2si_char
= build_function_type_list (V2SI_type_node, = build_function_type_list (opaque_V2SI_type_node,
V2SI_type_node, char_type_node, NULL_TREE); opaque_V2SI_type_node,
char_type_node, NULL_TREE);
tree v2si_ftype_int_char tree v2si_ftype_int_char
= build_function_type_list (V2SI_type_node, = build_function_type_list (opaque_V2SI_type_node,
integer_type_node, char_type_node, NULL_TREE); integer_type_node, char_type_node, NULL_TREE);
tree v2si_ftype_char tree v2si_ftype_char
= build_function_type_list (V2SI_type_node, char_type_node, NULL_TREE); = build_function_type_list (opaque_V2SI_type_node,
char_type_node, NULL_TREE);
tree int_ftype_int_int tree int_ftype_int_int
= build_function_type_list (integer_type_node, = build_function_type_list (integer_type_node,
...@@ -13933,12 +13948,14 @@ is_ev64_opaque_type (type) ...@@ -13933,12 +13948,14 @@ is_ev64_opaque_type (type)
tree type; tree type;
{ {
return (TARGET_SPE return (TARGET_SPE
&& TREE_CODE (type) == VECTOR_TYPE && (type == opaque_V2SI_type_node
&& TYPE_NAME (type) || type == opaque_V2SF_type_node
&& TREE_CODE (TYPE_NAME (type)) == TYPE_DECL || (TREE_CODE (type) == VECTOR_TYPE
&& DECL_NAME (TYPE_NAME (type)) && TYPE_NAME (type)
&& strcmp (IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type))), && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
"__ev64_opaque__") == 0); && DECL_NAME (TYPE_NAME (type))
&& strcmp (IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type))),
"__ev64_opaque__") == 0)));
} }
static rtx static rtx
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment