From: <sv...@va...> - 2005-11-06 12:29:54
|
Author: tom Date: 2005-11-06 12:29:50 +0000 (Sun, 06 Nov 2005) New Revision: 5024 Log: Add tests for 64 bit instructions. Modified: trunk/none/tests/amd64/gen_insn_test.pl trunk/none/tests/amd64/insn_basic.def trunk/none/tests/amd64/insn_basic.stdout.exp Modified: trunk/none/tests/amd64/gen_insn_test.pl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/gen_insn_test.pl 2005-11-05 15:13:23 UTC (rev = 5023) +++ trunk/none/tests/amd64/gen_insn_test.pl 2005-11-06 12:29:50 UTC (rev = 5024) @@ -425,7 +425,7 @@ =20 print qq| \} \};\n|; } - elsif ($arg =3D~ /^(imm8|imm16|imm32)\[([^\]]+)\]$/) + elsif ($arg =3D~ /^(imm8|imm16|imm32|imm64)\[([^\]]+)\]$/) { my $type =3D $1; my $value =3D $2; @@ -767,7 +767,7 @@ print qq|$prefix%$arg->{argnum}|; } } - elsif ($arg->{type} =3D~ /^imm(8|16|32)$/) + elsif ($arg->{type} =3D~ /^imm(8|16|32|64)$/) { print qq|$prefix\$$arg->{value}|; } Modified: trunk/none/tests/amd64/insn_basic.def =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/insn_basic.def 2005-11-05 15:13:23 UTC (rev 50= 23) +++ trunk/none/tests/amd64/insn_basic.def 2005-11-06 12:29:50 UTC (rev 50= 24) @@ -38,6 +38,20 @@ adcl eflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] =3D> 1.ud[10000= 0000] adcl eflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] =3D> 1.ud[99999= 999] adcl eflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] =3D> 1.ud[10000= 0000] +adcq eflags[0x1,0x0] : imm8[12] r64.uq[8765432187654321] =3D> 1.uq[87654= 32187654333] +adcq eflags[0x1,0x1] : imm8[12] r64.uq[8765432187654321] =3D> 1.uq[87654= 32187654334] +###adcq eflags[0x1,0x0] : imm32[12345678] rax.uq[8765432187654321] =3D> = 1.uq[8765432199999999] +###adcq eflags[0x1,0x1] : imm32[12345678] rax.uq[8765432187654321] =3D> = 1.uq[8765432200000000] +adcq eflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432187654321] =3D> 1.u= q[8765432199999999] +adcq eflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432187654321] =3D> 1.u= q[8765432200000000] +adcq eflags[0x1,0x0] : imm32[12345678] m64.uq[8765432187654321] =3D> 1.u= q[8765432199999999] +adcq eflags[0x1,0x1] : imm32[12345678] m64.uq[8765432187654321] =3D> 1.u= q[8765432200000000] +adcq eflags[0x1,0x0] : r64.uq[1234567812345678] r64.uq[8765432187654321]= =3D> 1.uq[9999999999999999] +adcq eflags[0x1,0x1] : r64.uq[1234567812345678] r64.uq[8765432187654321]= =3D> 1.uq[10000000000000000] +adcq eflags[0x1,0x0] : r64.uq[1234567812345678] m64.uq[8765432187654321]= =3D> 1.uq[9999999999999999] +adcq eflags[0x1,0x1] : r64.uq[1234567812345678] m64.uq[8765432187654321]= =3D> 1.uq[10000000000000000] +adcq eflags[0x1,0x0] : m64.uq[1234567812345678] r64.uq[8765432187654321]= =3D> 1.uq[9999999999999999] +adcq eflags[0x1,0x1] : m64.uq[1234567812345678] r64.uq[8765432187654321]= =3D> 1.uq[10000000000000000] addb imm8[12] al.ub[34] =3D> 1.ub[46] addb imm8[12] bl.ub[34] =3D> 1.ub[46] addb imm8[12] m8.ub[34] =3D> 1.ub[46] @@ -58,6 +72,13 @@ addl r32.ud[12345678] r32.ud[87654321] =3D> 1.ud[99999999] addl r32.ud[12345678] m32.ud[87654321] =3D> 1.ud[99999999] addl m32.ud[12345678] r32.ud[87654321] =3D> 1.ud[99999999] +addq imm8[12] r64.uq[8765432187654321] =3D> 1.uq[8765432187654333] +addq imm32[12345678] rax.uq[8765432187654321] =3D> 1.uq[8765432199999999= ] +addq imm32[12345678] rbx.uq[8765432187654321] =3D> 1.uq[8765432199999999= ] +addq imm32[12345678] m64.uq[8765432187654321] =3D> 1.uq[8765432199999999= ] +addq r64.uq[1234567812345678] r64.uq[8765432187654321] =3D> 1.uq[9999999= 999999999] +addq r64.uq[1234567812345678] m64.uq[8765432187654321] =3D> 1.uq[9999999= 999999999] +addq m64.uq[1234567812345678] r64.uq[8765432187654321] =3D> 1.uq[9999999= 999999999] andb imm8[0x34] al.ub[0x56] =3D> 1.ub[0x14] andb imm8[0x34] bl.ub[0x56] =3D> 1.ub[0x14] andb imm8[0x34] m8.ub[0x56] =3D> 1.ub[0x14] @@ -78,15 +99,30 @@ andl r32.ud[0x86427531] r32.ud[0x12345678] =3D> 1.ud[0x02005430] andl r32.ud[0x86427531] m32.ud[0x12345678] =3D> 1.ud[0x02005430] andl m32.ud[0x86427531] r32.ud[0x12345678] =3D> 1.ud[0x02005430] +andq imm8[0x31] r64.uq[0x1234567812345678] =3D> 1.uq[0x0000000000000030] +andq imm32[0x12345678] rax.uq[0x8642753186427531] =3D> 1.uq[0x0000000002= 005430] +andq imm32[0x12345678] rbx.uq[0x8642753186427531] =3D> 1.uq[0x0000000002= 005430] +andq imm32[0x12345678] m64.uq[0x8642753186427531] =3D> 1.uq[0x0000000002= 005430] +andq imm32[-2042464975] rax.uq[0x1234567812345678] =3D> 1.uq[0x123456780= 2005430] +andq imm32[-2042464975] rbx.uq[0x1234567812345678] =3D> 1.uq[0x123456780= 2005430] +andq imm32[-2042464975] m64.uq[0x1234567812345678] =3D> 1.uq[0x123456780= 2005430] +andq r64.uq[0x8642753186427531] r64.uq[0x1234567812345678] =3D> 1.uq[0x0= 200543002005430] +andq r64.uq[0x8642753186427531] m64.uq[0x1234567812345678] =3D> 1.uq[0x0= 200543002005430] +andq m64.uq[0x8642753186427531] r64.uq[0x1234567812345678] =3D> 1.uq[0x0= 200543002005430] bsfw r16.uw[0x2468] r16.uw[0] =3D> 1.uw[3] bsfw m16.uw[0x8642] r16.uw[0] =3D> 1.uw[1] bsfl r32.ud[0x13572468] r32.ud[0] =3D> 1.ud[3] bsfl m32.ud[0x75318642] r32.ud[0] =3D> 1.ud[1] +bsfq r64.uq[0x1357246813572468] r64.uq[0] =3D> 1.uq[3] +bsfq m64.uq[0x7531864275318642] r64.uq[0] =3D> 1.uq[1] bsrw r16.uw[0x2468] r16.uw[0] =3D> 1.uw[13] bsrw m16.uw[0x8642] r16.uw[0] =3D> 1.uw[15] bsrl r32.ud[0x13572468] r32.ud[0] =3D> 1.ud[28] bsrl m32.ud[0x75318642] r32.ud[0] =3D> 1.ud[30] +bsrq r64.uq[0x1357246813572468] r64.uq[0] =3D> 1.uq[60] +bsrq m64.uq[0x7531864275318642] r64.uq[0] =3D> 1.uq[62] bswapl r32.ud[0x12345678] =3D> 0.ud[0x78563412] +bswapq r64.uq[0x1234567813572468] =3D> 0.uq[0x6824571378563412] btw imm8[0] r16.uw[0x4231] =3D> 1.uw[0x4231] eflags[0x001,0x001] btw imm8[12] r16.uw[0x4231] =3D> 1.uw[0x4231] eflags[0x001,0x000] btw imm8[0] m16.uw[0x4231] =3D> 1.uw[0x4231] eflags[0x001,0x001] @@ -103,6 +139,14 @@ btl r32.ud[24] r32.ud[0x86427531] =3D> 1.ud[0x86427531] eflags[0x001,0x0= 00] btl r32.ud[0] m32.ud[0x86427531] =3D> 1.ud[0x86427531] eflags[0x001,0x00= 1] btl r32.ud[24] m32.ud[0x86427531] =3D> 1.ud[0x86427531] eflags[0x001,0x0= 00] +btq imm8[0] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] efl= ags[0x001,0x001] +btq imm8[48] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] ef= lags[0x001,0x000] +btq imm8[0] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] efl= ags[0x001,0x001] +btq imm8[48] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] ef= lags[0x001,0x000] +btq r64.uq[0] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] e= flags[0x001,0x001] +btq r64.uq[48] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] = eflags[0x001,0x000] +btq r64.uq[0] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] e= flags[0x001,0x001] +btq r64.uq[48] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] = eflags[0x001,0x000] btcw imm8[0] r16.uw[0x4231] =3D> 1.uw[0x4230] eflags[0x001,0x001] btcw imm8[12] r16.uw[0x4231] =3D> 1.uw[0x5231] eflags[0x001,0x000] btcw imm8[0] m16.uw[0x4231] =3D> 1.uw[0x4230] eflags[0x001,0x001] @@ -119,6 +163,14 @@ btcl r32.ud[24] r32.ud[0x86427531] =3D> 1.ud[0x87427531] eflags[0x001,0x= 000] btcl r32.ud[0] m32.ud[0x86427531] =3D> 1.ud[0x86427530] eflags[0x001,0x0= 01] btcl r32.ud[24] m32.ud[0x86427531] =3D> 1.ud[0x87427531] eflags[0x001,0x= 000] +btcq imm8[0] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681356] ef= lags[0x001,0x001] +btcq imm8[48] r64.uq[0x8642753124681357] =3D> 1.uq[0x8643753124681357] e= flags[0x001,0x000] +btcq imm8[0] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681356] ef= lags[0x001,0x001] +btcq imm8[48] m64.uq[0x8642753124681357] =3D> 1.uq[0x8643753124681357] e= flags[0x001,0x000] +btcq r64.uq[0] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681356] = eflags[0x001,0x001] +btcq r64.uq[48] r64.uq[0x8642753124681357] =3D> 1.uq[0x8643753124681357]= eflags[0x001,0x000] +btcq r64.uq[0] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681356] = eflags[0x001,0x001] +btcq r64.uq[48] m64.uq[0x8642753124681357] =3D> 1.uq[0x8643753124681357]= eflags[0x001,0x000] btrw imm8[0] r16.uw[0x4231] =3D> 1.uw[0x4230] eflags[0x001,0x001] btrw imm8[12] r16.uw[0x4231] =3D> 1.uw[0x4231] eflags[0x001,0x000] btrw imm8[0] m16.uw[0x4231] =3D> 1.uw[0x4230] eflags[0x001,0x001] @@ -135,6 +187,14 @@ btrl r32.ud[24] r32.ud[0x86427531] =3D> 1.ud[0x86427531] eflags[0x001,0x= 000] btrl r32.ud[0] m32.ud[0x86427531] =3D> 1.ud[0x86427530] eflags[0x001,0x0= 01] btrl r32.ud[24] m32.ud[0x86427531] =3D> 1.ud[0x86427531] eflags[0x001,0x= 000] +btrq imm8[0] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681356] ef= lags[0x001,0x001] +btrq imm8[48] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] e= flags[0x001,0x000] +btrq imm8[0] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681356] ef= lags[0x001,0x001] +btrq imm8[48] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] e= flags[0x001,0x000] +btrq r64.uq[0] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681356] = eflags[0x001,0x001] +btrq r64.uq[48] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357]= eflags[0x001,0x000] +btrq r64.uq[0] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681356] = eflags[0x001,0x001] +btrq r64.uq[48] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357]= eflags[0x001,0x000] btsw imm8[0] r16.uw[0x4231] =3D> 1.uw[0x4231] eflags[0x001,0x001] btsw imm8[12] r16.uw[0x4231] =3D> 1.uw[0x5231] eflags[0x001,0x000] btsw imm8[0] m16.uw[0x4231] =3D> 1.uw[0x4231] eflags[0x001,0x001] @@ -151,10 +211,20 @@ btsl r32.ud[24] r32.ud[0x86427531] =3D> 1.ud[0x87427531] eflags[0x001,0x= 000] btsl r32.ud[0] m32.ud[0x86427531] =3D> 1.ud[0x86427531] eflags[0x001,0x0= 01] btsl r32.ud[24] m32.ud[0x86427531] =3D> 1.ud[0x87427531] eflags[0x001,0x= 000] +btsq imm8[0] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] ef= lags[0x001,0x001] +btsq imm8[48] r64.uq[0x8642753124681357] =3D> 1.uq[0x8643753124681357] e= flags[0x001,0x000] +btsq imm8[0] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] ef= lags[0x001,0x001] +btsq imm8[48] m64.uq[0x8642753124681357] =3D> 1.uq[0x8643753124681357] e= flags[0x001,0x000] +btsq r64.uq[0] r64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] = eflags[0x001,0x001] +btsq r64.uq[48] r64.uq[0x8642753124681357] =3D> 1.uq[0x8643753124681357]= eflags[0x001,0x000] +btsq r64.uq[0] m64.uq[0x8642753124681357] =3D> 1.uq[0x8642753124681357] = eflags[0x001,0x001] +btsq r64.uq[48] m64.uq[0x8642753124681357] =3D> 1.uq[0x8643753124681357]= eflags[0x001,0x000] cbw al.sb[123] : =3D> ax.sw[123] cbw al.sb[-123] : =3D> ax.sw[-123] cdq eax.ud[0x12345678] : =3D> edx.ud[0x00000000] eax.ud[0x12345678] cdq eax.ud[0xfedcba98] : =3D> edx.ud[0xffffffff] eax.ud[0xfedcba98] +cdqe eax.ud[0x12345678] : =3D> rax.uq[0x0000000012345678] +cdqe eax.ud[0xfedcba98] : =3D> rax.uq[0xfffffffffedcba98] ###clc eflags[0x001,0x000] : =3D> eflags[0x001,0x000] ###clc eflags[0x001,0x001] : =3D> eflags[0x001,0x000] cld eflags[0x400,0x000] : =3D> eflags[0x400,0x000] @@ -381,7 +451,87 @@ cmpl m32.ud[50] r32.sd[-50] =3D> eflags[0x800,0x000] cmpl m32.sd[-50] r32.sd[50] =3D> eflags[0x800,0x000] ###cmpl m32.sd[-100] r32.sd[2147483600] =3D> eflags[0x800,0x800] -###cmpxchgb eflags[0x40,0x00] ax.uw[12] : r8.ub[56] r8.ub[12] =3D> eflag= s[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56] +cmpq imm8[3] r64.uq[2] =3D> eflags[0x010,0x010] +cmpq imm8[2] r64.uq[3] =3D> eflags[0x010,0x000] +cmpq imm8[12] r64.uq[12] =3D> eflags[0x044,0x044] +cmpq imm8[12] r64.uq[34] =3D> eflags[0x044,0x000] +cmpq imm8[34] r64.uq[12] =3D> eflags[0x081,0x081] +cmpq imm8[12] r64.uq[34] =3D> eflags[0x081,0x000] +cmpq imm8[100] r64.sq[-9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm8[50] r64.sq[-50] =3D> eflags[0x800,0x000] +cmpq imm8[-50] r64.sq[50] =3D> eflags[0x800,0x000] +cmpq imm8[-100] r64.sq[9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm8[3] m64.uq[2] =3D> eflags[0x010,0x010] +cmpq imm8[2] m64.uq[3] =3D> eflags[0x010,0x000] +cmpq imm8[12] m64.uq[12] =3D> eflags[0x044,0x044] +cmpq imm8[12] m64.uq[34] =3D> eflags[0x044,0x000] +cmpq imm8[34] m64.uq[12] =3D> eflags[0x081,0x081] +cmpq imm8[12] m64.uq[34] =3D> eflags[0x081,0x000] +cmpq imm8[100] m64.sq[-9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm8[50] m64.sq[-50] =3D> eflags[0x800,0x000] +cmpq imm8[-50] m64.sq[50] =3D> eflags[0x800,0x000] +cmpq imm8[-100] m64.sq[9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm32[3] rax.uq[2] =3D> eflags[0x010,0x010] +cmpq imm32[2] rax.uq[3] =3D> eflags[0x010,0x000] +cmpq imm32[12] rax.uq[12] =3D> eflags[0x044,0x044] +cmpq imm32[12] rax.uq[34] =3D> eflags[0x044,0x000] +cmpq imm32[34] rax.uq[12] =3D> eflags[0x081,0x081] +cmpq imm32[12] rax.uq[34] =3D> eflags[0x081,0x000] +cmpq imm32[100] rax.sq[-9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm32[50] rax.sq[-50] =3D> eflags[0x800,0x000] +cmpq imm32[-50] rax.sq[50] =3D> eflags[0x800,0x000] +cmpq imm32[-100] rax.sq[9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm32[3] r64.uq[2] =3D> eflags[0x010,0x010] +cmpq imm32[2] r64.uq[3] =3D> eflags[0x010,0x000] +cmpq imm32[12] r64.uq[12] =3D> eflags[0x044,0x044] +cmpq imm32[12] r64.uq[34] =3D> eflags[0x044,0x000] +cmpq imm32[34] r64.uq[12] =3D> eflags[0x081,0x081] +cmpq imm32[12] r64.uq[34] =3D> eflags[0x081,0x000] +cmpq imm32[100] r64.sq[-9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm32[50] r64.sq[-50] =3D> eflags[0x800,0x000] +cmpq imm32[-50] r64.sq[50] =3D> eflags[0x800,0x000] +cmpq imm32[-100] r64.sq[9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm32[3] m64.uq[2] =3D> eflags[0x010,0x010] +cmpq imm32[2] m64.uq[3] =3D> eflags[0x010,0x000] +cmpq imm32[12] m64.uq[12] =3D> eflags[0x044,0x044] +cmpq imm32[12] m64.uq[34] =3D> eflags[0x044,0x000] +cmpq imm32[34] m64.uq[12] =3D> eflags[0x081,0x081] +cmpq imm32[12] m64.uq[34] =3D> eflags[0x081,0x000] +cmpq imm32[100] m64.sq[-9223372036854775800] =3D> eflags[0x800,0x800] +cmpq imm32[50] m64.sq[-50] =3D> eflags[0x800,0x000] +cmpq imm32[-50] m64.sq[50] =3D> eflags[0x800,0x000] +cmpq imm32[-100] m64.sq[9223372036854775800] =3D> eflags[0x800,0x800] +cmpq r64.uq[3] r64.uq[2] =3D> eflags[0x010,0x010] +cmpq r64.uq[2] r64.uq[3] =3D> eflags[0x010,0x000] +cmpq r64.uq[12] r64.uq[12] =3D> eflags[0x044,0x044] +cmpq r64.uq[12] r64.uq[34] =3D> eflags[0x044,0x000] +cmpq r64.uq[34] r64.uq[12] =3D> eflags[0x081,0x081] +cmpq r64.uq[12] r64.uq[34] =3D> eflags[0x081,0x000] +cmpq r64.uq[100] r64.sq[-9223372036854775800] =3D> eflags[0x800,0x800] +cmpq r64.uq[50] r64.sq[-50] =3D> eflags[0x800,0x000] +cmpq r64.sq[-50] r64.sq[50] =3D> eflags[0x800,0x000] +cmpq r64.sq[-100] r64.sq[9223372036854775800] =3D> eflags[0x800,0x800] +cmpq r64.uq[3] m64.uq[2] =3D> eflags[0x010,0x010] +cmpq r64.uq[2] m64.uq[3] =3D> eflags[0x010,0x000] +cmpq r64.uq[12] m64.uq[12] =3D> eflags[0x044,0x044] +cmpq r64.uq[12] m64.uq[34] =3D> eflags[0x044,0x000] +cmpq r64.uq[34] m64.uq[12] =3D> eflags[0x081,0x081] +cmpq r64.uq[12] m64.uq[34] =3D> eflags[0x081,0x000] +cmpq r64.uq[100] m64.sq[-9223372036854775800] =3D> eflags[0x800,0x800] +cmpq r64.uq[50] m64.sq[-50] =3D> eflags[0x800,0x000] +cmpq r64.sq[-50] m64.sq[50] =3D> eflags[0x800,0x000] +cmpq r64.sq[-100] m64.sq[9223372036854775800] =3D> eflags[0x800,0x800] +cmpq m64.uq[3] r64.uq[2] =3D> eflags[0x010,0x010] +cmpq m64.uq[2] r64.uq[3] =3D> eflags[0x010,0x000] +cmpq m64.uq[12] r64.uq[12] =3D> eflags[0x044,0x044] +cmpq m64.uq[12] r64.uq[34] =3D> eflags[0x044,0x000] +cmpq m64.uq[34] r64.uq[12] =3D> eflags[0x081,0x081] +cmpq m64.uq[12] r64.uq[34] =3D> eflags[0x081,0x000] +cmpq m64.uq[100] r64.sq[-9223372036854775800] =3D> eflags[0x800,0x800] +cmpq m64.uq[50] r64.sq[-50] =3D> eflags[0x800,0x000] +cmpq m64.sq[-50] r64.sq[50] =3D> eflags[0x800,0x000] +cmpq m64.sq[-100] r64.sq[9223372036854775800] =3D> eflags[0x800,0x800] +###cmpxchgb eflags[0x40,0x00] al.ub[12] : r8.ub[56] r8.ub[12] =3D> eflag= s[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56] ###cmpxchgb eflags[0x40,0x40] al.ub[12] : r8.ub[56] r8.ub[34] =3D> eflag= s[0x40,0x00] al.ub[34] 0.ub[56] 1.ub[34] ###cmpxchgb eflags[0x40,0x00] al.ub[12] : r8.ub[56] m8.ub[12] =3D> eflag= s[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56] ###cmpxchgb eflags[0x40,0x40] al.ub[12] : r8.ub[56] m8.ub[34] =3D> eflag= s[0x40,0x00] al.ub[34] 0.ub[56] 1.ub[34] @@ -393,6 +543,12 @@ ###cmpxchgl eflags[0x40,0x40] eax.ud[1234] : r32.ud[5678] r32.ud[3456] =3D= > eflags[0x40,0x00] eax.ud[3456] 0.ud[5678] 1.ud[3456] cmpxchgl eflags[0x40,0x00] eax.ud[1234] : r32.ud[5678] m32.ud[1234] =3D>= eflags[0x40,0x40] eax.ud[1234] 0.ud[5678] 1.ud[5678] cmpxchgl eflags[0x40,0x40] eax.ud[1234] : r32.ud[5678] m32.ud[3456] =3D>= eflags[0x40,0x00] eax.ud[3456] 0.ud[5678] 1.ud[3456] +###cmpxchgq eflags[0x40,0x00] rax.uq[12345] : r64.uq[56789] r64.uq[12345= ] =3D> eflags[0x40,0x40] rax.uq[12345] 0.uq[56789] 1.uq[56789] +###cmpxchgq eflags[0x40,0x40] rax.uq[12345] : r64.uq[56789] r64.uq[34567= ] =3D> eflags[0x40,0x00] rax.uq[34567] 0.uq[56789] 1.uq[34567] +cmpxchgq eflags[0x40,0x00] rax.uq[12345] : r64.uq[56789] m64.uq[12345] =3D= > eflags[0x40,0x40] rax.uq[12345] 0.uq[56789] 1.uq[56789] +cmpxchgq eflags[0x40,0x40] rax.uq[12345] : r64.uq[56789] m64.uq[34567] =3D= > eflags[0x40,0x00] rax.uq[34567] 0.uq[56789] 1.uq[34567] +cqo rax.uq[0x0123456789abcdef] : =3D> rdx.uq[0x0000000000000000] rax.uq[= 0x0123456789abcdef] +cqo rax.uq[0xfedcba9876543210] : =3D> rdx.uq[0xffffffffffffffff] rax.uq[= 0xfedcba9876543210] cwd ax.uw[0x1234] : =3D> dx.uw[0x0000] ax.uw[0x1234] cwd ax.uw[0xfedc] : =3D> dx.uw[0xffff] ax.uw[0xfedc] cwde ax.sw[12345] : =3D> eax.sd[12345] @@ -403,24 +559,32 @@ decw m16.uw[12345] =3D> 0.uw[12344] decl r32.ud[12345678] =3D> 0.ud[12345677] decl m32.ud[12345678] =3D> 0.ud[12345677] +decq r64.uq[1234567813572468] =3D> 0.uq[1234567813572467] +decq m64.uq[1234567813572468] =3D> 0.uq[1234567813572467] divb ax.uw[30276] : r8.ub[123] =3D> al.ub[246] ah.ub[18] divb ax.uw[30276] : m8.ub[123] =3D> al.ub[246] ah.ub[18] divw dx.uw[464] ax.uw[58794] : r16.uw[12345] =3D> ax.uw[2468] dx.uw[38] divw dx.uw[464] ax.uw[58794] : m16.uw[12345] =3D> ax.uw[2468] dx.uw[38] divl edx.ud[251958] eax.ud[673192206] : r32.ud[87654321] =3D> eax.ud[123= 45678] edx.ud[20783136] divl edx.ud[251958] eax.ud[673192206] : m32.ud[87654321] =3D> eax.ud[123= 45678] edx.ud[20783136] +divq rdx.uq[251958251958] rax.uq[673192206673192206] : r64.uq[8765432175= 318642] =3D> rax.uq[530243038582426] rdx.uq[6769725475870842] +divq rdx.uq[251958251958] rax.uq[673192206673192206] : m64.uq[8765432175= 318642] =3D> rax.uq[530243038582426] rdx.uq[6769725475870842] idivb ax.sw[-15157] : r8.sb[123] =3D> al.sb[-123] ah.sb[-28] idivb ax.sw[15157] : m8.sb[-123] =3D> al.sb[-123] ah.sb[28] idivw dx.sw[-464] ax.sw[-23456] : r16.sw[12345] =3D> ax.sw[-2459] dx.sw[= -10269] idivw dx.sw[464] ax.sw[23456] : m16.sw[-12345] =3D> ax.sw[-2465] dx.sw[1= 735] idivl edx.sd[-251959] eax.sd[-673192206] : r32.sd[87654321] =3D> eax.sd[= -12345678] edx.sd[-20783136] idivl edx.sd[251958] eax.sd[673192206] : m32.sd[-87654321] =3D> eax.sd[-= 12345678] edx.sd[20783136] +idivq rdx.sq[-251958251959] rax.sq[-673192206673192206] : r64.sq[8765432= 175318642] =3D> rax.sq[-530243038582426] rdx.sq[-6769725475870842] +idivq rdx.sq[251958251958] rax.sq[673192206673192206] : m64.sq[-87654321= 75318642] =3D> rax.sq[-530243038582426] rdx.sq[6769725475870842] imulb al.sb[123] : r8.sb[-123] =3D> ax.sw[-15129] imulb al.sb[-123] : m8.sb[123] =3D> ax.sw[-15129] imulw ax.sw[-12345] : r16.sw[12345] =3D> dx.sw[-2326] ax.sw[-27825] imulw ax.sw[12345] : m16.sw[-12345] =3D> dx.sw[-2326] ax.sw[-27825] imull eax.sd[-12345678] : r32.sd[12345678] =3D> edx.sd[-35488] eax.sd[-2= 60846532] imull eax.sd[12345678] : m32.sd[-12345678] =3D> edx.sd[-35488] eax.sd[-2= 60846532] +imulq rax.sq[-1234567812345678] : r64.sq[1234567812345678] =3D> rdx.sq[-= 82624753572] rax.sq[-2436846251660458948] +imulq rax.sq[1234567812345678] : m64.sq[-1234567812345678] =3D> rdx.sq[-= 82624753572] rax.sq[-2436846251660458948] imulw imm8[123] r16.uw[456] =3D> 1.uw[56088] imulw imm8[123] r16.uw[456] r16.uw[0] =3D> 2.uw[56088] imulw imm8[123] m16.uw[456] r16.uw[0] =3D> 2.uw[56088] @@ -437,12 +601,22 @@ imull imm32[12345] m32.ud[67890] r32.ud[0] =3D> 2.ud[838102050] imull r32.ud[12345] r32.ud[67890] =3D> 1.ud[838102050] imull m32.ud[12345] r32.ud[67890] =3D> 1.ud[838102050] +imulq imm8[123] r64.uq[1234567890] =3D> 1.uq[151851850470] +imulq imm8[123] r64.uq[1234567890] r64.uq[0] =3D> 2.uq[151851850470] +imulq imm8[123] m64.uq[1234567890] r64.uq[0] =3D> 2.uq[151851850470] +imulq imm32[12345] r64.uq[1234567890] =3D> 1.uq[15240740602050] +imulq imm32[12345] r64.uq[1234567890] r64.uq[0] =3D> 2.uq[15240740602050= ] +imulq imm32[12345] m64.uq[1234567890] r64.uq[0] =3D> 2.uq[15240740602050= ] +imulq r64.uq[1234567] r64.uq[1234567890] =3D> 1.uq[1524156776253630] +imulq m64.uq[1234567] r64.uq[1234567890] =3D> 1.uq[1524156776253630] incb r8.ub[123] =3D> 0.ub[124] incb m8.ub[123] =3D> 0.ub[124] incw r16.uw[12345] =3D> 0.uw[12346] incw m16.uw[12345] =3D> 0.uw[12346] incl r32.ud[12345678] =3D> 0.ud[12345679] incl m32.ud[12345678] =3D> 0.ud[12345679] +incq r64.uq[1234567813572468] =3D> 0.uq[1234567813572469] +incq m64.uq[1234567813572468] =3D> 0.uq[1234567813572469] ###lahf eflags[0xff,0xfd] ah.ub[0x28] : =3D> ah.ub[0xd7] ###lahf eflags[0xff,0x28] ah.ub[0xfd] : =3D> ah.ub[0x02] movb imm8[123] r8.ub[0] =3D> 1.ub[123] @@ -460,36 +634,56 @@ movl r32.ud[12345678] r32.ud[0] =3D> 1.ud[12345678] movl r32.ud[12345678] m32.ud[0] =3D> 1.ud[12345678] movl m32.ud[12345678] r32.ud[0] =3D> 1.ud[12345678] +movq imm32[12345678] r64.uq[0] =3D> 1.uq[12345678] +movq imm32[12345678] m64.uq[0] =3D> 1.uq[12345678] +movq imm64[1234567813572468] r64.uq[0] =3D> 1.uq[1234567813572468] +movq r64.uq[1234567813572468] r64.uq[0] =3D> 1.uq[1234567813572468] +movq r64.uq[1234567813572468] m64.uq[0] =3D> 1.uq[1234567813572468] +movq m64.uq[1234567813572468] r64.uq[0] =3D> 1.uq[1234567813572468] movsbw r8.sb[123] r16.sw[0] =3D> 1.sw[123] movsbw m8.sb[-123] r16.sw[0] =3D> 1.sw[-123] movsbl r8.sb[123] r32.sd[0] =3D> 1.sd[123] movsbl m8.sb[-123] r32.sd[0] =3D> 1.sd[-123] movswl r16.sw[12345] r32.sd[0] =3D> 1.sd[12345] movswl m16.sw[-12345] r32.sd[0] =3D> 1.sd[-12345] +movsbq r8.sb[123] r64.sq[0] =3D> 1.sq[123] +movsbq m8.sb[-123] r64.sq[0] =3D> 1.sq[-123] +movswq r16.sw[12345] r64.sq[0] =3D> 1.sq[12345] +movswq m16.sw[-12345] r64.sq[0] =3D> 1.sq[-12345] movzbw r8.ub[123] r16.uw[0] =3D> 1.uw[123] movzbw m8.ub[246] r16.uw[0] =3D> 1.uw[246] movzbl r8.ub[123] r32.ud[0] =3D> 1.ud[123] movzbl m8.ub[246] r32.ud[0] =3D> 1.ud[246] movzwl r16.uw[12345] r32.ud[0] =3D> 1.ud[12345] movzwl m16.uw[49380] r32.ud[0] =3D> 1.ud[49380] +movzbq r8.ub[123] r64.uq[0] =3D> 1.uq[123] +movzbq m8.ub[246] r64.uq[0] =3D> 1.uq[246] +movzwq r16.uw[12345] r64.uq[0] =3D> 1.uq[12345] +movzwq m16.uw[49380] r64.uq[0] =3D> 1.uq[49380] mulb al.ub[123] : r8.ub[123] =3D> ax.uw[15129] mulb al.ub[123] : m8.ub[123] =3D> ax.uw[15129] mulw ax.uw[12345] : r16.uw[12345] =3D> dx.uw[2325] ax.uw[27825] mulw ax.uw[12345] : m16.uw[12345] =3D> dx.uw[2325] ax.uw[27825] mull eax.ud[12345678] : r32.ud[12345678] =3D> edx.ud[35487] eax.ud[26084= 6532] mull eax.ud[12345678] : m32.ud[12345678] =3D> edx.ud[35487] eax.ud[26084= 6532] +mulq rax.uq[1234567813572468] : r64.uq[1234567813572468] =3D> rdx.uq[826= 24753735] rax.uq[6281712683416325264] +mulq rax.uq[1234567813572468] : m64.uq[1234567813572468] =3D> rdx.uq[826= 24753735] rax.uq[6281712683416325264] negb r8.sb[123] =3D> 0.sb[-123] negb m8.sb[-123] =3D> 0.sb[123] negw r16.sw[12345] =3D> 0.sw[-12345] negw m16.sw[-12345] =3D> 0.sw[12345] negl r32.sd[12345678] =3D> 0.sd[-12345678] negl m32.sd[-12345678] =3D> 0.sd[12345678] +negq r64.sq[1234567813572468] =3D> 0.sq[-1234567813572468] +negq m64.sq[-1234567813572468] =3D> 0.sq[1234567813572468] notb r8.ub[0xca] =3D> 0.ub[0x35] notb m8.ub[0xca] =3D> 0.ub[0x35] notw r16.uw[0xf0ca] =3D> 0.uw[0x0f35] notw m16.uw[0xf0ca] =3D> 0.uw[0x0f35] notl r32.ud[0xff00f0ca] =3D> 0.ud[0x00ff0f35] notl m32.ud[0xff00f0ca] =3D> 0.ud[0x00ff0f35] +notq r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0x0000ffff00ff0f35] +notq m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0x0000ffff00ff0f35] orb imm8[0x34] al.ub[0x56] =3D> 1.ub[0x76] orb imm8[0x34] bl.ub[0x56] =3D> 1.ub[0x76] orb imm8[0x34] m8.ub[0x56] =3D> 1.ub[0x76] @@ -510,6 +704,16 @@ orl r32.ud[0x86427531] r32.ud[0x12345678] =3D> 1.ud[0x96767779] orl r32.ud[0x86427531] m32.ud[0x12345678] =3D> 1.ud[0x96767779] orl m32.ud[0x86427531] r32.ud[0x12345678] =3D> 1.ud[0x96767779] +orq imm8[0x31] r64.uq[0x0123456789abcdcc] =3D> 1.uq[0x0123456789abcdfd] +orq imm32[0x12345678] rax.uq[0x8642753186427531] =3D> 1.uq[0x86427531967= 67779] +orq imm32[0x12345678] rbx.uq[0x8642753186427531] =3D> 1.uq[0x86427531967= 67779] +orq imm32[0x12345678] m64.uq[0x8642753186427531] =3D> 1.uq[0x86427531967= 67779] +orq imm32[-2042464975] rax.uq[0x1234567812345678] =3D> 1.uq[0xffffffff96= 767779] +orq imm32[-2042464975] rbx.uq[0x1234567812345678] =3D> 1.uq[0xffffffff96= 767779] +orq imm32[-2042464975] m64.uq[0x1234567812345678] =3D> 1.uq[0xffffffff96= 767779] +orq r64.uq[0xeca86420fdb97531] r64.uq[0x0123456789abcdef] =3D> 1.uq[0xed= ab6567fdbbfdff] +orq r64.uq[0xeca86420fdb97531] m64.uq[0x0123456789abcdef] =3D> 1.uq[0xed= ab6567fdbbfdff] +orq m64.uq[0xeca86420fdb97531] r64.uq[0x0123456789abcdef] =3D> 1.uq[0xed= ab6567fdbbfdff] ###rclb eflags[0x1,0x0] : r8.ub[0xca] =3D> 0.ub[0x94] eflags[0x1,0x1] ###rclb eflags[0x1,0x0] : m8.ub[0xca] =3D> 0.ub[0x94] eflags[0x1,0x1] ###rclb eflags[0x1,0x0] : imm8[2] r8.ub[0xca] =3D> 1.ub[0x29] eflags[0x1= ,0x1] @@ -528,6 +732,12 @@ ###rcll eflags[0x1,0x0] : imm8[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca7= f] eflags[0x1,0x1] ###rcll eflags[0x1,0x0] : cl.ub[8] r32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca= 7f] eflags[0x1,0x1] ###rcll eflags[0x1,0x0] : cl.ub[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca= 7f] eflags[0x1,0x1] +###rclq eflags[0x1,0x0] : r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xfffe000= 1fe01e194] eflags[0x1,0x1] +###rclq eflags[0x1,0x0] : m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xfffe000= 1fe01e194] eflags[0x1,0x1] +###rclq eflags[0x1,0x0] : imm8[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[= 0x0000ff00f0ca7fff] eflags[0x1,0x1] +###rclq eflags[0x1,0x0] : imm8[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[= 0x0000ff00f0ca7fff] eflags[0x1,0x1] +###rclq eflags[0x1,0x0] : cl.ub[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq= [0x0000ff00f0ca7fff] eflags[0x1,0x1] +###rclq eflags[0x1,0x0] : cl.ub[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq= [0x0000ff00f0ca7fff] eflags[0x1,0x1] rcrb eflags[0x1,0x1] : r8.ub[0xca] =3D> 0.ub[0xe5] eflags[0x1,0x0] rcrb eflags[0x1,0x1] : m8.ub[0xca] =3D> 0.ub[0xe5] eflags[0x1,0x0] rcrb eflags[0x1,0x0] : imm8[2] r8.ub[0xca] =3D> 1.ub[0x32] eflags[0x1,0x= 1] @@ -546,6 +756,12 @@ rcrl eflags[0x1,0x0] : imm8[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x94ff00f0] = eflags[0x1,0x1] rcrl eflags[0x1,0x0] : cl.ub[8] r32.ud[0xff00f0ca] =3D> 1.ud[0x94ff00f0]= eflags[0x1,0x1] rcrl eflags[0x1,0x0] : cl.ub[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x94ff00f0]= eflags[0x1,0x1] +rcrq eflags[0x1,0x1] : r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xffff80007f= 807865] eflags[0x1,0x0] +rcrq eflags[0x1,0x1] : m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xffff80007f= 807865] eflags[0x1,0x0] +rcrq eflags[0x1,0x0] : imm8[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xe= 194ffff0000ff00] eflags[0x1,0x1] +rcrq eflags[0x1,0x0] : imm8[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xe= 194ffff0000ff00] eflags[0x1,0x1] +rcrq eflags[0x1,0x0] : cl.ub[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x= e194ffff0000ff00] eflags[0x1,0x1] +rcrq eflags[0x1,0x0] : cl.ub[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x= e194ffff0000ff00] eflags[0x1,0x1] rolb r8.ub[0xca] =3D> 0.ub[0x95] rolb m8.ub[0xca] =3D> 0.ub[0x95] rolb imm8[2] r8.ub[0xca] =3D> 1.ub[0x2b] @@ -564,6 +780,12 @@ roll imm8[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00f0caff] roll cl.ub[8] r32.ud[0xff00f0ca] =3D> 1.ud[0x00f0caff] roll cl.ub[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00f0caff] +rolq r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xfffe0001fe01e195] +rolq m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xfffe0001fe01e195] +rolq imm8[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0caffff] +rolq imm8[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0caffff] +rolq cl.ub[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0caffff] +rolq cl.ub[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0caffff] rorb r8.ub[0xca] =3D> 0.ub[0x65] rorb m8.ub[0xca] =3D> 0.ub[0x65] rorb imm8[2] r8.ub[0xca] =3D> 1.ub[0xb2] @@ -582,6 +804,12 @@ rorl imm8[8] m32.ud[0xff00f0ca] =3D> 1.ud[0xcaff00f0] rorl cl.ub[8] r32.ud[0xff00f0ca] =3D> 1.ud[0xcaff00f0] rorl cl.ub[8] m32.ud[0xff00f0ca] =3D> 1.ud[0xcaff00f0] +rorq r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0x7fff80007f807865] +rorq m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0x7fff80007f807865] +rorq imm8[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xf0caffff0000ff00] +rorq imm8[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xf0caffff0000ff00] +rorq cl.ub[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xf0caffff0000ff00] +rorq cl.ub[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xf0caffff0000ff00] ###sahf eflags[0xff,0x28] ah.ub[0xfd] : =3D> eflags[0xfd,0xd5] ###sahf eflags[0xff,0xfd] ah.ub[0x28] : =3D> eflags[0xfd,0x00] salb r8.ub[0xca] =3D> 0.ub[0x94] @@ -602,6 +830,12 @@ sall imm8[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca00] sall cl.ub[8] r32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca00] sall cl.ub[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca00] +salq r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xfffe0001fe01e194] +salq m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xfffe0001fe01e194] +salq imm8[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0ca0000] +salq imm8[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0ca0000] +salq cl.ub[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0ca0000] +salq cl.ub[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0ca0000] sarb r8.ub[0xca] =3D> 0.ub[0xe5] sarb m8.ub[0xca] =3D> 0.ub[0xe5] sarb imm8[2] r8.ub[0xca] =3D> 1.ub[0xf2] @@ -620,6 +854,12 @@ sarl imm8[8] m32.ud[0xff00f0ca] =3D> 1.ud[0xffff00f0] sarl cl.ub[8] r32.ud[0xff00f0ca] =3D> 1.ud[0xffff00f0] sarl cl.ub[8] m32.ud[0xff00f0ca] =3D> 1.ud[0xffff00f0] +sarq r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xffff80007f807865] +sarq m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xffff80007f807865] +sarq imm8[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xffffffff0000ff00] +sarq imm8[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xffffffff0000ff00] +sarq cl.ub[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xffffffff0000ff00] +sarq cl.ub[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0xffffffff0000ff00] ###sbbb eflags[0x1,0x0] : imm8[12] al.ub[34] =3D> 1.ub[22] ###sbbb eflags[0x1,0x1] : imm8[12] al.ub[34] =3D> 1.ub[21] sbbb eflags[0x1,0x0] : imm8[12] bl.ub[34] =3D> 1.ub[22] @@ -660,6 +900,20 @@ ###sbbl eflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] =3D> 1.ud[75= 308642] sbbl eflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] =3D> 1.ud[75308= 643] sbbl eflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] =3D> 1.ud[75308= 642] +sbbq eflags[0x1,0x0] : imm8[12] r64.uq[8765432175318642] =3D> 1.uq[87654= 32175318630] +sbbq eflags[0x1,0x1] : imm8[12] r64.uq[8765432175318642] =3D> 1.uq[87654= 32175318629] +###sbbq eflags[0x1,0x0] : imm32[12345678] rax.uq[8765432175318642] =3D> = 1.uq[8765432162972964] +###sbbq eflags[0x1,0x1] : imm32[12345678] rax.uq[8765432175318642] =3D> = 1.uq[8765432162972963] +sbbq eflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432175318642] =3D> 1.u= q[8765432162972964] +sbbq eflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432175318642] =3D> 1.u= q[8765432162972963] +sbbq eflags[0x1,0x0] : imm32[12345678] m64.uq[8765432175318642] =3D> 1.u= q[8765432162972964] +sbbq eflags[0x1,0x1] : imm32[12345678] m64.uq[8765432175318642] =3D> 1.u= q[8765432162972963] +sbbq eflags[0x1,0x0] : r64.uq[1234567813572468] r64.uq[8765432175318642]= =3D> 1.uq[7530864361746174] +sbbq eflags[0x1,0x1] : r64.uq[1234567813572468] r64.uq[8765432175318642]= =3D> 1.uq[7530864361746173] +###sbbq eflags[0x1,0x0] : r64.uq[1234567813572468] m64.uq[87654321753186= 42] =3D> 1.uq[7530864361746174] +###sbbq eflags[0x1,0x1] : r64.uq[1234567813572468] m64.uq[87654321753186= 42] =3D> 1.uq[7530864361746173] +sbbq eflags[0x1,0x0] : m64.uq[1234567813572468] r64.uq[8765432175318642]= =3D> 1.uq[7530864361746174] +sbbq eflags[0x1,0x1] : m64.uq[1234567813572468] r64.uq[8765432175318642]= =3D> 1.uq[7530864361746173] seta eflags[0x041,0x000] : r8.ub[123] =3D> 0.ub[1] seta eflags[0x041,0x001] : r8.ub[123] =3D> 0.ub[0] seta eflags[0x041,0x040] : r8.ub[123] =3D> 0.ub[0] @@ -870,6 +1124,12 @@ shll imm8[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca00] shll cl.ub[8] r32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca00] shll cl.ub[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00f0ca00] +shlq r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xfffe0001fe01e194] +shlq m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0xfffe0001fe01e194] +shlq imm8[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0ca0000] +shlq imm8[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0ca0000] +shlq cl.ub[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0ca0000] +shlq cl.ub[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x0000ff00f0ca0000] shrb r8.ub[0xca] =3D> 0.ub[0x65] shrb m8.ub[0xca] =3D> 0.ub[0x65] shrb imm8[2] r8.ub[0xca] =3D> 1.ub[0x32] @@ -888,6 +1148,12 @@ shrl imm8[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00ff00f0] shrl cl.ub[8] r32.ud[0xff00f0ca] =3D> 1.ud[0x00ff00f0] shrl cl.ub[8] m32.ud[0xff00f0ca] =3D> 1.ud[0x00ff00f0] +shrq r64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0x7fff80007f807865] +shrq m64.uq[0xffff0000ff00f0ca] =3D> 0.uq[0x7fff80007f807865] +shrq imm8[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x00ffff0000ff00] +shrq imm8[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x00ffff0000ff00] +shrq cl.ub[16] r64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x00ffff0000ff00] +shrq cl.ub[16] m64.uq[0xffff0000ff00f0ca] =3D> 1.uq[0x00ffff0000ff00] ###shldw imm8[1] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0xe195] ###shldw imm8[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xe195] ###shldw imm8[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x0caf] @@ -896,14 +1162,22 @@ shldw cl.ub[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xe195] shldw cl.ub[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x0caf] shldw cl.ub[4] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x0caf] -##shldl imm8[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e1= 95] -##shldl imm8[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e1= 95] -##shldl imm8[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x00f0ca= ff] -##shldl imm8[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x00f0ca= ff] +###shldl imm8[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e= 195] +###shldl imm8[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e= 195] +###shldl imm8[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x00f0c= aff] +###shldl imm8[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x00f0c= aff] shldl cl.ub[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e19= 5] shldl cl.ub[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e19= 5] shldl cl.ub[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x00f0caf= f] shldl cl.ub[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x00f0caf= f] +###shldq imm8[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0xfffe0001fe01e195] +###shldq imm8[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0xfffe0001fe01e195] +###shldq imm8[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] = =3D> 2.uq[0x0000ff00f0caffff] +###shldq imm8[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] = =3D> 2.uq[0x0000ff00f0caffff] +shldq cl.ub[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0xfffe0001fe01e195] +shldq cl.ub[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0xfffe0001fe01e195] +shldq cl.ub[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0x0000ff00f0caffff] +shldq cl.ub[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0x0000ff00f0caffff] shrdw imm8[1] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x7865] shrdw imm8[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x7865] shrdw imm8[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0xaf0c] @@ -920,6 +1194,14 @@ shrdl cl.ub[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x7f80786= 5] shrdl cl.ub[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xcaff00f= 0] shrdl cl.ub[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xcaff00f= 0] +shrdq imm8[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] =3D>= 2.uq[0x7fff80007f807865] +shrdq imm8[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] =3D>= 2.uq[0x7fff80007f807865] +shrdq imm8[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0xf0caffff0000ff00] +shrdq imm8[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0xf0caffff0000ff00] +shrdq cl.ub[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0x7fff80007f807865] +shrdq cl.ub[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0x7fff80007f807865] +shrdq cl.ub[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0xf0caffff0000ff00] +shrdq cl.ub[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] =3D= > 2.uq[0xf0caffff0000ff00] ###stc eflags[0x001,0x000] : =3D> eflags[0x001,0x001] ###stc eflags[0x001,0x001] : =3D> eflags[0x001,0x001] std eflags[0x400,0x000] : =3D> eflags[0x400,0x400] @@ -944,6 +1226,13 @@ subl r32.ud[12345678] r32.ud[87654321] =3D> 1.ud[75308643] subl r32.ud[12345678] m32.ud[87654321] =3D> 1.ud[75308643] subl m32.ud[12345678] r32.ud[87654321] =3D> 1.ud[75308643] +subq imm8[12] r64.uq[8765432175318642] =3D> 1.uq[8765432175318630] +subq imm32[12345678] r64.uq[8765432175318642] =3D> 1.uq[8765432162972964= ] +subq imm32[12345678] rax.uq[8765432175318642] =3D> 1.uq[8765432162972964= ] +subq imm32[12345678] rbx.uq[8765432175318642] =3D> 1.uq[8765432162972964= ] +subq r64.uq[1234567813572468] r64.uq[8765432175318642] =3D> 1.uq[7530864= 361746174] +subq r64.uq[1234567813572468] m64.uq[8765432175318642] =3D> 1.uq[7530864= 361746174] +subq m64.uq[1234567813572468] r64.uq[8765432175318642] =3D> 1.uq[7530864= 361746174] testb imm8[0x1a] al.ub[0x1a] =3D> eflags[0x8c5,0x000] testb imm8[0x5a] al.ub[0x5a] =3D> eflags[0x8c5,0x004] testb imm8[0x1a] al.ub[0xa1] =3D> eflags[0x8c5,0x044] @@ -1019,12 +1308,39 @@ testl r32.ud[0x1a1a1a1a] m32.ud[0xa1a1a1a1] =3D> eflags[0x8c5,0x044] testl r32.ud[0xa1a1a1a1] m32.ud[0xa1a1a1a1] =3D> eflags[0x8c5,0x080] testl r32.ud[0xa5a5a5a5] m32.ud[0xa5a5a5a5] =3D> eflags[0x8c5,0x084] +testq imm32[0x1a1a1a1a] rax.uq[0x1a1a1a1a] =3D> eflags[0x8c5,0x000] +testq imm32[0x5a5a5a5a] rax.uq[0x5a5a5a5a] =3D> eflags[0x8c5,0x004] +testq imm32[0x1a1a1a1a] rax.uq[0xa1a1a1a1] =3D> eflags[0x8c5,0x044] +testq imm32[-1583242847] rax.uq[0xffffffffa1a1a1a1] =3D> eflags[0x8c5,0x= 080] +testq imm32[-1515870811] rax.uq[0xffffffffa5a5a5a5] =3D> eflags[0x8c5,0x= 084] +testq imm32[0x1a1a1a1a] rbx.uq[0x1a1a1a1a] =3D> eflags[0x8c5,0x000] +testq imm32[0x5a5a5a5a] rbx.uq[0x5a5a5a5a] =3D> eflags[0x8c5,0x004] +testq imm32[0x1a1a1a1a] rbx.uq[0xa1a1a1a1] =3D> eflags[0x8c5,0x044] +testq imm32[-1583242847] rbx.uq[0xffffffffa1a1a1a1] =3D> eflags[0x8c5,0x= 080] +testq imm32[-1515870811] rbx.uq[0xffffffffa5a5a5a5] =3D> eflags[0x8c5,0x= 084] +testq imm32[0x1a1a1a1a] m64.uq[0x1a1a1a1a] =3D> eflags[0x8c5,0x000] +testq imm32[0x5a5a5a5a] m64.uq[0x5a5a5a5a] =3D> eflags[0x8c5,0x004] +testq imm32[0x1a1a1a1a] m64.uq[0xa1a1a1a1] =3D> eflags[0x8c5,0x044] +testq imm32[-1583242847] m64.uq[0xffffffffa1a1a1a1] =3D> eflags[0x8c5,0x= 080] +testq imm32[-1515870811] m64.uq[0xffffffffa5a5a5a5] =3D> eflags[0x8c5,0x= 084] +testq r64.uq[0x1a1a1a1a1a1a1a1a] r64.uq[0x1a1a1a1a1a1a1a1a] =3D> eflags[= 0x8c5,0x000] +testq r64.uq[0x5a5a5a5a5a5a5a5a] r64.uq[0x5a5a5a5a5a5a5a5a] =3D> eflags[= 0x8c5,0x004] +testq r64.uq[0x1a1a1a1a1a1a1a1a] r64.uq[0xa1a1a1a1a1a1a1a1] =3D> eflags[= 0x8c5,0x044] +testq r64.uq[0xa1a1a1a1a1a1a1a1] r64.uq[0xa1a1a1a1a1a1a1a1] =3D> eflags[= 0x8c5,0x080] +testq r64.uq[0xa5a5a5a5a5a5a5a5] r64.uq[0xa5a5a5a5a5a5a5a5] =3D> eflags[= 0x8c5,0x084] +testq r64.uq[0x1a1a1a1a1a1a1a1a] m64.uq[0x1a1a1a1a1a1a1a1a] =3D> eflags[= 0x8c5,0x000] +testq r64.uq[0x5a5a5a5a5a5a5a5a] m64.uq[0x5a5a5a5a5a5a5a5a] =3D> eflags[= 0x8c5,0x004] +testq r64.uq[0x1a1a1a1a1a1a1a1a] m64.uq[0xa1a1a1a1a1a1a1a1] =3D> eflags[= 0x8c5,0x044] +testq r64.uq[0xa1a1a1a1a1a1a1a1] m64.uq[0xa1a1a1a1a1a1a1a1] =3D> eflags[= 0x8c5,0x080] +testq r64.uq[0xa5a5a5a5a5a5a5a5] m64.uq[0xa5a5a5a5a5a5a5a5] =3D> eflags[= 0x8c5,0x084] ###xaddb r8.ub[12] r8.ub[34] =3D> 0.ub[34] 1.ub[46] ###xaddb r8.ub[12] m8.ub[34] =3D> 0.ub[34] 1.ub[46] ###xaddw r16.uw[1234] r16.uw[5678] =3D> 0.uw[5678] 1.uw[6912] xaddw r16.uw[1234] m16.uw[5678] =3D> 0.uw[5678] 1.uw[6912] ###xaddl r32.ud[12345678] r32.ud[87654321] =3D> 0.ud[87654321] 1.ud[9999= 9999] xaddl r32.ud[12345678] m32.ud[87654321] =3D> 0.ud[87654321] 1.ud[9999999= 9] +xaddq r64.uq[1234567812345678] m64.uq[8765432187654321] =3D> 0.uq[876543= 2187654321] 1.uq[9999999999999999] +xaddq r64.uq[1234567812345678] m64.uq[8765432187654321] =3D> 0.uq[876543= 2187654321] 1.uq[9999999999999999] xchgb r8.ub[12] r8.ub[34] =3D> 0.ub[34] 1.ub[12] xchgb r8.ub[12] m8.ub[34] =3D> 0.ub[34] 1.ub[12] xchgb m8.ub[12] r8.ub[34] =3D> 0.ub[34] 1.ub[12] @@ -1038,6 +1354,11 @@ xchgl ebx.ud[12345678] ecx.ud[87654321] =3D> 0.ud[87654321] 1.ud[1234567= 8] xchgl r32.ud[12345678] m32.ud[87654321] =3D> 0.ud[87654321] 1.ud[1234567= 8] xchgl m32.ud[12345678] r32.ud[87654321] =3D> 0.ud[87654321] 1.ud[1234567= 8] +xchgq rax.uq[1234567812345678] rbx.uq[8765432187654321] =3D> 0.uq[876543= 2187654321] 1.uq[1234567812345678] +xchgq rbx.uq[1234567812345678] rax.uq[8765432187654321] =3D> 0.uq[876543= 2187654321] 1.uq[1234567812345678] +xchgq rbx.uq[1234567812345678] rcx.uq[8765432187654321] =3D> 0.uq[876543= 2187654321] 1.uq[1234567812345678] +xchgq r64.uq[1234567812345678] m64.uq[8765432187654321] =3D> 0.uq[876543= 2187654321] 1.uq[1234567812345678] +xchgq m64.uq[1234567812345678] r64.uq[8765432187654321] =3D> 0.uq[876543= 2187654321] 1.uq[1234567812345678] xorb imm8[0x34] al.ub[0x56] =3D> 1.ub[0x62] xorb imm8[0x34] bl.ub[0x56] =3D> 1.ub[0x62] xorb imm8[0x34] m8.ub[0x56] =3D> 1.ub[0x62] @@ -1058,3 +1379,13 @@ xorl r32.ud[0x86427531] r32.ud[0x12345678] =3D> 1.ud[0x94762349] xorl r32.ud[0x86427531] m32.ud[0x12345678] =3D> 1.ud[0x94762349] xorl m32.ud[0x86427531] r32.ud[0x12345678] =3D> 1.ud[0x94762349] +xorq imm8[0x31] r64.uq[0x1234567812345678] =3D> 1.uq[0x1234567812345649] +xorq imm32[0x12345678] rax.uq[0x8642753186427531] =3D> 1.uq[0x8642753194= 762349] +xorq imm32[0x12345678] rbx.uq[0x8642753186427531] =3D> 1.uq[0x8642753194= 762349] +xorq imm32[0x12345678] m64.uq[0x8642753186427531] =3D> 1.uq[0x8642753194= 762349] +xorq imm32[-2042464975] rax.uq[0x1234567812345678] =3D> 1.uq[0xedcba9879= 4762349] +xorq imm32[-2042464975] rbx.uq[0x1234567812345678] =3D> 1.uq[0xedcba9879= 4762349] +xorq imm32[-2042464975] m64.uq[0x1234567812345678] =3D> 1.uq[0xedcba9879= 4762349] +xorq r64.uq[0x8642753186427531] r64.uq[0x1234567812345678] =3D> 1.uq[0x9= 476234994762349] +xorq r64.uq[0x8642753186427531] m64.uq[0x1234567812345678] =3D> 1.uq[0x9= 476234994762349] +xorq m64.uq[0x8642753186427531] r64.uq[0x1234567812345678] =3D> 1.uq[0x9= 476234994762349] Modified: trunk/none/tests/amd64/insn_basic.stdout.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/insn_basic.stdout.exp 2005-11-05 15:13:23 UTC = (rev 5023) +++ trunk/none/tests/amd64/insn_basic.stdout.exp 2005-11-06 12:29:50 UTC = (rev 5024) @@ -32,6 +32,18 @@ adcl_10 ... ok adcl_11 ... ok adcl_12 ... ok +adcq_1 ... ok +adcq_2 ... ok +adcq_3 ... ok +adcq_4 ... ok +adcq_5 ... ok +adcq_6 ... ok +adcq_7 ... ok +adcq_8 ... ok +adcq_9 ... ok +adcq_10 ... ok +adcq_11 ... ok +adcq_12 ... ok addb_1 ... ok addb_2 ... ok addb_3 ... ok @@ -52,6 +64,13 @@ addl_5 ... ok addl_6 ... ok addl_7 ... ok +addq_1 ... ok +addq_2 ... ok +addq_3 ... ok +addq_4 ... ok +addq_5 ... ok +addq_6 ... ok +addq_7 ... ok andb_1 ... ok andb_2 ... ok andb_3 ... ok @@ -72,15 +91,30 @@ andl_5 ... ok andl_6 ... ok andl_7 ... ok +andq_1 ... ok +andq_2 ... ok +andq_3 ... ok +andq_4 ... ok +andq_5 ... ok +andq_6 ... ok +andq_7 ... ok +andq_8 ... ok +andq_9 ... ok +andq_10 ... ok bsfw_1 ... ok bsfw_2 ... ok bsfl_1 ... ok bsfl_2 ... ok +bsfq_1 ... ok +bsfq_2 ... ok bsrw_1 ... ok bsrw_2 ... ok bsrl_1 ... ok bsrl_2 ... ok +bsrq_1 ... ok +bsrq_2 ... ok bswapl_1 ... ok +bswapq_1 ... ok btw_1 ... ok btw_2 ... ok btw_3 ... ok @@ -93,6 +127,14 @@ btl_6 ... ok btl_7 ... ok btl_8 ... ok +btq_1 ... ok +btq_2 ... ok +btq_3 ... ok +btq_4 ... ok +btq_5 ... ok +btq_6 ... ok +btq_7 ... ok +btq_8 ... ok btcw_1 ... ok btcw_2 ... ok btcw_3 ... ok @@ -105,6 +147,14 @@ btcl_6 ... ok btcl_7 ... ok btcl_8 ... ok +btcq_1 ... ok +btcq_2 ... ok +btcq_3 ... ok +btcq_4 ... ok +btcq_5 ... ok +btcq_6 ... ok +btcq_7 ... ok +btcq_8 ... ok btrw_1 ... ok btrw_2 ... ok btrw_3 ... ok @@ -117,6 +167,14 @@ btrl_6 ... ok btrl_7 ... ok btrl_8 ... ok +btrq_1 ... ok +btrq_2 ... ok +btrq_3 ... ok +btrq_4 ... ok +btrq_5 ... ok +btrq_6 ... ok +btrq_7 ... ok +btrq_8 ... ok btsw_1 ... ok btsw_2 ... ok btsw_3 ... ok @@ -129,10 +187,20 @@ btsl_6 ... ok btsl_7 ... ok btsl_8 ... ok +btsq_1 ... ok +btsq_2 ... ok +btsq_3 ... ok +btsq_4 ... ok +btsq_5 ... ok +btsq_6 ... ok +btsq_7 ... ok +btsq_8 ... ok cbw_1 ... ok cbw_2 ... ok cdq_1 ... ok cdq_2 ... ok +cdqe_1 ... ok +cdqe_2 ... ok cld_1 ... ok cld_2 ... ok cmpb_1 ... ok @@ -353,9 +421,93 @@ cmpl_76 ... ok cmpl_77 ... ok cmpl_78 ... ok +cmpq_1 ... ok +cmpq_2 ... ok +cmpq_3 ... ok +cmpq_4 ... ok +cmpq_5 ... ok +cmpq_6 ... ok +cmpq_7 ... ok +cmpq_8 ... ok +cmpq_9 ... ok +cmpq_10 ... ok +cmpq_11 ... ok +cmpq_12 ... ok +cmpq_13 ... ok +cmpq_14 ... ok +cmpq_15 ... ok +cmpq_16 ... ok +cmpq_17 ... ok +cmpq_18 ... ok +cmpq_19 ... ok +cmpq_20 ... ok +cmpq_21 ... ok +cmpq_22 ... ok +cmpq_23 ... ok +cmpq_24 ... ok +cmpq_25 ... ok +cmpq_26 ... ok +cmpq_27 ... ok +cmpq_28 ... ok +cmpq_29 ... ok +cmpq_30 ... ok +cmpq_31 ... ok +cmpq_32 ... ok +cmpq_33 ... ok +cmpq_34 ... ok +cmpq_35 ... ok +cmpq_36 ... ok +cmpq_37 ... ok +cmpq_38 ... ok +cmpq_39 ... ok +cmpq_40 ... ok +cmpq_41 ... ok +cmpq_42 ... ok +cmpq_43 ... ok +cmpq_44 ... ok +cmpq_45 ... ok +cmpq_46 ... ok +cmpq_47 ... ok +cmpq_48 ... ok +cmpq_49 ... ok +cmpq_50 ... ok +cmpq_51 ... ok +cmpq_52 ... ok +cmpq_53 ... ok +cmpq_54 ... ok +cmpq_55 ... ok +cmpq_56 ... ok +cmpq_57 ... ok +cmpq_58 ... ok +cmpq_59 ... ok +cmpq_60 ... ok +cmpq_61 ... ok +cmpq_62 ... ok +cmpq_63 ... ok +cmpq_64 ... ok +cmpq_65 ... ok +cmpq_66 ... ok +cmpq_67 ... ok +cmpq_68 ... ok +cmpq_69 ... ok +cmpq_70 ... ok +cmpq_71 ... ok +cmpq_72 ... ok +cmpq_73 ... ok +cmpq_74 ... ok +cmpq_75 ... ok +cmpq_76 ... ok +cmpq_77 ... ok +cmpq_78 ... ok +cmpq_79 ... ok +cmpq_80 ... ok cmpxchgw_1 ... ok cmpxchgl_1 ... ok cmpxchgl_2 ... ok +cmpxchgq_1 ... ok +cmpxchgq_2 ... ok +cqo_1 ... ok +cqo_2 ... ok cwd_1 ... ok cwd_2 ... ok cwde_1 ... ok @@ -366,24 +518,32 @@ decw_2 ... ok decl_1 ... ok decl_2 ... ok +decq_1 ... ok +decq_2 ... ok divb_1 ... ok divb_2 ... ok divw_1 ... ok divw_2 ... ok divl_1 ... ok divl_2 ... ok +divq_1 ... ok +divq_2 ... ok idivb_1 ... ok idivb_2 ... ok idivw_1 ... ok idivw_2 ... ok idivl_1 ... ok idivl_2 ... ok +idivq_1 ... ok +idivq_2 ... ok imulb_1 ... ok imulb_2 ... ok imulw_1 ... ok imulw_2 ... ok imull_1 ... ok imull_2 ... ok +imulq_1 ... ok +imulq_2 ... ok imulw_3 ... ok imulw_4 ... ok imulw_5 ... ok @@ -400,12 +560,22 @@ imull_8 ... ok imull_9 ... ok imull_10 ... ok +imulq_3 ... ok +imulq_4 ... ok +imulq_5 ... ok +imulq_6 ... ok +imulq_7 ... ok +imulq_8 ... ok +imulq_9 ... ok +imulq_10 ... ok incb_1 ... ok incb_2 ... ok incw_1 ... ok incw_2 ... ok incl_1 ... ok incl_2 ... ok +incq_1 ... ok +incq_2 ... ok movb_1 ... ok movb_2 ... ok movb_3 ... ok @@ -421,36 +591,56 @@ movl_3 ... ok movl_4 ... ok movl_5 ... ok +movq_1 ... ok +movq_2 ... ok +movq_3 ... ok +movq_4 ... ok +movq_5 ... ok +movq_6 ... ok movsbw_1 ... ok movsbw_2 ... ok movsbl_1 ... ok movsbl_2 ... ok movswl_1 ... ok movswl_2 ... ok +movsbq_1 ... ok +movsbq_2 ... ok +movswq_1 ... ok +movswq_2 ... ok movzbw_1 ... ok movzbw_2 ... ok movzbl_1 ... ok movzbl_2 ... ok movzwl_1 ... ok movzwl_2 ... ok +movzbq_1 ... ok +movzbq_2 ... ok +movzwq_1 ... ok +movzwq_2 ... ok mulb_1 ... ok mulb_2 ... ok mulw_1 ... ok mulw_2 ... ok mull_1 ... ok mull_2 ... ok +mulq_1 ... ok +mulq_2 ... ok negb_1 ... ok negb_2 ... ok negw_1 ... ok negw_2 ... ok negl_1 ... ok negl_2 ... ok +negq_1 ... ok +negq_2 ... ok notb_1 ... ok notb_2 ... ok notw_1 ... ok notw_2 ... ok notl_1 ... ok notl_2 ... ok +notq_1 ... ok +notq_2 ... ok orb_1 ... ok orb_2 ... ok orb_3 ... ok @@ -471,6 +661,16 @@ orl_5 ... ok orl_6 ... ok orl_7 ... ok +orq_1 ... ok +orq_2 ... ok +orq_3 ... ok +orq_4 ... ok +orq_5 ... ok +orq_6 ... ok +orq_7 ... ok +orq_8 ... ok +orq_9 ... ok +orq_10 ... ok rcrb_1 ... ok rcrb_2 ... ok rcrb_3 ... ok @@ -489,6 +689,12 @@ rcrl_4 ... ok rcrl_5 ... ok rcrl_6 ... ok +rcrq_1 ... ok +rcrq_2 ... ok +rcrq_3 ... ok +rcrq_4 ... ok +rcrq_5 ... ok +rcrq_6 ... ok rolb_1 ... ok rolb_2 ... ok rolb_3 ... ok @@ -507,6 +713,12 @@ roll_4 ... ok roll_5 ... ok roll_6 ... ok +rolq_1 ... ok +rolq_2 ... ok +rolq_3 ... ok +rolq_4 ... ok +rolq_5 ... ok +rolq_6 ... ok rorb_1 ... ok rorb_2 ... ok rorb_3 ... ok @@ -525,6 +737,12 @@ rorl_4 ... ok rorl_5 ... ok rorl_6 ... ok +rorq_1 ... ok +rorq_2 ... ok +rorq_3 ... ok +rorq_4 ... ok +rorq_5 ... ok +rorq_6 ... ok salb_1 ... ok salb_2 ... ok salb_3 ... ok @@ -543,6 +761,12 @@ sall_4 ... ok sall_5 ... ok sall_6 ... ok +salq_1 ... ok +salq_2 ... ok +salq_3 ... ok +salq_4 ... ok +salq_5 ... ok +salq_6 ... ok sarb_1 ... ok sarb_2 ... ok sarb_3 ... ok @@ -561,6 +785,12 @@ sarl_4 ... ok sarl_5 ... ok sarl_6 ... ok +sarq_1 ... ok +sarq_2 ... ok +sarq_3 ... ok +sarq_4 ... ok +sarq_5 ... ok +sarq_6 ... ok sbbb_1 ... ok sbbb_2 ... ok sbbb_3 ... ok @@ -587,6 +817,16 @@ sbbl_8 ... ok sbbl_9 ... ok sbbl_10 ... ok +sbbq_1 ... ok +sbbq_2 ... ok +sbbq_3 ... ok +sbbq_4 ... ok +sbbq_5 ... ok +sbbq_6 ... ok +sbbq_7 ... ok +sbbq_8 ... ok +sbbq_9 ... ok +sbbq_10 ... ok seta_1 ... ok seta_2 ... ok seta_3 ... ok @@ -797,6 +1037,12 @@ shll_4 ... ok shll_5 ... ok shll_6 ... ok +shlq_1 ... ok +shlq_2 ... ok +shlq_3 ... ok +shlq_4 ... ok +shlq_5 ... ok +shlq_6 ... ok shrb_1 ... ok shrb_2 ... ok shrb_3 ... ok @@ -815,6 +1061,12 @@ shrl_4 ... ok shrl_5 ... ok shrl_6 ... ok +shrq_1 ... ok +shrq_2 ... ok +shrq_3 ... ok +shrq_4 ... ok +shrq_5 ... ok +shrq_6 ... ok shldw_1 ... ok shldw_2 ... ok shldw_3 ... ok @@ -823,6 +1075,10 @@ shldl_2 ... ok shldl_3 ... ok shldl_4 ... ok +shldq_1 ... ok +shldq_2 ... ok +shldq_3 ... ok +shldq_4 ... ok shrdw_1 ... ok shrdw_2 ... ok shrdw_3 ... ok @@ -839,6 +1095,14 @@ shrdl_6 ... ok shrdl_7 ... ok shrdl_8 ... ok +shrdq_1 ... ok +shrdq_2 ... ok +shrdq_3 ... ok +shrdq_4 ... ok +shrdq_5 ... ok +shrdq_6 ... ok +shrdq_7 ... ok +shrdq_8 ... ok std_1 ... ok std_2 ... ok subb_1 ... ok @@ -861,6 +1125,13 @@ subl_5 ... ok subl_6 ... ok subl_7 ... ok +subq_1 ... ok +subq_2 ... ok +subq_3 ... ok +subq_4 ... ok +subq_5 ... ok +subq_6 ... ok +subq_7 ... ok testb_1 ... ok testb_2 ... ok testb_3 ... ok @@ -936,8 +1207,35 @@ testl_23 ... ok testl_24 ... ok testl_25 ... ok +testq_1 ... ok +testq_2 ... ok +testq_3 ... ok +testq_4 ... ok +testq_5 ... ok +testq_6 ... ok +testq_7 ... ok +testq_8 ... ok +testq_9 ... ok +testq_10 ... ok +testq_11 ... ok +testq_12 ... ok +testq_13 ... ok +testq_14 ... ok +testq_15 ... ok +testq_16 ... ok +testq_17 ... ok +testq_18 ... ok +testq_19 ... ok +testq_20 ... ok +testq_21 ... ok +testq_22 ... ok +testq_23 ... ok +testq_24 ... ok +testq_25 ... ok xaddw_1 ... ok xaddl_1 ... ok +xaddq_1 ... ok +xaddq_2 ... ok xchgb_1 ... ok xchgb_2 ... ok xchgb_3 ... ok @@ -948,6 +1246,11 @@ xchgl_3 ... ok xchgl_4 ... ok xchgl_5 ... ok +xchgq_1 ... ok +xchgq_2 ... ok +xchgq_3 ... ok +xchgq_4 ... ok +xchgq_5 ... ok xorb_1 ... ok xorb_2 ... ok xorb_3 ... ok @@ -968,3 +1271,13 @@ xorl_5 ... ok xorl_6 ... ok xorl_7 ... ok +xorq_1 ... ok +xorq_2 ... ok +xorq_3 ... ok +xorq_4 ... ok +xorq_5 ... ok +xorq_6 ... ok +xorq_7 ... ok +xorq_8 ... ok +xorq_9 ... ok +xorq_10 ... ok |