https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116431

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
$ gcc -c -fstack-protector-strong -fdiagnostics-plain-output --param
min-vect-loop-bound=1 --param max-unrolled-insns=200 --param max-unroll-times=8
--param max-completely-peeled-insns=200 --param max-completely-peel-times=16
-march=z15 -mzarch -ftree-vectorize -fno-tree-loop-distribute-patterns
-fno-vect-cost-model -fno-common -O2 -fdump-tree-vect-details -O3
-fno-unroll-loops --param=vect-epilogues-nomask=0 -fdump-tree-optimized
-march=z13 -mzarch pr109011-1.c

produces

```
  vect_patt_22.8_41 = .POPCOUNT (vect__4.7_40);
  _122 = (unsigned long) vectp_p.9_42;
  _121 = _122 + 464;
  _182 = (vector(2) long long int *) _121;
  __builtin_prefetch (_182, 1, 3);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42] =
vect_patt_22.8_41;
  vect__4.7_3 = MEM <vector(2) long long int> [(long long int *)_162 + 16B];
  vect_patt_22.8_4 = .POPCOUNT (vect__4.7_3);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 16B] =
vect_patt_22.8_4;
  vect__4.7_24 = MEM <vector(2) long long int> [(long long int *)_162 + 32B];
  vect_patt_22.8_14 = .POPCOUNT (vect__4.7_24);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 32B] =
vect_patt_22.8_14;
  vect__4.7_55 = MEM <vector(2) long long int> [(long long int *)_162 + 48B];
  vect_patt_22.8_56 = .POPCOUNT (vect__4.7_55);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 48B] =
vect_patt_22.8_56;
  vect__4.7_65 = MEM <vector(2) long long int> [(long long int *)_162 + 64B];
  vect_patt_22.8_66 = .POPCOUNT (vect__4.7_65);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 64B] =
vect_patt_22.8_66;
  vect__4.7_75 = MEM <vector(2) long long int> [(long long int *)_162 + 80B];
  vect_patt_22.8_76 = .POPCOUNT (vect__4.7_75);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 80B] =
vect_patt_22.8_76;
  vect__4.7_85 = MEM <vector(2) long long int> [(long long int *)_162 + 96B];
  vect_patt_22.8_86 = .POPCOUNT (vect__4.7_85);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 96B] =
vect_patt_22.8_86;
  vect__4.7_95 = MEM <vector(2) long long int> [(long long int *)_162 + 112B];
  vect_patt_22.8_96 = .POPCOUNT (vect__4.7_95);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 112B] =
vect_patt_22.8_96;
  vect__4.7_105 = MEM <vector(2) long long int> [(long long int *)_162 + 128B];
  vect_patt_22.8_106 = .POPCOUNT (vect__4.7_105);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 128B] =
vect_patt_22.8_106;
  vect__4.7_115 = MEM <vector(2) long long int> [(long long int *)_162 + 144B];
  vect_patt_22.8_116 = .POPCOUNT (vect__4.7_115);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 144B] =
vect_patt_22.8_116;
  vect__4.7_125 = MEM <vector(2) long long int> [(long long int *)_162 + 160B];
  vect_patt_22.8_126 = .POPCOUNT (vect__4.7_125);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 160B] =
vect_patt_22.8_126;
  vect__4.7_135 = MEM <vector(2) long long int> [(long long int *)_162 + 176B];
  vect_patt_22.8_136 = .POPCOUNT (vect__4.7_135);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 176B] =
vect_patt_22.8_136;
  vect__4.7_145 = MEM <vector(2) long long int> [(long long int *)_162 + 192B];
  vect_patt_22.8_146 = .POPCOUNT (vect__4.7_145);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 192B] =
vect_patt_22.8_146;
  vect__4.7_155 = MEM <vector(2) long long int> [(long long int *)_162 + 208B];
  vect_patt_22.8_156 = .POPCOUNT (vect__4.7_155);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 208B] =
vect_patt_22.8_156;
  vect__4.7_165 = MEM <vector(2) long long int> [(long long int *)_162 + 224B];
  vect_patt_22.8_166 = .POPCOUNT (vect__4.7_165);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 224B] =
vect_patt_22.8_166;
  vect__4.7_175 = MEM <vector(2) long long int> [(long long int *)_162 + 240B];
  vect_patt_22.8_176 = .POPCOUNT (vect__4.7_175);
  MEM <vector(2) long long int> [(long long int *)vectp_p.9_42 + 240B] =
vect_patt_22.8_176;
```

so the pattern is there too many times:

gcc.dg/vect/pr109011-1.c: pattern found 16 times

Reply via email to