diff --git a/llvm/lib/Target/ARM/ARMInstrMVE.td b/llvm/lib/Target/ARM/ARMInstrMVE.td --- a/llvm/lib/Target/ARM/ARMInstrMVE.td +++ b/llvm/lib/Target/ARM/ARMInstrMVE.td @@ -3417,6 +3417,7 @@ let Inst{8} = bit_8; let Inst{7} = Qn{3}; let Inst{4} = bit_4; + let validForTailPredication = 1; } def MVE_VFMAf32 : MVE_VADDSUBFMA_fp<"vfma", "f32", 0b0, 0b1, 0b0, 0b0, diff --git a/llvm/unittests/Target/ARM/MachineInstrTest.cpp b/llvm/unittests/Target/ARM/MachineInstrTest.cpp --- a/llvm/unittests/Target/ARM/MachineInstrTest.cpp +++ b/llvm/unittests/Target/ARM/MachineInstrTest.cpp @@ -145,6 +145,10 @@ case MVE_VFMA_qr_Sf32: case MVE_VFMA_qr_f16: case MVE_VFMA_qr_f32: + case MVE_VFMAf16: + case MVE_VFMAf32: + case MVE_VFMSf16: + case MVE_VFMSf32: case MVE_VMAXAs16: case MVE_VMAXAs32: case MVE_VMAXAs8: