次の方法で共有


コンパイラの警告 (レベル 1) C4556

組み込みイミディエイト引数 'value' は 'lowerbound - upperbound' の範囲を超えています

解説

組み込みはハードウェア命令に一致します。 ハードウェア命令では、定数をエンコードするためのビット数は固定です。 value が範囲外の場合、適切にエンコードされません。 コンパイラは余分なビットを切り捨てます。

次の例では C4556 が生成されます。

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

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

int main()
{
}