ARM Cortex-M4 VFMA (fused multiply-add) performance? 3, 2 or 1 clock? Forwarding?
In the TRM, there is the statement:

Floating-point arithmetic data processing instructions, such as add, subtract, multiply, divide, square-root, all forms of multiply with accumulate, as well as conversions of all types take one cycle longer if their result is consumed by the following instruction.

A sequence of VMUL, VADD will take the same number of cycles (3) as an isolated VFMA if they are back to back. The compiler can take advantage of reordering instructions to remove this hazard. Therefore, a sequence of VMUL, [..], VADD will always perform as well or better than the equivalent VFMA instruction. It's also worth bearing in mind that the code size using VFMA will be reduced, relative to the VMUL, VADD.
Re. the measurements, it's hard to separate the artifacts due to vendor's implementation, remembering the Cortex-M will only be a part of a (much) larger system. In the 1000s of pages of documentation, it's very easy to miss something like a flash wait state etc.