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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
                 CC|                            |rguenth at gcc dot gnu.org
      Known to fail|                            |15.3.0
           Keywords|                            |needs-bisection

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Program received signal SIGSEGV, Segmentation fault.
Builder::build (this=this@entry=0x7fffffffd7e0, start=start@entry=0, 
    end=end@entry=3, node_idx=node_idx@entry=0, 
    current_buckets=current_buckets@entry=1) at t.C:46
46                           buckets[bucket_idx].coords[d][i] = INF;

   0x0000000000401745 <+965>:   shufps $0x0,%xmm0,%xmm0
   0x0000000000401749 <+969>:   lea    (%r11,%rdx,4),%rdx
   0x000000000040174d <+973>:   add    %rdx,%rcx
=> 0x0000000000401750 <+976>:   movaps %xmm0,(%rdx)
   0x0000000000401753 <+979>:   add    $0x10,%rdx
   0x0000000000401757 <+983>:   movaps %xmm0,0x70(%rdx)
   0x000000000040175b <+987>:   movaps %xmm0,0xf0(%rdx)

We are vectorizing the outer loop

             for (std::size_t i = size; i < LEAF; ++i) {
                 for (std::size_t d = 0; d < D; ++d)
                     buckets[bucket_idx].coords[d][i] = INF;
                 buckets[bucket_idx].ids[i] = 0xFFFFFFFFu;
             }

t.C:44:43: optimized: Loop nest 2 distributed: split to 1 loops and 1 library
calls.
t.C:44:43: optimized: loop vectorized using 16 byte vectors

t.C:44:43: note:   === vect_analyze_data_refs_alignment ===
t.C:44:43: note:   recording new base alignment for _49 + ((sizetype)
node_idx_553 - (sizetype) _350) * 512
  alignment:    64
  misalignment: 0
  based on:     _51->coords[d_360][i_393] = 9.99999986991104e+14;
t.C:44:43: note:   recording new base alignment for (struct element_type &) _49
+ (((sizetype) node_idx_553 - (sizetype) _350) * 128 + (sizetype) size_556) * 4
  alignment:    64
  misalignment: 0
  based on:     _51->coords[d_360][i_393] = 9.99999986991104e+14;
t.C:44:43: note:   vect_compute_data_ref_alignment:
t.C:44:43: note:   inner step divides the vector alignment.
t.C:44:43: missed:   misalign = 0 bytes of ref _51->coords[d_360][i_393]

something goes wrong with alignment analysis it seems.  Bisection might help.

Reply via email to