Index: llvm/trunk/lib/Target/ARM/ARMInstrMVE.td =================================================================== --- llvm/trunk/lib/Target/ARM/ARMInstrMVE.td +++ llvm/trunk/lib/Target/ARM/ARMInstrMVE.td @@ -2747,10 +2747,13 @@ } class MVE_VQxDMLxDH size, list pattern=[]> + string suffix, bits<2> size, bit earlyclobber, + list pattern=[]> : MVE_qDest_qSrc { + (ins MQPR:$Qd_src, MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm", + vpred_n, + !if(earlyclobber, "@earlyclobber $Qd,", "") # "$Qd = $Qd_src", + pattern> { bits<4> Qn; let Inst{28} = subtract; @@ -2765,9 +2768,9 @@ multiclass MVE_VQxDMLxDH_multi { - def s8 : MVE_VQxDMLxDH; - def s16 : MVE_VQxDMLxDH; - def s32 : MVE_VQxDMLxDH; + def s8 : MVE_VQxDMLxDH; + def s16 : MVE_VQxDMLxDH; + def s32 : MVE_VQxDMLxDH; } defm MVE_VQDMLADH : MVE_VQxDMLxDH_multi<"vqdmladh", 0b0, 0b0, 0b0>;