ZHCUAQ1F july 2015 – april 2023
Example5-7 中的 C 代码实现了点积函数。内部循环展开一次,以利用 C6000 对单个 32 位寄存器中的两个 16 位数据项进行操作的能力。LDW 指令用于加载两个连续的短整型值。Example5-8 中的线性汇编指令实现了 dotp 循环内核。Example5-9 显示了由汇编优化器确定的循环内核。
对于此循环内核,有两个与数组 a[ ] 和 b[ ] 相关的限制:
组冲突:
MVK 0, A0
|| MVK 8, B0
LDW *A0, A1
无组冲突:
MVK 0, A0
|| MVK 4, B0
LDW *A0, A1
|| LDW *B0, B1