OSDN Git Service

* config/rs6000/rs6000.c (altivec_init_builtins): Make the
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Nov 2002 05:29:12 +0000 (05:29 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Nov 2002 05:29:12 +0000 (05:29 +0000)
pointer argument in the prototypes of the following builtins
be (const TYPE *) rather than (TYPE *):
 + __builtin_altivec_ld_internal_4sf
 + __builtin_altivec_ld_internal_4si
 + __builtin_altivec_ld_internal_8hi
 + __builtin_altivec_ld_internal_16qi
 + __builtin_altivec_lvsl
 + __builtin_altivec_lvsr
 + __builtin_altivec_lvebx
 + __builtin_altivec_lvehx
 + __builtin_altivec_lvewx
 + __builtin_altivec_lvxl
 + __builtin_altivec_lvx
 + __builtin_altivec_dst
 + __builtin_altivec_dstt
 + __builtin_altivec_dstst
 + __builtin_altivec_dststt

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59596 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 2dbc24a..86e6932 100644 (file)
@@ -1,3 +1,24 @@
+2002-11-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/rs6000/rs6000.c (altivec_init_builtins): Make the
+       pointer argument in the prototypes of the following builtins
+       be (const TYPE *) rather than (TYPE *):
+        + __builtin_altivec_ld_internal_4sf
+        + __builtin_altivec_ld_internal_4si
+        + __builtin_altivec_ld_internal_8hi
+        + __builtin_altivec_ld_internal_16qi
+        + __builtin_altivec_lvsl
+        + __builtin_altivec_lvsr
+        + __builtin_altivec_lvebx
+        + __builtin_altivec_lvehx
+        + __builtin_altivec_lvewx
+        + __builtin_altivec_lvxl
+        + __builtin_altivec_lvx
+        + __builtin_altivec_dst
+        + __builtin_altivec_dstt
+        + __builtin_altivec_dstst
+        + __builtin_altivec_dststt
+
 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * except.c (default_exception_section): Move variable into the
@@ -21,8 +42,8 @@
 
 2002-11-27  Jim Wilson  <wilson@redhat.com>
 
-        * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
-        in output template.
+       * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
+       in output template.
 
 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
 
@@ -55,11 +76,11 @@ Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
        * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
        _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
        * unwind.h (_Unwind_FindEnclosingFunction): Add.
-       
+
 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
 
-       * config/s390/s390.c (390_output_constant_pool): Set alignment 
-       before label in 64 bit mode, behind otherwise.  
+       * config/s390/s390.c (390_output_constant_pool): Set alignment
+       before label in 64 bit mode, behind otherwise.
 
 2002-11-26  Richard Henderson  <rth@redhat.com>
 
@@ -91,7 +112,7 @@ Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
        * langhooks-def.h: Update for renames.
        * target-def.h: Likewise.
        * tree.c (default_comp_type_attributes,
-       default_set_default_type_attributes, default_insert_attributes, 
+       default_set_default_type_attributes, default_insert_attributes,
        default_function_attribute_inlinable_p,
        default_ms_bitfield_layout_p): Remove.
        * tree.h: Update.
@@ -137,7 +158,7 @@ Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
 
        * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
        * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
-       RS6000_CPU_CPP_ENDIAN_BUILTINS.         
+       RS6000_CPU_CPP_ENDIAN_BUILTINS.
        * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
 
 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
@@ -153,9 +174,9 @@ Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
        (s390_emit_prologue, s390_emit_epilogue): Likewise.
        (s390_init_machine_status): New function.
        (override_options): call s390_init_machine_status.
-       * config/s390/s390-protos.h (s390_output_constant_pool): Changed 
+       * config/s390/s390-protos.h (s390_output_constant_pool): Changed
        prototype.
-       
+
 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
 
        * varasm.c (output_constant_pool): For pool constants in mergeable
@@ -309,7 +330,7 @@ Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
-       NETBSD_CPP_SPEC directly. 
+       NETBSD_CPP_SPEC directly.
        (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
        netbsd_endfile_spec.
        (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
@@ -384,7 +405,7 @@ Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
 
        * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
        * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
-       x86_64_nonmemory_operand, x86_64_movabs_operand, 
+       x86_64_nonmemory_operand, x86_64_movabs_operand,
        x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
        ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
        (local_symbolic_operand): Do not care the 64bit limits.
@@ -442,8 +463,8 @@ Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
 
        * config/s390/libgcc-libc.ver: Add multilib support.
        * config/s390/linux.h (MULTILIB_DEFAULT): Define.
-       * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
-       MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC, 
+       * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
+       MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
        EXTRA_MULTILIB_PARTS): Define.
 
 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
index c37087f..5c0ef2f 100644 (file)
@@ -5445,26 +5445,34 @@ altivec_init_builtins ()
 
   tree pvoid_type_node = build_pointer_type (void_type_node);
 
+  tree pcfloat_type_node = build_pointer_type (build_qualified_type (float_type_node, TYPE_QUAL_CONST));
+  tree pcint_type_node = build_pointer_type (build_qualified_type (integer_type_node, TYPE_QUAL_CONST));
+  tree pcshort_type_node = build_pointer_type (build_qualified_type (short_integer_type_node, TYPE_QUAL_CONST));
+  tree pcchar_type_node = build_pointer_type (build_qualified_type (char_type_node, TYPE_QUAL_CONST));
+
+  tree pcvoid_type_node = build_pointer_type (build_qualified_type (void_type_node, TYPE_QUAL_CONST));
+
   tree int_ftype_int_v4si_v4si
     = build_function_type_list (integer_type_node,
                                integer_type_node, V4SI_type_node,
                                V4SI_type_node, NULL_TREE);
-  tree v4sf_ftype_pfloat
-    = build_function_type_list (V4SF_type_node, pfloat_type_node, NULL_TREE);
+  tree v4sf_ftype_pcfloat
+    = build_function_type_list (V4SF_type_node, pcfloat_type_node, NULL_TREE);
   tree void_ftype_pfloat_v4sf
     = build_function_type_list (void_type_node,
                                pfloat_type_node, V4SF_type_node, NULL_TREE);
-  tree v4si_ftype_pint
-    = build_function_type_list (V4SI_type_node, pint_type_node, NULL_TREE);  tree void_ftype_pint_v4si
+  tree v4si_ftype_pcint
+    = build_function_type_list (V4SI_type_node, pcint_type_node, NULL_TREE);
+  tree void_ftype_pint_v4si
     = build_function_type_list (void_type_node,
                                pint_type_node, V4SI_type_node, NULL_TREE);
-  tree v8hi_ftype_pshort
-    = build_function_type_list (V8HI_type_node, pshort_type_node, NULL_TREE);
+  tree v8hi_ftype_pcshort
+    = build_function_type_list (V8HI_type_node, pcshort_type_node, NULL_TREE);
   tree void_ftype_pshort_v8hi
     = build_function_type_list (void_type_node,
                                pshort_type_node, V8HI_type_node, NULL_TREE);
-  tree v16qi_ftype_pchar
-    = build_function_type_list (V16QI_type_node, pchar_type_node, NULL_TREE);
+  tree v16qi_ftype_pcchar
+    = build_function_type_list (V16QI_type_node, pcchar_type_node, NULL_TREE);
   tree void_ftype_pchar_v16qi
     = build_function_type_list (void_type_node,
                                pchar_type_node, V16QI_type_node, NULL_TREE);
@@ -5476,15 +5484,17 @@ altivec_init_builtins ()
     = build_function_type (void_type_node, void_list_node);
   tree void_ftype_qi
     = build_function_type_list (void_type_node, char_type_node, NULL_TREE);
-  tree v16qi_ftype_int_pvoid
+
+  tree v16qi_ftype_int_pcvoid
     = build_function_type_list (V16QI_type_node,
-                               integer_type_node, pvoid_type_node, NULL_TREE);
-  tree v8hi_ftype_int_pvoid
+                               integer_type_node, pcvoid_type_node, NULL_TREE);
+  tree v8hi_ftype_int_pcvoid
     = build_function_type_list (V8HI_type_node,
-                               integer_type_node, pvoid_type_node, NULL_TREE);
-  tree v4si_ftype_int_pvoid
+                               integer_type_node, pcvoid_type_node, NULL_TREE);
+  tree v4si_ftype_int_pcvoid
     = build_function_type_list (V4SI_type_node,
-                               integer_type_node, pvoid_type_node, NULL_TREE);
+                               integer_type_node, pcvoid_type_node, NULL_TREE);
+
   tree void_ftype_v4si_int_pvoid
     = build_function_type_list (void_type_node,
                                V4SI_type_node, integer_type_node,
@@ -5517,30 +5527,38 @@ altivec_init_builtins ()
     = build_function_type_list (V16QI_type_node, V16QI_type_node, NULL_TREE);
   tree v4sf_ftype_v4sf
     = build_function_type_list (V4SF_type_node, V4SF_type_node, NULL_TREE);
-  tree void_ftype_pvoid_int_char
+  tree void_ftype_pcvoid_int_char
     = build_function_type_list (void_type_node,
-                               pvoid_type_node, integer_type_node,
+                               pcvoid_type_node, integer_type_node,
                                char_type_node, NULL_TREE);
-
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_ld_internal_4sf", v4sf_ftype_pfloat, ALTIVEC_BUILTIN_LD_INTERNAL_4sf);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_st_internal_4sf", void_ftype_pfloat_v4sf, ALTIVEC_BUILTIN_ST_INTERNAL_4sf);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_ld_internal_4si", v4si_ftype_pint, ALTIVEC_BUILTIN_LD_INTERNAL_4si);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_st_internal_4si", void_ftype_pint_v4si, ALTIVEC_BUILTIN_ST_INTERNAL_4si);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_ld_internal_8hi", v8hi_ftype_pshort, ALTIVEC_BUILTIN_LD_INTERNAL_8hi);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_st_internal_8hi", void_ftype_pshort_v8hi, ALTIVEC_BUILTIN_ST_INTERNAL_8hi);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_ld_internal_16qi", v16qi_ftype_pchar, ALTIVEC_BUILTIN_LD_INTERNAL_16qi);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_st_internal_16qi", void_ftype_pchar_v16qi, ALTIVEC_BUILTIN_ST_INTERNAL_16qi);
+  
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_ld_internal_4sf", v4sf_ftype_pcfloat,
+              ALTIVEC_BUILTIN_LD_INTERNAL_4sf);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_st_internal_4sf", void_ftype_pfloat_v4sf,
+              ALTIVEC_BUILTIN_ST_INTERNAL_4sf);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_ld_internal_4si", v4si_ftype_pcint,
+              ALTIVEC_BUILTIN_LD_INTERNAL_4si);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_st_internal_4si", void_ftype_pint_v4si,
+              ALTIVEC_BUILTIN_ST_INTERNAL_4si);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_ld_internal_8hi", v8hi_ftype_pcshort,
+              ALTIVEC_BUILTIN_LD_INTERNAL_8hi);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_st_internal_8hi", void_ftype_pshort_v8hi,
+              ALTIVEC_BUILTIN_ST_INTERNAL_8hi);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_ld_internal_16qi", v16qi_ftype_pcchar,
+              ALTIVEC_BUILTIN_LD_INTERNAL_16qi);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_st_internal_16qi", void_ftype_pchar_v16qi,
+              ALTIVEC_BUILTIN_ST_INTERNAL_16qi);
   def_builtin (MASK_ALTIVEC, "__builtin_altivec_mtvscr", void_ftype_v4si, ALTIVEC_BUILTIN_MTVSCR);
   def_builtin (MASK_ALTIVEC, "__builtin_altivec_mfvscr", v8hi_ftype_void, ALTIVEC_BUILTIN_MFVSCR);
   def_builtin (MASK_ALTIVEC, "__builtin_altivec_dssall", void_ftype_void, ALTIVEC_BUILTIN_DSSALL);
   def_builtin (MASK_ALTIVEC, "__builtin_altivec_dss", void_ftype_qi, ALTIVEC_BUILTIN_DSS);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvsl", v16qi_ftype_int_pvoid, ALTIVEC_BUILTIN_LVSL);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvsr", v16qi_ftype_int_pvoid, ALTIVEC_BUILTIN_LVSR);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvebx", v16qi_ftype_int_pvoid, ALTIVEC_BUILTIN_LVEBX);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvehx", v8hi_ftype_int_pvoid, ALTIVEC_BUILTIN_LVEHX);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvewx", v4si_ftype_int_pvoid, ALTIVEC_BUILTIN_LVEWX);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvxl", v4si_ftype_int_pvoid, ALTIVEC_BUILTIN_LVXL);
