public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [gomp-nvptx 0/9] Codegen bits for NVPTX OpenMP SIMD
@ 2015-12-01 15:28 Alexander Monakov
  2015-12-01 15:28 ` [gomp-nvptx 8/9] libgomp: update gomp_nvptx_main for -mgomp Alexander Monakov
                   ` (8 more replies)
  0 siblings, 9 replies; 49+ messages in thread
From: Alexander Monakov @ 2015-12-01 15:28 UTC (permalink / raw)
  To: gcc-patches; +Cc: Jakub Jelinek, Bernd Schmidt, Dmitry Melnik

Hello!

This patch series shows how I'm approaching OpenMP SIMD for NVPTX.  It looks
good both in check-c testing and libgomp testing, including new target-3x.c
cases (but for-5.c fails to run with resource exhaustion, maybe it should be
split for NVPTX -- will investigate more later).

The previously posted patch to handle 'omp_data_o' is no longer necessary with
soft-stacks.

Looking forward to your comments.

Alexander

  nvptx backend: allow emitting COND_EXEC insns
  nvptx backend: new "uniform SIMT" codegen variant
  nvptx backend: add two more identifier maps
  nvptx backend: add -mgomp option and multilib
  new target hook: TARGET_SIMT_VF
  nvptx libgcc: rewrite in C
  nvptx mkoffload: pass -mgomp for OpenMP offloading
  libgomp: update gomp_nvptx_main for -mgomp
  adjust SIMD loop lowering for SIMT targets

 gcc/config/nvptx/mkoffload.c       |   7 ++
 gcc/config/nvptx/nvptx.c           | 181 ++++++++++++++++++++++++++++++++-----
 gcc/config/nvptx/nvptx.h           |   4 +
 gcc/config/nvptx/nvptx.md          |  61 +++++++++----
 gcc/config/nvptx/nvptx.opt         |   8 ++
 gcc/config/nvptx/t-nvptx           |   2 +
 gcc/doc/invoke.texi                |  19 ++++
 gcc/doc/tm.texi                    |   4 +
 gcc/doc/tm.texi.in                 |   2 +
 gcc/internal-fn.c                  |  22 +++++
 gcc/internal-fn.def                |   2 +
 gcc/omp-low.c                      | 138 ++++++++++++++++++++++++++--
 gcc/passes.def                     |   1 +
 gcc/target.def                     |  12 +++
 gcc/tree-pass.h                    |   2 +
 libgcc/config/nvptx/crt0.c         |  61 +++++++++++++
 libgcc/config/nvptx/crt0.s         |  54 -----------
 libgcc/config/nvptx/free.asm       |  50 ----------
 libgcc/config/nvptx/free.c         |  34 +++++++
 libgcc/config/nvptx/malloc.asm     |  55 -----------
 libgcc/config/nvptx/malloc.c       |  35 +++++++
 libgcc/config/nvptx/nvptx-malloc.h |   5 +
 libgcc/config/nvptx/realloc.c      |   2 +
 libgcc/config/nvptx/stacks.c       |  30 ++++++
 libgcc/config/nvptx/t-nvptx        |  11 ++-
 libgomp/config/nvptx/team.c        |  37 ++++++--
 26 files changed, 622 insertions(+), 217 deletions(-)
 create mode 100644 libgcc/config/nvptx/crt0.c
 delete mode 100644 libgcc/config/nvptx/crt0.s
 delete mode 100644 libgcc/config/nvptx/free.asm
 create mode 100644 libgcc/config/nvptx/free.c
 delete mode 100644 libgcc/config/nvptx/malloc.asm
 create mode 100644 libgcc/config/nvptx/malloc.c
 create mode 100644 libgcc/config/nvptx/stacks.c

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2015-12-07 15:13 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-01 15:28 [gomp-nvptx 0/9] Codegen bits for NVPTX OpenMP SIMD Alexander Monakov
2015-12-01 15:28 ` [gomp-nvptx 8/9] libgomp: update gomp_nvptx_main for -mgomp Alexander Monakov
2015-12-01 15:56   ` Bernd Schmidt
2015-12-02 11:02   ` Jakub Jelinek
2015-12-01 15:28 ` [gomp-nvptx 4/9] nvptx backend: add -mgomp option and multilib Alexander Monakov
2015-12-02 10:56   ` Jakub Jelinek
2015-12-02 14:18     ` Alexander Monakov
2015-12-03 10:42     ` Alexander Monakov
2015-12-01 15:28 ` [gomp-nvptx 2/9] nvptx backend: new "uniform SIMT" codegen variant Alexander Monakov
2015-12-01 16:02   ` Bernd Schmidt
2015-12-01 16:20     ` Alexander Monakov
2015-12-07 15:09     ` Nathan Sidwell
2015-12-02 10:40   ` Jakub Jelinek
2015-12-02 13:02     ` Nathan Sidwell
2015-12-02 13:10       ` Jakub Jelinek
2015-12-02 13:39         ` Nathan Sidwell
2015-12-02 13:46           ` Jakub Jelinek
2015-12-02 14:00             ` Bernd Schmidt
2015-12-02 14:14             ` Nathan Sidwell
2015-12-02 14:22               ` Jakub Jelinek
2015-12-02 14:23                 ` Nathan Sidwell
2015-12-02 14:24                   ` Jakub Jelinek
2015-12-02 14:34                     ` Alexander Monakov
2015-12-02 14:39                     ` Nathan Sidwell
2015-12-02 14:54         ` Alexander Monakov
2015-12-02 15:12           ` Jakub Jelinek
2015-12-02 15:18             ` Nathan Sidwell
     [not found]             ` <CABtfrpAyUtWub2CBHKYqN0aLNTZ1QspmxyQzOU6Gr+3ogZpSNA@mail.gmail.com>
2015-12-02 16:36               ` Jakub Jelinek
2015-12-02 17:09                 ` Nathan Sidwell
2015-12-02 17:09                 ` Alexander Monakov
2015-12-02 17:20                   ` Nathan Sidwell
2015-12-03 13:57                     ` Alexander Monakov
2015-12-02 14:41       ` Alexander Monakov
2015-12-02 14:43         ` Nathan Sidwell
2015-12-01 15:28 ` [gomp-nvptx 5/9] new target hook: TARGET_SIMT_VF Alexander Monakov
2015-12-01 15:28 ` [gomp-nvptx 9/9] adjust SIMD loop lowering for SIMT targets Alexander Monakov
2015-12-01 22:40   ` Alexander Monakov
2015-12-02 11:48   ` Jakub Jelinek
2015-12-02 13:54     ` Alexander Monakov
2015-12-02 14:02       ` Jakub Jelinek
2015-12-02 14:26         ` Alexander Monakov
2015-12-01 15:28 ` [gomp-nvptx 6/9] nvptx libgcc: rewrite in C Alexander Monakov
2015-12-01 23:52   ` Bernd Schmidt
2015-12-02  0:23     ` Alexander Monakov
2015-12-07 15:13     ` Nathan Sidwell
2015-12-01 15:28 ` [gomp-nvptx 7/9] nvptx mkoffload: pass -mgomp for OpenMP offloading Alexander Monakov
2015-12-01 15:46 ` [gomp-nvptx 3/9] nvptx backend: add two more identifier maps Alexander Monakov
2015-12-01 15:47 ` [gomp-nvptx 1/9] nvptx backend: allow emitting COND_EXEC insns Alexander Monakov
2015-12-02 13:31   ` Bernd Schmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).