问题
What exactly will happen with below 2 lines of code?
vst1.64 {d8, d9, d10, d11}, [r4:128]!
vst1.64 {d12, d13, d14, d15}, [r4:128]
More generally, I want to know what VST & VLD do since doc from: ARM InfoCenter doesn't make it clear for me.
回答1:
vst1.64 {d8, d9, d10, d11}, [r4:128]!
This instruction stores the content of the registers d8, d9, d10 and d11 at the location pointed by r4. This location is hinted to be aligned to a 128 bit boundary. Afterwards r4 will be incremented by the amount of bytes stored. These would be 32 (four times 8 bytes) in your case
vst1.64 {d12, d13, d14, d15}, [r4:128]
This instruction does the same as the above but stores d12, d13, d14 and d15. R4 will not be incremented but left where it is.
来源:https://stackoverflow.com/questions/38386861/what-vst-vld-actually-do