[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-23 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #14 from Richard Biener --- Author: rguenth Date: Wed Mar 23 13:40:50 2016 New Revision: 234427 URL: https://gcc.gnu.org/viewcvs?rev=234427&root=gcc&view=rev Log: 2016-03-23 Richard Biener PR middle-end/70251 * ma

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #13 from Richard Biener --- Author: rguenth Date: Tue Mar 22 14:38:42 2016 New Revision: 234405 URL: https://gcc.gnu.org/viewcvs?rev=234405&root=gcc&view=rev Log: 2016-03-22 Richard Biener PR middle-end/70251 * ge

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #12 from Richard Biener --- Thanks - I'm testing a fix for that and will adjust the match.pd patterns accordingly (without adding a cmp ? -1 : 0 -> VIEW_CONVERT_EXPR pattern). I verified the original aarch64 testcase still works after

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-21 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #11 from Marc Glisse --- (In reply to rguent...@suse.de from comment #10) > > Unless we start transforming x?-1:0 into > > view_convert_expr(x) under the same condition (VECTOR_MODE_P(...)), it > > doesn't > > make sense to me. > >

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-21 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #10 from rguenther at suse dot de --- On Sat, 19 Mar 2016, glisse at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 > > --- Comment #9 from Marc Glisse --- > I don't find the current situation very cons

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-19 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #9 from Marc Glisse --- I don't find the current situation very consistent. We seem to consider that in gimple, the output of a vector comparison can only be used directly in a vec_cond_expr (possibly also {and,ior,xor,bit_not}_expr?)

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-19 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #2 from Ilya Enkovich --- Here is a responsible match.pd pattern: /* A + (B vcmp C ? 1 : 0) -> A - (B vcmp C), since vector comparisons return all-1 or all-0 results. */ /* ??? We could instead convert all instances of the vec_co

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-19 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #5 from rguenther at suse dot de --- On Wed, 16 Mar 2016, glisse at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 > > --- Comment #4 from Marc Glisse --- > (In reply to Ilya Enkovich from comment #2) >

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-19 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #6 from Ilya Enkovich --- (In reply to rguent...@suse.de from comment #5) > I think that would be an odd transform. But yes, The pattern is probably > dead now and can as well be removed... This test proves pattern is not dead and s

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-19 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 Ilya Enkovich changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-19 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #3 from rguenther at suse dot de --- On Wed, 16 Mar 2016, ienkovich at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 > > --- Comment #2 from Ilya Enkovich --- > Here is a responsible match.pd pattern:

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-19 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 Ilya Enkovich changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-18 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #7 from rguenther at suse dot de --- On Thu, 17 Mar 2016, ienkovich at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 > > --- Comment #6 from Ilya Enkovich --- > (In reply to rguent...@suse.de from comm

[Bug tree-optimization/70251] Wrong code with -O3 -march=skylake-avx512.

2016-03-18 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70251 --- Comment #4 from Marc Glisse --- (In reply to Ilya Enkovich from comment #2) > Here is a responsible match.pd pattern: > > /* A + (B vcmp C ? 1 : 0) -> A - (B vcmp C), since vector comparisons >return all-1 or all-0 results. */ Since we