https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63678
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Trying icc 14.0.2.144 Build 2014012, I see that a) it indeed fails to report the bug in your source b) when using -c, it silently discards the upper 8 bits of the immediate, so you end up with: 0: c4 e3 7d 0e c1 cd vpblendw $0xcd,%ymm1,%ymm0,%ymm0 c) when using -S, it generates invalid assembly: vpblendw $43981, %ymm1, %ymm0, %ymm0 #4.16 which doesn't assemble at least with gas. So, I believe erroring out on this is significantly better than what icc does with it.