Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Hi Sander,
Sorry to be pain, but could you point to the document that describes this please? From the supplement, I can't see why a shifted operand is invalid.
cheers,
sam
Hi Sam, if you download the spec from:
https://developer.arm.com/docs/ddi0584/latest/arm-architecture-reference-manual-supplement-the-scalable-vector-extension-sve-for-armv8-a
the SVE Supplement links to the SVE Instruction Index in section 5.2.1. This should open the xhtml/index.html page with a list of all the instructions and all their details. For some reason the PDF link doesn't work for me, so opening the index.html directly is probably easiest. (I think the specific file you're looking for is: st1b_z_p_br.html)
Ok, for my sanity, I don't think the document descriptions match up, do you agree? The useful link you pointed me to only shows Xm as the scalar index, but 5.2.2 of the PDF supplement shows that the index can be scaled with LSL.
Are you referring to the 'assembler syntax' table? I think this table needs to be read in conjunction with the following paragraph (section 5.2.2, page 42):
Load, store, and prefetch instructions that multiply a scalar index register or an index vector element by the memory element access size specify a shift type, followed by a shift amount in bits. The shift type can be one of LSL, SXTW, or UXTW. The shift amount is always Log2 of the memory element access size, in bytes. The shift amount defaults to zero when the memory element access size is a byte. The shift type of LSL must be omitted if the shift amount is omitted.