Related: Atmel's got tiny 8-bit micros that can run off 0.7V, making it feasible to run off a single alkaline cell.
8 bit would be dead if the 32 bit parts included all of the peripherals engineers actually need to build stuff (SPI,analog,timers,etc).
But what's even more interesting is to actually compile apps and compare code size. Miro Samek did this for a couple of RTOS-like framesworks and compared across a mix of 8, 16 and 32 bit micro architectures (PIC, 8051, M8C, 68HC08, AVR, MSP430, M16C, ARM7 Thumb, and ARM Cortex-M3 Thumb2). For his test, the MSP430 was the most dense, but Thumb2 wasn't far behind. (http://embeddedgurus.com/state-space/2009/03/insects-of-the-...)
Of course, there are 4 bit micros out there...
I guess I'm nitpicking, but Cortex-M0+ and Cortex-M0 are basically Thumb only. The only Thumb-2 instructions implemented by these cores are the ones for barriers and transferring data between general purpose registers and special registers. These are:
1) Without an equivalent Thumb instruction
2) Required on the ARM architecture
3) A tiny, tiny percentage of instructions executed or just not used by typical application code.
Regarding the linked test, the toolchain and optimisation flags are going to make a significant difference. I wonder how GCC (which is free and probably the most popular) and armcc (which generally produces significantly better output) would fit in there.