aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2002-11-28 05:29:12 +0000
committerZack Weinberg <zack@gcc.gnu.org>2002-11-28 05:29:12 +0000
commit0dbc3651e105dccd8705790271a33c6d68e22b03 (patch)
tree4b53ba6aab4d4589a5ca3c4e1f4405b26cfc89e3
parentd1aed877ee9f7868662f49d9a11bfee9390fd00f (diff)
downloadgcc-0dbc3651e105dccd8705790271a33c6d68e22b03.zip
gcc-0dbc3651e105dccd8705790271a33c6d68e22b03.tar.gz
gcc-0dbc3651e105dccd8705790271a33c6d68e22b03.tar.bz2
rs6000.c (altivec_init_builtins): Make the pointer argument in the prototypes of the following builtins be (const...
* 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 From-SVN: r59596
-rw-r--r--gcc/ChangeLog47
-rw-r--r--gcc/config/rs6000/rs6000.c84
2 files changed, 85 insertions, 46 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2dbc24a..86e6932 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index c37087f..5c0ef2f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -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;