diff options
Diffstat (limited to 'gcc/ChangeLog.gomp-nvptx')
-rw-r--r-- | gcc/ChangeLog.gomp-nvptx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog.gomp-nvptx b/gcc/ChangeLog.gomp-nvptx index 260a2b6e78c..43f712e2de7 100644 --- a/gcc/ChangeLog.gomp-nvptx +++ b/gcc/ChangeLog.gomp-nvptx @@ -1,5 +1,32 @@ 2015-12-09 Alexander Monakov <amonakov@ispras.ru> + * config/nvptx/nvptx.c (need_unisimt_decl): New variable. Set it... + (nvptx_init_unisimt_predicate): ...here (new function) and use it... + (nvptx_file_end): ...here to emit declaration of __nvptx_uni array. + (nvptx_declare_function_name): Call nvptx_init_unisimt_predicate. + (nvptx_get_unisimt_master): New helper function. + (nvptx_get_unisimt_predicate): Ditto. + (nvptx_call_insn_is_syscall_p): Ditto. + (nvptx_unisimt_handle_set): Ditto. + (nvptx_reorg_uniform_simt): New. Transform code for -muniform-simt. + (nvptx_get_axis_predicate): New helper function, factored out from... + (nvptx_single): ...here. + (nvptx_reorg): Call nvptx_reorg_uniform_simt. + * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Define + __nvptx_unisimt__ when -muniform-simt option is active. + (struct machine_function): Add unisimt_master, unisimt_predicate + rtx fields. + * config/nvptx/nvptx.md (divergent): New attribute. + (atomic_compare_and_swap<mode>_1): Mark as divergent. + (atomic_exchange<mode>): Ditto. + (atomic_fetch_add<mode>): Ditto. + (atomic_fetch_addsf): Ditto. + (atomic_fetch_<logic><mode>): Ditto. + * config/nvptx/nvptx.opt (muniform-simt): New option. + * doc/invoke.texi (-muniform-simt): Document. + +2015-12-09 Alexander Monakov <amonakov@ispras.ru> + * config/nvptx/nvptx.c (nvptx_output_call_insn): Handle COND_EXEC patterns. Emit instruction predicate. (nvptx_print_operand): Unbreak handling of instruction predicates. |