vpcmpeqq xmm1,xmm1,xmm1 ; xmm1 = [ -1 | -1 | -1 | -1 ] as ints
vmovsd xmm0,dword ptr [ecx] ; xmm0 = VALUE as int
vsubsd xmm0,xmm0,xmm1 ; xmm0 = VALUE - (-1) = VALUE + 1
上記は
vpcmpeqq xmm1,xmm1,xmm1 ; xmm1 = [ -1 | -1 | -1 | -1 ] as ints
vmovd xmm0,dword ptr [ecx] ; xmm0 = VALUE as int
vpsubd xmm0,xmm0,xmm1 ; xmm0 = VALUE - (-1) = VALUE + 1
1ずつの整数増分の場合
vpcmpeqq xmm1,xmm1,xmm1 ; xmm1 = [ -1 | -1 ] as quads
vmovsd xmm0,dword ptr [ecx] ; xmm0 = VALUE as double
vcvtdq2pd xmm1,xmm1 ; xmm1 = [ -1.0 | -1.0 ] as doubles
vsubsd xmm0,xmm0,xmm1 ; xmm0 = VALUE - (-1.0) = VALUE + 1.0
1.0の2倍の増分