Hello Michael, Sorry for the late reply. I found the email in the spam folder today.
> >>> We'd also want an unbounded piece operator to describe partially > registerized > >>> unbounded arrays, but I have not worked that out in detail, yet, and > >>> we're a > bit > >>> farther away from an implementation. > >> > >> Can you describe this more? > > > > Consider a large array kept in memory and a for loop iterating over the > > array. > If that > > loop gets vectorized, compilers would load a portion of the array into > > registers > at the > > beginning of the loop body, operate on the registers, and write them back at > the end > > of the loop body. > > > > The entire array can be split into three pieces: > > - elements that have already been processed: in memory > > - elements that are currently being processed: in registers > > - elements that will be processed in future iterations: in memory > > > > For unbounded arrays, the size of the third piece is not known. > > When would you need to know the third piece? > > How is this different from a non-vector processor doing an optimized > string operation, loading 4 characters into a register at a time? If > the string is nul-terminated, the string length might be unknown. I don't think that this is different from the use-case I sketched above. We wouldn't even need to load a sequence of elements. Loading a single element would produce the same scenario. Can this be described in DWARF today? Markus. Intel Deutschland GmbH Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Gary Kershaw Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928 _______________________________________________ Dwarf-Discuss mailing list Dwarf-Discuss@lists.dwarfstd.org http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org