I found this in the GCC 4.6.2 documentation :
-mthumb : Generate code for the Thumb instruction set. The default is to use the 32-bit ARM instruction set. This option automatically enables either 16-bit Thumb- 1 or mixed 16/32-bit Thumb-2 instructions based on the ‘-mcpu=name’ and ‘-march=name ’ options. This option is not passed to the assembler. If you want to force assembler files to be interpreted as Thumb code, either add a ‘.thumb’ directive to the source or pass the ‘-mthumb’ option directly to the assembler by prefixing it with ‘-Wa’.
As I compile my code with this option, I think that thumb2 instructions are present and that all is done automatically.
Theoretically, thumb2 instructions make the code smaller right? If I try to compile some code with yagarto and the toolchain used by maple, I will see some differences. What do you think?