https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118345
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The potential reason that the assembler rejects it may be the line `e2: vmovw eax,xmm0` of the assembly program, shown as https://godbolt.org/z/qWMM14YfT No that is the "intel style assembler". If you look at GCC's generated assembly even in godbolt (and turn off Intel style), you get: .L11: vmovw %xmm0, %eax So yes this is just the version of as you are using is too old for this instruction which was only added in binutils 2.38.