aboutsummaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2005-05-02 16:02:52 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2005-05-02 16:02:52 +0000
commit58646b77eddc64f8b2cb6041180c3680d85c1faf (patch)
treee40a83be7177af1bedc673ba3dca92cacef69468 /gcc/target-def.h
parent985484fde55fdc51170944750f729dab92964319 (diff)
downloadgcc-58646b77eddc64f8b2cb6041180c3680d85c1faf.zip
gcc-58646b77eddc64f8b2cb6041180c3680d85c1faf.tar.gz
gcc-58646b77eddc64f8b2cb6041180c3680d85c1faf.tar.bz2
c-common.c (resolve_overloaded_builtin): Forward to target hook for BUILT_IN_MD built-ins.
2005-05-02 Paolo Bonzini <bonzini@gnu.org> * c-common.c (resolve_overloaded_builtin): Forward to target hook for BUILT_IN_MD built-ins. * c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin for all types of built-in. * target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New. Use it in the definition of the target hooks struct. * target.h (struct gcc_target): Add resolve_overloaded_builtin. * config/rs6000/altivec.h: Rewritten. * config/rs6000/rs6000-c.c (struct altivec_builtin_types, altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin, rs6000_builtin_type, rs6000_builtin_type_compatible, altivec_overloaded_builtins, rs6000_builtin_type, rs6000_builtin_type_compatible): New. * config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls): New. (def_builtin): Turn into a function. Check for duplicates and store the builtin into rs6000_builtin_decls. (bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg, bdesc_1arg): Add overloaded builtins. (altivec_expand_builtin): Check for unresolved overloaded builtins, do not support ALTIVEC_COMPILETIME_ERROR. (rs6000_init_builtins): Add opaque 128-bit vector, and internal nodes to represent front-end types. (altivec_init_builtins, rs6000_common_init_builtins): Create builtins with opaque arguments and/or return values. * config/rs6000/rs6000.h (enum rs6000_builtins): Remove ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins. (rs6000_builtin_type_index): New. (is_ev64_opaque_type): Rename to... (rs6000_is_opaque_type): ... this. (rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin target hook. cp: 2005-05-02 Paolo Bonzini <bonzini@gnu.org> * semantics.c (finish_call_expr): Call resolve_overloaded_builtin for BUILT_IN_MD built-ins. testsuite: 2005-05-02 Paolo Bonzini <bonzini@gnu.org> * gcc.dg/altivec-3.c (vec_store): Do not use the old __builtin_altivec_st_internal_4si built-in. From-SVN: r99103
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r--gcc/target-def.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h
index 6e8a578..27e8511 100644
--- a/gcc/target-def.h
+++ b/gcc/target-def.h
@@ -296,6 +296,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
/* In builtins.c. */
#define TARGET_INIT_BUILTINS hook_void_void
#define TARGET_EXPAND_BUILTIN default_expand_builtin
+#define TARGET_RESOLVE_OVERLOADED_BUILTIN NULL
#define TARGET_FOLD_BUILTIN hook_tree_tree_tree_bool_null
/* In varasm.c. */
@@ -515,6 +516,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
TARGET_ALIGN_ANON_BITFIELD, \
TARGET_INIT_BUILTINS, \
TARGET_EXPAND_BUILTIN, \
+ TARGET_RESOLVE_OVERLOADED_BUILTIN, \
TARGET_FOLD_BUILTIN, \
TARGET_MANGLE_FUNDAMENTAL_TYPE, \
TARGET_INIT_LIBFUNCS, \