On 7/20/20 8:24 AM, Metzger, Markus T wrote:
Hello Michael,
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.
--
Michael Eager
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org