3.6.8.13 l1bmr<rrn_opcode>-2長語16x1縮約
各L1BMについて、各MAB配下の4PEからサイクルあたり 2 長語ずつを読み出し、MAB方向には縮約、PE方向には結合してL1BMにサイクルあたり 8 長語で書き込む。
2 長語動作は単精度の浮動小数点数演算または任意精度のborについてのみ可能である。
この命令は3.6.8.4 入力の精度拡張で述べた、半精度から単精度への入力値変換つきの動作を指定可能である。
code:文法
l1bmr<rrn_opcode> <src> $llb<addr_b>
<rrn_opcode>は3.5.5 縮約演算指定で定めた縮約演算指定である。
<src>は読み出し元PEオペランドである。
L1BMアドレス<addr_b>は 8 長語アラインである必要がある。
code:txt
効果
for cycle= 0:4
forall group,l2b,l1b
LongWord data42
data:: =get_unit_value(rrn_opcode)
forall mab,pe
datape0:2 =rrn_opcode(datape0:2,MEMgroupl2bl1bmabpe.
refer_pemem(src,cycle))
uint_t dst_addr=addr_b +cycle* 8
MEMgroupl2bl1b.l1bmdst_addr:dst_addr+4 =data0:40
MEMgroupl2bl1b.l1bmdst_addr+4:dst_addr+8 =data0:41
code:txt
注意:縮約を内部的に実際にこの手順で行っているわけではない。