[nvptx] Handle V2DI/V2SI mode in nvptx_gen_shuffle
authorTom de Vries <tdevries@suse.de>
Tue, 4 Aug 2020 07:53:08 +0000 (09:53 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 4 Aug 2020 09:59:08 +0000 (11:59 +0200)
commit344f09a756ebd50510cc1eb3db111fd61c527702
treea58e2ebb455ec00a2ddf6f706d6493a7dd077eb6
parent95f5a3258dd8a9584f2b10304f79441ef2d4c64c
[nvptx] Handle V2DI/V2SI mode in nvptx_gen_shuffle

With the pr96628-part1.f90 source and -ftree-slp-vectorize, we run into an
ICE due to the fact that V2DI mode is not handled in nvptx_gen_shuffle.

Fix this by adding handling of V2DI as well as V2SI mode in
nvptx_gen_shuffle.

Build and reg-tested on x86_64 with nvptx accelerator.

gcc/ChangeLog:

PR target/96428
* config/nvptx/nvptx.c (nvptx_gen_shuffle): Handle V2SI/V2DI.

libgomp/ChangeLog:

PR target/96428
* testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
* testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
gcc/config/nvptx/nvptx.c
libgomp/testsuite/libgomp.oacc-fortran/pr96628-part1.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/pr96628-part2.f90 [new file with mode: 0644]