I've tried various historic versions of the gcc-4.6 package in a clean precise chroot.
The first faulty version appears to be 4.6.0-7ubuntu1. The previous version, 4.6.0-6ubuntu3, generates correct code.
Moreover, the last version (4.6.3-1ubuntu5) with all Linaro patches out generates correct code.
I've tried various historic versions of the gcc-4.6 package in a clean precise chroot.
The first faulty version appears to be 4.6.0-7ubuntu1. The previous version, 4.6.0-6ubuntu3, generates correct code.
Moreover, the last version (4.6.3-1ubuntu5) with all Linaro patches out generates correct code.