[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-04-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-31 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #19 from rguenther at suse dot de --- On Wed, 31 Jan 2024, juzhe.zhong at rivai dot ai wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 > > --- Comment #18 from JuzheZhong --- > (In reply to rguent...@suse.de from

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-31 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #18 from JuzheZhong --- (In reply to rguent...@suse.de from comment #17) > On Wed, 31 Jan 2024, juzhe.zhong at rivai dot ai wrote: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 > > > > --- Comment #16 from JuzheZhong

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-31 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #17 from rguenther at suse dot de --- On Wed, 31 Jan 2024, juzhe.zhong at rivai dot ai wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 > > --- Comment #16 from JuzheZhong --- > (In reply to rguent...@suse.de from

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-31 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #16 from JuzheZhong --- (In reply to rguent...@suse.de from comment #15) > On Wed, 31 Jan 2024, juzhe.zhong at rivai dot ai wrote: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 > > > > --- Comment #14 from JuzheZhong

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-31 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #15 from rguenther at suse dot de --- On Wed, 31 Jan 2024, juzhe.zhong at rivai dot ai wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 > > --- Comment #14 from JuzheZhong --- > Thanks Richard. > > It seems that we

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-31 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #14 from JuzheZhong --- Thanks Richard. It seems that we can't fix this issue for now. Is that right ? If I understand correctly, do you mean we should wait after SLP representations are finished and then revisit this PR?

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-30 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #13 from Richard Biener --- (In reply to JuzheZhong from comment #12) > OK. It seems it has data dependency issue: > > missed: not vectorized, possible dependence between data-refs a[i_15] and > a[_4] > > a[i_15] = _3; STMT 1 >

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-30 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #12 from JuzheZhong --- OK. It seems it has data dependency issue: missed: not vectorized, possible dependence between data-refs a[i_15] and a[_4] a[i_15] = _3; STMT 1 _4 = i_15 + 2; _5 = a[_4];STMT 2 STMT2 should not

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-30 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #11 from JuzheZhong --- It seems that we should fix this case (Richard gave) first which I think it's not the SCEV or value-numbering issue: double a[1024]; void foo () { for (int i = 0; i < 1022; i += 2) { double tem =

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-30 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #10 from JuzheZhong --- I think the root cause is we think i_16 and _1 are alias due to scalar evolution: (get_scalar_evolution (scalar = i_16) (scalar_evolution = {0, +, 2}_1)) (get_scalar_evolution (scalar = _1)

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-30 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #9 from Richard Biener --- (In reply to JuzheZhong from comment #8) > Hi, Richard. > > Now, I find the time to GCC vectorization optimization. > > I find this case: > > _2 = a[_1]; > ... > a[i_16] = _4; > ,,, > _7 =

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2024-01-30 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #8 from JuzheZhong --- Hi, Richard. Now, I find the time to GCC vectorization optimization. I find this case: _2 = a[_1]; ... a[i_16] = _4; ,,, _7 = a[_1];---> This load should be eliminated and re-use _2. Am I

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2023-10-09 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 Richard Biener changed: What|Removed |Added Last reconfirmed|2021-03-05 00:00:00 |2023-10-9 --- Comment #7 from Richard

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2023-10-07 Thread juzhe.zhong at rivai dot ai via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 JuzheZhong changed: What|Removed |Added CC||juzhe.zhong at rivai dot ai --- Comment #6

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2022-10-18 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #5 from Richard Biener --- Fixing the CSE in the testcase by doing double a[1024]; void foo () { for (int i = 0; i < 1022; i += 2) { double tem = a[i+1]; a[i] = tem * a[i]; a[i+1] = a[i+2] * tem; } }

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2022-10-18 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #4 from Richard Biener --- So in the BB SLP attempt from loop vectorization (or in the BB SLP pass with -fno-predictive-commoning) we get confused during DR group building because of a duplicate access and fixup splitting the

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2021-03-05 Thread hubicka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 --- Comment #3 from Jan Hubicka --- ICC version seems to run faster 0040a050 : 40a050: 55 push %rbp 40a051: 48 89 e5mov%rsp,%rbp 40a054: 48 83 e4 e0 and

[Bug tree-optimization/99395] s116 benchmark of TSVC is vectorized by clang and not by gcc

2021-03-05 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395 Richard Biener changed: What|Removed |Added Last reconfirmed||2021-03-05 CC|