## 按行 take:table[rows]:数值检查通过;HLO 段共 138 个 bundle 指令统计: cld.8x128×3、cst.8x128×1、dma.simple×6、por×22、sadd.s32×30、sand.u32×11、sfence×1、shalt×11、simm.s32×10、sld×8、slt.s32×22、sne.s32×11、vadd.8x128.s32×2、vand.8x128.u32×3、veq.8x128.s32×1、vge.8x128.s32×2、vimm.8x128.s32×1、vlaneseq.8x128.u32×2、vld.8x128×10、vle.8x128.s32×2、vlt.8x128.s32×3、vor.8x128.u32×1、vpackc.8x128.f32.f16×2、vperm.0.8x128×1、vpop.8x128×4、vsel.8x128×8、vsetperm.2.all.u8×1、vshll.8x128.s32×2、vshrl.8x128.s32×1、vst.8x128×9、vsyncadd.s32×6、vsyncpa.u1×9、vwait.ge×6 HLO 段: %compare_select_fusion = fusion(%b.1);%pad_clamp_fusion = fusion(%compare_select_fusion);%gather_fusion = fusion(%copy-done, %pad_clamp_fusion);%compare_and_fusion = fusion(%copy-done.1);%broadcast_select_fusion = fusion(%gather_fusion, %compare_and_fusion) ## lane gather:take_along_axis:数值检查通过;HLO 段共 537 个 bundle 指令统计: cld.8x128×66、cst.8x128×1、dma.simple×4、por×12、sadd.s32×222、sand.u32×201、sbr.rel×5、seq.s32×3、sfence×1、sge.s32×4、sgt.s32×4、shalt×4、simm.s32×77、sld×75、slt.s32×12、smov×7、sne.s32×8、sshll.u32×10、sshrl.u32×133、sst×10、ssub.s32×4、vadd.8x128.s32×2、vand.8x128.u32×1、veq.8x128.s32×128、vge.8x128.s32×2、vgt.8x128.s32×1、vlaneseq.8x128.u32×2、vld.8x128×1、vle.8x128.s32×2、vlt.8x128.s32×3、vmand.8x128.u1×64、vmov.8x128×192、vor.8x128.u32×1、vperm.1.8x128×32、vperm.2.8x128×32、vpop.8x128×130、vsel.8x128×8、vsetperm.0.u8×33、vsetperm.3.u8×32、vshll.8x128.s32×1、vshrl.8x128.s32×2、vst.8x128×1、vst.msk.8x128×64、vsyncadd.s32×5、vsyncpa.u1×9、vwait.ge×4 HLO 段: %fusion = fusion(%b.1);%gather_fusion = fusion(%copy-done, %fusion);%bitcast_select_fusion = fusion(%gather_fusion, %copy-done.1) ## lane scatter:out[s, p[s,l]] = x[s,l]:数值检查通过;HLO 段共 1939 个 bundle 指令统计: cld.8x128×6、cst.8x128×1、dma.simple×9、por×293、sadd.s32×303、sand.u32×275、sbr.rel×5、sfence×1、sge.s32×259、sgt.s32×2、shalt×16、simm.s32×786、sld×515、slt.s32×291、sne.s32×16、sshll.u32×262、sshrl.u32×256、sst×1、ssub.s32×260、vadd.8x128.s32×13、vand.8x128.u32×12、vcvt.8x128.f32.s32×12、vcvt.8x128.s32.f32×12、veq.8x128.s32×257、vgt.8x128.s32×1、vimm.8x128.s32×6、vlaneseq.8x128.u32×2、vld.8x128×6、vle.8x128.s32×1、vlt.8x128.s32×3、vmov.8x128×513、vmul.8x128.f32×12、vor.8x128.u32×2、vpackc.8x128.f32.f16×2、vperm.0.8x128×2、vperm.2.8x128×2、vpop.8x128×10、vsel.8x128×6、vsetperm.0.u8×3、vsetperm.2.u8×2、vshll.8x128.s32×6、vshra.8x128.s32×1、vshrl.8x128.s32×10、vst.8x128×7、vst.msk.8x128×256、vsyncadd.s32×7、vsyncpa.u1×17、vunpackl.8x128.f16.f32×2、vwait.ge×9 HLO 段: %fusion = fusion(%b.1);%iota.2 = iota();%and_reduce_fusion = fusion(%fusion, %iota.2, %copy-done);%multiply_reduce_fusion = fusion(%fusion, %iota.2, %copy-done.1);%select_bitcast_fusion = fusion(%and_reduce_fusion, %multiply_reduce_fusion);%scatter_custom_fusion = fusion(%select_bitcast_fusion, %bitcast.7, %constant.9)