Допустим, у меня есть
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>;