http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53124
Richard Earnshaw <rearnsha at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID --- Comment #2 from Richard Earnshaw <rearnsha at gcc dot gnu.org> 2012-04-26 14:21:36 UTC --- The compiler and assembler are correct. The instruction is: VSHRN.I<size> Dd, Qm, #imm and the immediate, imm, must be in the range 1..size/2 So for vshrn.i32 imm must be in the range 1..16 Please also note that gcc-4.4 is now very old and no-longer being maintained, I strongly suggest you upgrade to a more recent set of tools.