[gcc]
commit087d57054e403cef11c386bbf39b9a2b601e6a2f
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jun 2017 17:37:58 +0000 (5 17:37 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jun 2017 17:37:58 +0000 (5 17:37 +0000)
treeed5d6e10af61a994f1379aa66862ab710ce6452d
parentae8365d5e807876e42962205b66ce76a9504108e
[gcc]
2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (toplevel): Include attribs.h.
(CLONE_*): New constants to define the processors we can generate
code for with the target_clone attribute.
(rs6000_clone_map): New array to identify which clone processors
the current program is running on.
(TARGET_COMPARE_VERSION_PRIORITY): Define to enable the
target_clone attribute.
(TARGET_GENERATE_VERSION_DISPATCHER_BODY): Likewise.
(TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): Likewise.
(TARGET_OPTION_FUNCTION_VERSIONS): Likewise.
(cpu_expand_builtin): Add support for target_clone attribute.
(rs6000_valid_attribute_p): Allow "default" attribute.
(get_decl_name): New debug function to simplify printing the
current function name in debugging statements.
(rs6000_clone_priority): New functions to support the target_clone
attribute, and be able to generate code to switch between ISA 2.05
through ISA 3.0 (power6 through power9).
(rs6000_compare_version_priority): Likewise.
(rs6000_get_function_versions_dispatcher): Likewise.
(make_resolver_func): Likewise.
(add_condition_to_bb): Likewise.
(dispatch_function_versions): Likewise.
(rs6000_generate_version_dispatcher_body): Likewise.
(rs6000_can_inline_p): Call get_decl_name for debugging usage.
(fusion_gpr_load_p): Fix a spacing issue.
* doc/extend.texi (Common Function Attributes): Document that the
PowerPC supports the target_clone attribute.

[gcc/testsuite]
2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/clone1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248883 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/clone1.c [new file with mode: 0644]