As I understand the STM32F4 programming manual (DM00046982), or the Cortex M4 TechRefManual, a Cortex M4 processor as the STM32F4 can only work with Thumb mode (T2 I think).
But if I use the ST4Discovery (with STM32F407) with Keil uVision, in the Dissambly I see as well 32bit-ARMv7 code (32 bit commands), as Thumb code (16 bit commands). E. g. for LDR commands it seems to use the Thumb command for small offsets, and the 32-bit ARM command for larger offsets.
This really puzzles me very much - how can I see 32bit-ARMv7 in the dissassembly listing, if the processor can only understand Thumb code?