value of intrinsic immediate argument 'value' is out of range 'range'
An intrinsic matches a hardware instruction. The hardware instruction has a fixed number of bits to encode the constant. If value is out of range, it will not encode properly. The compiler truncates the extra bits.
The following sample generates C4556:
#include <xmmintrin.h> void test() { __m64 m; _m_pextrw(m, 5); // C4556 }