rs6000.c (is_ev64_opaque_type): Only check pointer equality.
authorAldy Hernandez <aldyh@redhat.com>
Fri, 25 Jul 2003 23:49:30 +0000 (23:49 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Fri, 25 Jul 2003 23:49:30 +0000 (23:49 +0000)
2003-07-25  Aldy Hernandez  <aldyh@redhat.com>

* config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
equality.
(spe_init_builtins): Declare __ev64_opaque__ as a builtin type.

* config/rs6000/spe.h: Remove __ev64_opaque__ definition.

From-SVN: r69802

gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/spe.h

index 892c3b7584b831beda7c9a95b84955f65c6edc31..292325f900ba7720a60b0044e1c2d1a01f45eef9 100644 (file)
@@ -1,3 +1,11 @@
+2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
+       equality.
+       (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
+
+       * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
+
 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * doc/passes.texi (Passes): Mention pretty-printing and
index c5cd0b0a0894501d1f0f636bf42edbb1a35a75b4..10a6a53fbf631a40e7f3426968ec5dde29ba78b0 100644 (file)
@@ -6231,6 +6231,10 @@ spe_init_builtins ()
                            SPE_BUILTIN_EVSEL_CMPGTS,
                            SPE_BUILTIN_EVSEL_FSTSTEQ);
 
+  (*lang_hooks.decls.pushdecl)
+    (build_decl (TYPE_DECL, get_identifier ("__ev64_opaque__"),
+                opaque_V2SI_type_node));
+
   /* Initialize irregular SPE builtins.  */
   
   def_builtin (target_flags, "__builtin_spe_mtspefscr", void_ftype_int, SPE_BUILTIN_MTSPEFSCR);
@@ -14770,13 +14774,7 @@ is_ev64_opaque_type (type)
   return (TARGET_SPE
          && (type == opaque_V2SI_type_node
              || type == opaque_V2SF_type_node
-             || type == opaque_p_V2SI_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)));
+             || type == opaque_p_V2SI_type_node));
 }
 
 static rtx
index ca90b8068d897ca35f55af6026e089fe9c0d07a6..16765161fdeaf8d8375be8052bad62a86691d74d 100644 (file)
@@ -45,7 +45,6 @@ typedef unsigned              __vector __ev64_u32__;
 typedef long long              __vector __ev64_s64__;
 typedef unsigned long long     __vector __ev64_u64__;
 typedef float                  __vector __ev64_fs__;
-typedef int                    __vector __ev64_opaque__;
 
 #define __v2si __ev64_opaque__
 #define __v2sf __ev64_fs__