-  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvx", v4si_ftype_int_pvoid, ALTIVEC_BUILTIN_LVX);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvsl", v16qi_ftype_int_pcvoid, ALTIVEC_BUILTIN_LVSL);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvsr", v16qi_ftype_int_pcvoid, ALTIVEC_BUILTIN_LVSR);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvebx", v16qi_ftype_int_pcvoid, ALTIVEC_BUILTIN_LVEBX);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvehx", v8hi_ftype_int_pcvoid, ALTIVEC_BUILTIN_LVEHX);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvewx", v4si_ftype_int_pcvoid, ALTIVEC_BUILTIN_LVEWX);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvxl", v4si_ftype_int_pcvoid, ALTIVEC_BUILTIN_LVXL);
+  def_builtin (MASK_ALTIVEC, "__builtin_altivec_lvx", v4si_ftype_int_pcvoid, ALTIVEC_BUILTIN_LVX);
   def_builtin (MASK_ALTIVEC, "__builtin_altivec_stvx", void_ftype_v4si_int_pvoid, ALTIVEC_BUILTIN_STVX);
   def_builtin (MASK_ALTIVEC, "__builtin_altivec_stvewx", void_ftype_v4si_int_pvoid, ALTIVEC_BUILTIN_STVEWX);
   def_builtin (MASK_ALTIVEC, "__builtin_altivec_stvxl", void_ftype_v4si_int_pvoid, ALTIVEC_BUILTIN_STVXL);
@@ -5550,7 +5568,7 @@ altivec_init_builtins ()
   /* Add the DST variants.  */
   d = (struct builtin_description *) bdesc_dst;
   for (i = 0; i < ARRAY_SIZE (bdesc_dst); i++, d++)
-    def_builtin (d->mask, d->name, void_ftype_pvoid_int_char, d->code);
+    def_builtin (d->mask, d->name, void_ftype_pcvoid_int_char, d->code);
 
   /* Initialize the predicates.  */
   dp = (struct builtin_description_predicates *) bdesc_altivec_preds;