跳转至

L.SHI.U

说明

立即数偏移无缩放·存半字(Store Halfword with Unscaled Immediate Offset)
本指令将数据寄存器中两个字节(byte)数据存入目标地址指向的内存中,目标地址由 基址寄存器有符号立即数偏移 计算得到。

汇编语法

    l.shi.u<.local> SrcL.<T>, [SrcR<.ud>, simm]

汇编符号

  • local:表示访问Tile寄存器的空间,缺省表示访问内存空间。
  • SrcL:数据寄存器,可以索引的寄存器类型请见长指令介绍
  • SrcR:基址寄存器,可以索引的寄存器类型请见长指令介绍
  • T:指令操作数的数据类型,可选类型包括sh,sw,sd,uh,uw,ud。
  • simm:有符号立即数偏移,该参数编码于simm24字段。

如果输入寄存器是向量寄存器,那么应使用本指令对应的向量版本。

编码格式

L.SHI.U

其中,L标志位含义如下:

L(local) 含义
0 访问内存空间
1 访问Tile寄存器空间

寄存器字段的编解码方式请见长指令编码小节。

执行方式

    integer {m, srcWidth1} = DecodeINT(SrcL);
    integer {n, srcWidth2} = DecodeINT(SrcR);

    bits(srcWidth1) data = SREG[m, srcWidth1];
    bits(64) base = SREG[n, srcWidth2];
    bits(64) offset = SignExtend(simm24);
    bits(64) address = base + offset;

    Mem[address] = data[15:0];

注意事项

  1. 本指令支持地址非对齐访问。
  2. 本指令不占块内私有寄存器槽位。

备注

  1. 本指令属于超长指令扩展,可用于向量数据块或访存数据块的块体内。
  2. 本指令的向量版本请见V.SHI.U