在ARMv8/9的SVE (Scalable Vector Extension) 指令集中,st2d和ld2d指令用于向量化的存储和加载操作,具体地,它们允许同时对两个向量寄存器进行连续的存储或加载操作,适用于处理双精度浮点数或双字整数等64位数据类型。这些指令非常有用于需要连续处理数据块的场景,比如矩阵计算或图像处理。
ld2d指令从内存中加载两个连续的双字数据到两个向量寄存器中。它的基本格式如下:
LD2D { .D, .D }, /Z, [, , LSL #3]

Zt1.D和Zt2.D是目标向量寄存器,用于存储加载的数据,.D指示操作的数据类型为双字。Pg/Z是谓词寄存器,用于控制加载操作,实现条件加载。[Xn, Xm{, LSL #shift}] 是内存地址生成方式,Xn 是一个64位的标量基址寄存器,Xm 是一个64位的标量索引寄存器,可选地通过左移 (LSL