## 逐个 bundle 加长:前 p 个 bundle 的 R2 − R0 p = 1:实测 14,没有写后读规则的模型 14,差 0(+0),加上规则的模型 14 va0: vadd.8x128.s32 v11, 1, v10 p = 2:实测 15,没有写后读规则的模型 15,差 0(+0),加上规则的模型 15 vst: vst.8x128 [vmem:0x80], v11 p = 3:实测 16,没有写后读规则的模型 16,差 0(+0),加上规则的模型 16 va0: vadd.8x128.s32 v12, 2, v10 p = 4:实测 17,没有写后读规则的模型 17,差 0(+0),加上规则的模型 17 va0: vadd.8x128.s32 v13, v12, v11 p = 5:实测 22,没有写后读规则的模型 18,差 4(+4),加上规则的模型 22 vld: vld.8x128 v14, [vmem:0x80] p = 6:实测 23,没有写后读规则的模型 19,差 4(+0),加上规则的模型 23 va0: vadd.8x128.s32 v15, v14, v13 p = 7:实测 24,没有写后读规则的模型 20,差 4(+0),加上规则的模型 24 vst: vst.8x128 [vmem:0x88], v15 p = 8:实测 25,没有写后读规则的模型 21,差 4(+0),加上规则的模型 25 vld: vld.8x128 v16, [vmem:0x90] p = 9:实测 26,没有写后读规则的模型 22,差 4(+0),加上规则的模型 26 va0: vadd.8x128.s32 v17, v16, v15 p = 10:实测 31,没有写后读规则的模型 23,差 8(+4),加上规则的模型 31 vld: vld.8x128 v18, [vmem:0x88] p = 11:实测 32,没有写后读规则的模型 24,差 8(+0),加上规则的模型 32 va0: vadd.8x128.s32 v19, v18, v17 p = 12:实测 33,没有写后读规则的模型 25,差 8(+0),加上规则的模型 33 vst: vst.8x128 [vmem:0x80], v19 ## vst 之后隔 d − 1 个 vnop 再 vld,R2 − R0 读同一个 tile(0x80):d = 1:21,d = 2:21,d = 4:21,d = 6:21,d = 7:21,d = 8:22,d = 10:24 读错开 4 行的 tile(0x84):d = 1:21,d = 2:21,d = 4:21,d = 6:21,d = 7:21,d = 8:22,d = 10:24 读相邻的 tile(0x88):d = 1:15,d = 2:16,d = 4:18,d = 6:20,d = 7:21,d = 8:22,d = 10:24 ## 其他排列,R2 − R0(实测,模型) vst 与读同一个 tile 的 vld 在同一个 bundle:14,14 8 组(vst、读同一个 tile 的 vld):77,77 8 组(vst、读相邻 tile 的 vld):29,29 8 条 vst,再 8 条读同一个 tile 的 vld:35,35 8 组(读同一个 tile 的 vld、vst):71,71