ARM Cortex-M RTOS Context Switching | Interrupt

Correct me if I am wrong but I’m pretty sure there is a significant bug in the above assembly code where it conditionally stacks the FPU.

tst r14, #0x10
it eq
vstmbeq r0!, {s16-s31}

Shouldn’t “it eq” be “it ne”? The tst instruction will set the zero flag according to the result, so if the bit is set, i.e r14 & 0x10 is true (1), Z flag will be zero and the “EQ” will thus not execute.