What VST/VLD actually do?

2019-07-15 01:54发布

问题:

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.