Compiler Warning (level 1) C4556

value of intrinsic immediate argument 'value' is out of range 'lowerbound - upperbound'

Remarks

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.

Example

The following sample generates C4556:

// C4556.cpp
// compile with: /W1
// processor: x86 IPF
#include <xmmintrin.h>

void test()
{
   __m64 m;
   _m_pextrw(m, 5);   // C4556
}

int main()
{
}