OpenMP: Fix SIMT for complex/float reduction with && and ||
authorTobias Burnus <tobias@codesourcery.com>
Fri, 7 May 2021 10:11:51 +0000 (12:11 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Fri, 7 May 2021 10:11:51 +0000 (12:11 +0200)
commit33b647956caa977d1ae489f9baed9cef70b4f382
tree465ce5bcdc9f33dff40257c7cad8db3dc0b62bc6
parenta4613d9ada54c334650d93edbb4c08069550099e
OpenMP: Fix SIMT for complex/float reduction with && and ||

2021-05-07  Tobias Burnus  <tobias@codesourcery.com>
    Tom de Vries  <tdevries@suse.de>

gcc/ChangeLog:

* omp-low.c (lower_rec_simd_input_clauses): Set max_vf = 1 if
a truth_value_p reduction variable is nonintegral.

libgomp/ChangeLog:

* testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
complex/floating-point || + && reduction with 'omp target'.
* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
gcc/omp-low.c
libgomp/testsuite/libgomp.c-c++-common/reduction-5.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/reduction-6.c [new file with mode: 0644]