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

--- Comment #6 from Stefan Schulze Frielinghaus <stefansf at gcc dot gnu.org> 
---
(In reply to Jakub Jelinek from comment #2)
> The emitted instructions used to be
> vll   %v2,%r1,164(%r15)
> I can't find documentation for it, but the %r1 in there is the value of the
> 4th .LEN_LOAD operand and clearly the instruction loads %r1+1 bytes [...]

Right, instruction VECTOR LOAD WITH LENGTH (vll) loads as you said %r1+1 bytes.
 It is a bit cryptic to read from the Principles of Operations which reads that
up to the byte index specified by %r1 is read which basically means %r1+1 bytes
are read. The version targeting z17 can be found here:
https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf

(In reply to Robin Dapp from comment #5)
[...]
> I can take it but won't get to it very soon.  If somebody else wants to,
> feel free.
> 
> The whole len area is messy/inconsistent and something I wanted to clean up
> this year but haven't found time yet...

I haven't wrapped my head around this.  Let me finish some patches and I will
also give it a try.

Reply via email to