A decent warning for those not fluent in assembly. Not for those of us who know it cold.
C code is almost _never_ as good as hand-written assembly code and unless you are doing math expressions which is NOT a good idea in an interrupt routine not much different than writing in c. Same hardware needs dealing with and the compilers usually have "constraints" that an assembly programmer does not have, at all.
We've been down this c vs assembly path a million times here. Some points are good, but I hate broad brush stuff. Look up the discussion we had a few years ago on a GCD algorithm. To this day, not even the best x86 compilers can come close even when ALL of the c-constraints must be fully observed by the hand assembly coder. Compilers cannot do topology inversion and they handle status bits somewhat poorly. There are many other issues that may relate to interrupts, as well, where there is no syntax in c for certain semantics.
How all this applies in the ARM case I'll leave to folks better informed than me. But I really don't like it when I see "you are unlikely to be able to write good assembly" and "should be very close to ... optimal assembly." Most particularly, when discussing interrupt routines.
I will leave it there.
Jon