diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2002-11-28 05:29:12 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2002-11-28 05:29:12 +0000 |
commit | 0dbc3651e105dccd8705790271a33c6d68e22b03 (patch) | |
tree | 4b53ba6aab4d4589a5ca3c4e1f4405b26cfc89e3 | |
parent | d1aed877ee9f7868662f49d9a11bfee9390fd00f (diff) | |
download | gcc-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/ChangeLog | 47 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 84 |
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; |