http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60193
--- Comment #5 from Kai Tietz <ktietz at gcc dot gnu.org> --- Ok found issue. Problem is that x86_64 instructions have a maximum-offset of 2^31. Legitimate instruction doesn't detect here that constant is unsigned, so it fails. Nevertheless issue would happen always too for (1U << 32) even for x86_64 abi. Solution might be here to use the eax-register for addressing instead of constant.