假设我有
t55: v16i32 = sign_extend t54
t56: v16i32 = mul t55, t55
其中t54
是v16i16
。
所以我想生成vmpy {square} Va.v16i16,vZ0.v8i32,vZ1.v8i32 所以我需要捕捉的模式是:
mul (v16i32 (sext (v16i16 vRegs:$src0))),(v16i32 (sext (v16i16 vRegs:$src0)))
但结果如何? 如何将2个v8i32输出转换为一个v16i32? 意思是:
def : Pat<(v16i32 (mul (v16i32 (sext (v16i16 vRegs:$src0))),(v16i32 (sext
(v16i16 vRegs:$src0)))),
vmpy_vA_vZ0_vZ1_square $src0>;