[Bug libgomp/58482] gomp4: user defined reduction produce wrong result

2013-09-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58482 --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org --- Author: jakub Date: Thu Sep 26 07:58:02 2013 New Revision: 202937 URL: http://gcc.gnu.org/viewcvs?rev=202937root=gccview=rev Log: PR libgomp/58482 * c-omp.c

[Bug libgomp/58482] gomp4: user defined reduction produce wrong result

2013-09-21 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58482 --- Comment #4 from vincenzo Innocente vincenzo.innocente at cern dot ch --- I see. I have several use cases in which the reduction requires the access to two variables (minloc for instance: the minimum and its location) btw tried omp parallel

[Bug libgomp/58482] gomp4: user defined reduction produce wrong result

2013-09-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58482 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org --- There is no problem with having as many reductions as you need, if they are separate variables; the only case that will prevent vectorization is if you have a struct/class with

[Bug libgomp/58482] gomp4: user defined reduction produce wrong result

2013-09-20 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58482 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED

[Bug libgomp/58482] gomp4: user defined reduction produce wrong result

2013-09-20 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58482 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org --- It is well known that we don't vectorize this, right now we only handle accesses to the SIMD lane privatized vars that cover the whole size of those vars, while in your testcase the

[Bug libgomp/58482] gomp4: user defined reduction produce wrong result

2013-09-20 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58482 --- Comment #2 from vincenzo Innocente vincenzo.innocente at cern dot ch --- Thanks Jakub for the clear answer. The reduction operator should be strictly commutative! and I now understand the meaning of omp declare reduction (I hope) so I