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
This commit is contained in:
Aldy Hernandez 2003-04-07 20:09:14 +00:00 committed by Aldy Hernandez
parent 9a318d3046
commit 2abe3e28f3
2 changed files with 50 additions and 23 deletions

View File

@ -1,3 +1,13 @@
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>
* gcse.c (replace_store_insn): Use single_set.

View File

@ -147,6 +147,12 @@ const char *rs6000_debug_name;
int rs6000_debug_stack; /* debug stack applications */
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;
static enum {
traceback_default = 0,
@ -5431,7 +5437,11 @@ static void
rs6000_init_builtins ()
{
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)
altivec_init_builtins ();
if (TARGET_ALTIVEC || TARGET_SPE)
@ -5910,43 +5920,48 @@ rs6000_common_init_builtins ()
= build_function_type_list (V4SF_type_node, V4SF_type_node, NULL_TREE);
tree v2si_ftype_v2si_v2si
= build_function_type_list (V2SI_type_node,
V2SI_type_node, V2SI_type_node, NULL_TREE);
= build_function_type_list (opaque_V2SI_type_node,
opaque_V2SI_type_node,
opaque_V2SI_type_node, NULL_TREE);
tree v2sf_ftype_v2sf_v2sf
= build_function_type_list (V2SF_type_node,
V2SF_type_node, V2SF_type_node, NULL_TREE);
= build_function_type_list (opaque_V2SF_type_node,
opaque_V2SF_type_node,
opaque_V2SF_type_node, NULL_TREE);
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,
NULL_TREE);
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
= build_function_type_list (V2SF_type_node,
V2SF_type_node, NULL_TREE);
= build_function_type_list (opaque_V2SF_type_node,
opaque_V2SF_type_node, NULL_TREE);
tree v2sf_ftype_v2si
= build_function_type_list (V2SF_type_node,
V2SI_type_node, NULL_TREE);
= build_function_type_list (opaque_V2SF_type_node,
opaque_V2SI_type_node, NULL_TREE);
tree v2si_ftype_v2sf
= build_function_type_list (V2SI_type_node,
V2SF_type_node, NULL_TREE);
= build_function_type_list (opaque_V2SI_type_node,
opaque_V2SF_type_node, NULL_TREE);
tree v2si_ftype_v2si_char
= build_function_type_list (V2SI_type_node,
V2SI_type_node, char_type_node, NULL_TREE);
= build_function_type_list (opaque_V2SI_type_node,
opaque_V2SI_type_node,
char_type_node, NULL_TREE);
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);
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
= build_function_type_list (integer_type_node,
@ -13933,12 +13948,14 @@ is_ev64_opaque_type (type)
tree type;
{
return (TARGET_SPE
&& TREE_CODE (type) == VECTOR_TYPE
&& TYPE_NAME (type)
&& TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
&& DECL_NAME (TYPE_NAME (type))
&& strcmp (IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type))),
"__ev64_opaque__") == 0);
&& (type == opaque_V2SI_type_node
|| type == opaque_V2SF_type_node
|| (TREE_CODE (type) == VECTOR_TYPE
&& TYPE_NAME (type)
&& TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
&& DECL_NAME (TYPE_NAME (type))
&& strcmp (IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type))),
"__ev64_opaque__") == 0)));
}
static rtx