]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add tests for 64 bit instructions.
authorTom Hughes <tom@compton.nu>
Sun, 6 Nov 2005 12:29:50 +0000 (12:29 +0000)
committerTom Hughes <tom@compton.nu>
Sun, 6 Nov 2005 12:29:50 +0000 (12:29 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5024

none/tests/amd64/gen_insn_test.pl
none/tests/amd64/insn_basic.def
none/tests/amd64/insn_basic.stdout.exp

index 2676b61a6c746acacf9e45dcf2e6a07fb1954cf8..faa1c7f9b1e42b125e3325d0b1e2291ca7394c18 100644 (file)
@@ -425,7 +425,7 @@ while (<>)
 
             print qq| \} \};\n|;
         }
-        elsif ($arg =~ /^(imm8|imm16|imm32)\[([^\]]+)\]$/)
+        elsif ($arg =~ /^(imm8|imm16|imm32|imm64)\[([^\]]+)\]$/)
         {
             my $type = $1;
             my $value = $2;
@@ -767,7 +767,7 @@ while (<>)
                 print qq|$prefix%$arg->{argnum}|;
             }
         }
-        elsif ($arg->{type} =~ /^imm(8|16|32)$/)
+        elsif ($arg->{type} =~ /^imm(8|16|32|64)$/)
         {
             print qq|$prefix\$$arg->{value}|;
         }
index a917cf8fff031526934dac586f72acadc2699c00..ebce40169e7b9aee8acb6ff3beb8eb776853897e 100644 (file)
@@ -38,6 +38,20 @@ adcl eflags[0x1,0x0] : r32.ud[12345678] m32.ud[87654321] => 1.ud[99999999]
 adcl eflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] => 1.ud[100000000]
 adcl eflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] => 1.ud[99999999]
 adcl eflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] => 1.ud[100000000]
+adcq eflags[0x1,0x0] : imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654333]
+adcq eflags[0x1,0x1] : imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654334]
+###adcq eflags[0x1,0x0] : imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432199999999]
+###adcq eflags[0x1,0x1] : imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432200000000]
+adcq eflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432199999999]
+adcq eflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432200000000]
+adcq eflags[0x1,0x0] : imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432199999999]
+adcq eflags[0x1,0x1] : imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432200000000]
+adcq eflags[0x1,0x0] : r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999]
+adcq eflags[0x1,0x1] : r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[10000000000000000]
+adcq eflags[0x1,0x0] : r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[9999999999999999]
+adcq eflags[0x1,0x1] : r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[10000000000000000]
+adcq eflags[0x1,0x0] : m64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999]
+adcq eflags[0x1,0x1] : m64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[10000000000000000]
 addb imm8[12] al.ub[34] => 1.ub[46]
 addb imm8[12] bl.ub[34] => 1.ub[46]
 addb imm8[12] m8.ub[34] => 1.ub[46]
@@ -58,6 +72,13 @@ addl imm32[12345678] m32.ud[87654321] => 1.ud[99999999]
 addl r32.ud[12345678] r32.ud[87654321] => 1.ud[99999999]
 addl r32.ud[12345678] m32.ud[87654321] => 1.ud[99999999]
 addl m32.ud[12345678] r32.ud[87654321] => 1.ud[99999999]
+addq imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654333]
+addq imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432199999999]
+addq imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432199999999]
+addq imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432199999999]
+addq r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999]
+addq r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[9999999999999999]
+addq m64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999]
 andb imm8[0x34] al.ub[0x56] => 1.ub[0x14]
 andb imm8[0x34] bl.ub[0x56] => 1.ub[0x14]
 andb imm8[0x34] m8.ub[0x56] => 1.ub[0x14]
@@ -78,15 +99,30 @@ andl imm32[0x86427531] m32.ud[0x12345678] => 1.ud[0x02005430]
 andl r32.ud[0x86427531] r32.ud[0x12345678] => 1.ud[0x02005430]
 andl r32.ud[0x86427531] m32.ud[0x12345678] => 1.ud[0x02005430]
 andl m32.ud[0x86427531] r32.ud[0x12345678] => 1.ud[0x02005430]
+andq imm8[0x31] r64.uq[0x1234567812345678] => 1.uq[0x0000000000000030]
+andq imm32[0x12345678] rax.uq[0x8642753186427531] => 1.uq[0x0000000002005430]
+andq imm32[0x12345678] rbx.uq[0x8642753186427531] => 1.uq[0x0000000002005430]
+andq imm32[0x12345678] m64.uq[0x8642753186427531] => 1.uq[0x0000000002005430]
+andq imm32[-2042464975] rax.uq[0x1234567812345678] => 1.uq[0x1234567802005430]
+andq imm32[-2042464975] rbx.uq[0x1234567812345678] => 1.uq[0x1234567802005430]
+andq imm32[-2042464975] m64.uq[0x1234567812345678] => 1.uq[0x1234567802005430]
+andq r64.uq[0x8642753186427531] r64.uq[0x1234567812345678] => 1.uq[0x0200543002005430]
+andq r64.uq[0x8642753186427531] m64.uq[0x1234567812345678] => 1.uq[0x0200543002005430]
+andq m64.uq[0x8642753186427531] r64.uq[0x1234567812345678] => 1.uq[0x0200543002005430]
 bsfw r16.uw[0x2468] r16.uw[0] => 1.uw[3]
 bsfw m16.uw[0x8642] r16.uw[0] => 1.uw[1]
 bsfl r32.ud[0x13572468] r32.ud[0] => 1.ud[3]
 bsfl m32.ud[0x75318642] r32.ud[0] => 1.ud[1]
+bsfq r64.uq[0x1357246813572468] r64.uq[0] => 1.uq[3]
+bsfq m64.uq[0x7531864275318642] r64.uq[0] => 1.uq[1]
 bsrw r16.uw[0x2468] r16.uw[0] => 1.uw[13]
 bsrw m16.uw[0x8642] r16.uw[0] => 1.uw[15]
 bsrl r32.ud[0x13572468] r32.ud[0] => 1.ud[28]
 bsrl m32.ud[0x75318642] r32.ud[0] => 1.ud[30]
+bsrq r64.uq[0x1357246813572468] r64.uq[0] => 1.uq[60]
+bsrq m64.uq[0x7531864275318642] r64.uq[0] => 1.uq[62]
 bswapl r32.ud[0x12345678] => 0.ud[0x78563412]
+bswapq r64.uq[0x1234567813572468] => 0.uq[0x6824571378563412]
 btw imm8[0] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001]
 btw imm8[12] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000]
 btw imm8[0] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001]
@@ -103,6 +139,14 @@ btl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001]
 btl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000]
 btl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001]
 btl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000]
+btq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001]
+btq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000]
+btq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001]
+btq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000]
+btq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001]
+btq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000]
+btq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001]
+btq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000]
 btcw imm8[0] r16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001]
 btcw imm8[12] r16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000]
 btcw imm8[0] m16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001]
@@ -119,6 +163,14 @@ btcl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001]
 btcl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000]
 btcl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001]
 btcl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000]
+btcq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001]
+btcq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000]
+btcq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001]
+btcq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000]
+btcq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001]
+btcq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000]
+btcq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001]
+btcq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000]
 btrw imm8[0] r16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001]
 btrw imm8[12] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000]
 btrw imm8[0] m16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001]
@@ -135,6 +187,14 @@ btrl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001]
 btrl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000]
 btrl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001]
 btrl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000]
+btrq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001]
+btrq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000]
+btrq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001]
+btrq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000]
+btrq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001]
+btrq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000]
+btrq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001]
+btrq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000]
 btsw imm8[0] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001]
 btsw imm8[12] r16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000]
 btsw imm8[0] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001]
@@ -151,10 +211,20 @@ btsl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001]
 btsl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000]
 btsl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001]
 btsl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000]
+btsq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001]
+btsq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000]
+btsq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001]
+btsq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000]
+btsq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001]
+btsq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000]
+btsq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001]
+btsq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000]
 cbw al.sb[123] : => ax.sw[123]
 cbw al.sb[-123] : => ax.sw[-123]
 cdq eax.ud[0x12345678] : => edx.ud[0x00000000] eax.ud[0x12345678]
 cdq eax.ud[0xfedcba98] : => edx.ud[0xffffffff] eax.ud[0xfedcba98]
+cdqe eax.ud[0x12345678] : => rax.uq[0x0000000012345678]
+cdqe eax.ud[0xfedcba98] : => rax.uq[0xfffffffffedcba98]
 ###clc eflags[0x001,0x000] : => eflags[0x001,0x000]
 ###clc eflags[0x001,0x001] : => eflags[0x001,0x000]
 cld eflags[0x400,0x000] : => eflags[0x400,0x000]
@@ -381,7 +451,87 @@ cmpl m32.ud[100] r32.sd[-2147483600] => eflags[0x800,0x800]
 cmpl m32.ud[50] r32.sd[-50] => eflags[0x800,0x000]
 cmpl m32.sd[-50] r32.sd[50] => eflags[0x800,0x000]
 ###cmpl m32.sd[-100] r32.sd[2147483600] => eflags[0x800,0x800]
-###cmpxchgb eflags[0x40,0x00] ax.uw[12] : r8.ub[56] r8.ub[12] => eflags[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56]
+cmpq imm8[3] r64.uq[2] => eflags[0x010,0x010]
+cmpq imm8[2] r64.uq[3] => eflags[0x010,0x000]
+cmpq imm8[12] r64.uq[12] => eflags[0x044,0x044]
+cmpq imm8[12] r64.uq[34] => eflags[0x044,0x000]
+cmpq imm8[34] r64.uq[12] => eflags[0x081,0x081]
+cmpq imm8[12] r64.uq[34] => eflags[0x081,0x000]
+cmpq imm8[100] r64.sq[-9223372036854775800] => eflags[0x800,0x800]
+cmpq imm8[50] r64.sq[-50] => eflags[0x800,0x000]
+cmpq imm8[-50] r64.sq[50] => eflags[0x800,0x000]
+cmpq imm8[-100] r64.sq[9223372036854775800] => eflags[0x800,0x800]
+cmpq imm8[3] m64.uq[2] => eflags[0x010,0x010]
+cmpq imm8[2] m64.uq[3] => eflags[0x010,0x000]
+cmpq imm8[12] m64.uq[12] => eflags[0x044,0x044]
+cmpq imm8[12] m64.uq[34] => eflags[0x044,0x000]
+cmpq imm8[34] m64.uq[12] => eflags[0x081,0x081]
+cmpq imm8[12] m64.uq[34] => eflags[0x081,0x000]
+cmpq imm8[100] m64.sq[-9223372036854775800] => eflags[0x800,0x800]
+cmpq imm8[50] m64.sq[-50] => eflags[0x800,0x000]
+cmpq imm8[-50] m64.sq[50] => eflags[0x800,0x000]
+cmpq imm8[-100] m64.sq[9223372036854775800] => eflags[0x800,0x800]
+cmpq imm32[3] rax.uq[2] => eflags[0x010,0x010]
+cmpq imm32[2] rax.uq[3] => eflags[0x010,0x000]
+cmpq imm32[12] rax.uq[12] => eflags[0x044,0x044]
+cmpq imm32[12] rax.uq[34] => eflags[0x044,0x000]
+cmpq imm32[34] rax.uq[12] => eflags[0x081,0x081]
+cmpq imm32[12] rax.uq[34] => eflags[0x081,0x000]
+cmpq imm32[100] rax.sq[-9223372036854775800] => eflags[0x800,0x800]
+cmpq imm32[50] rax.sq[-50] => eflags[0x800,0x000]
+cmpq imm32[-50] rax.sq[50] => eflags[0x800,0x000]
+cmpq imm32[-100] rax.sq[9223372036854775800] => eflags[0x800,0x800]
+cmpq imm32[3] r64.uq[2] => eflags[0x010,0x010]
+cmpq imm32[2] r64.uq[3] => eflags[0x010,0x000]
+cmpq imm32[12] r64.uq[12] => eflags[0x044,0x044]
+cmpq imm32[12] r64.uq[34] => eflags[0x044,0x000]
+cmpq imm32[34] r64.uq[12] => eflags[0x081,0x081]
+cmpq imm32[12] r64.uq[34] => eflags[0x081,0x000]
+cmpq imm32[100] r64.sq[-9223372036854775800] => eflags[0x800,0x800]
+cmpq imm32[50] r64.sq[-50] => eflags[0x800,0x000]
+cmpq imm32[-50] r64.sq[50] => eflags[0x800,0x000]
+cmpq imm32[-100] r64.sq[9223372036854775800] => eflags[0x800,0x800]
+cmpq imm32[3] m64.uq[2] => eflags[0x010,0x010]
+cmpq imm32[2] m64.uq[3] => eflags[0x010,0x000]
+cmpq imm32[12] m64.uq[12] => eflags[0x044,0x044]
+cmpq imm32[12] m64.uq[34] => eflags[0x044,0x000]
+cmpq imm32[34] m64.uq[12] => eflags[0x081,0x081]
+cmpq imm32[12] m64.uq[34] => eflags[0x081,0x000]
+cmpq imm32[100] m64.sq[-9223372036854775800] => eflags[0x800,0x800]
+cmpq imm32[50] m64.sq[-50] => eflags[0x800,0x000]
+cmpq imm32[-50] m64.sq[50] => eflags[0x800,0x000]
+cmpq imm32[-100] m64.sq[9223372036854775800] => eflags[0x800,0x800]
+cmpq r64.uq[3] r64.uq[2] => eflags[0x010,0x010]
+cmpq r64.uq[2] r64.uq[3] => eflags[0x010,0x000]
+cmpq r64.uq[12] r64.uq[12] => eflags[0x044,0x044]
+cmpq r64.uq[12] r64.uq[34] => eflags[0x044,0x000]
+cmpq r64.uq[34] r64.uq[12] => eflags[0x081,0x081]
+cmpq r64.uq[12] r64.uq[34] => eflags[0x081,0x000]
+cmpq r64.uq[100] r64.sq[-9223372036854775800] => eflags[0x800,0x800]
+cmpq r64.uq[50] r64.sq[-50] => eflags[0x800,0x000]
+cmpq r64.sq[-50] r64.sq[50] => eflags[0x800,0x000]
+cmpq r64.sq[-100] r64.sq[9223372036854775800] => eflags[0x800,0x800]
+cmpq r64.uq[3] m64.uq[2] => eflags[0x010,0x010]
+cmpq r64.uq[2] m64.uq[3] => eflags[0x010,0x000]
+cmpq r64.uq[12] m64.uq[12] => eflags[0x044,0x044]
+cmpq r64.uq[12] m64.uq[34] => eflags[0x044,0x000]
+cmpq r64.uq[34] m64.uq[12] => eflags[0x081,0x081]
+cmpq r64.uq[12] m64.uq[34] => eflags[0x081,0x000]
+cmpq r64.uq[100] m64.sq[-9223372036854775800] => eflags[0x800,0x800]
+cmpq r64.uq[50] m64.sq[-50] => eflags[0x800,0x000]
+cmpq r64.sq[-50] m64.sq[50] => eflags[0x800,0x000]
+cmpq r64.sq[-100] m64.sq[9223372036854775800] => eflags[0x800,0x800]
+cmpq m64.uq[3] r64.uq[2] => eflags[0x010,0x010]
+cmpq m64.uq[2] r64.uq[3] => eflags[0x010,0x000]
+cmpq m64.uq[12] r64.uq[12] => eflags[0x044,0x044]
+cmpq m64.uq[12] r64.uq[34] => eflags[0x044,0x000]
+cmpq m64.uq[34] r64.uq[12] => eflags[0x081,0x081]
+cmpq m64.uq[12] r64.uq[34] => eflags[0x081,0x000]
+cmpq m64.uq[100] r64.sq[-9223372036854775800] => eflags[0x800,0x800]
+cmpq m64.uq[50] r64.sq[-50] => eflags[0x800,0x000]
+cmpq m64.sq[-50] r64.sq[50] => eflags[0x800,0x000]
+cmpq m64.sq[-100] r64.sq[9223372036854775800] => eflags[0x800,0x800]
+###cmpxchgb eflags[0x40,0x00] al.ub[12] : r8.ub[56] r8.ub[12] => eflags[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56]
 ###cmpxchgb eflags[0x40,0x40] al.ub[12] : r8.ub[56] r8.ub[34] => eflags[0x40,0x00] al.ub[34] 0.ub[56] 1.ub[34]
 ###cmpxchgb eflags[0x40,0x00] al.ub[12] : r8.ub[56] m8.ub[12] => eflags[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56]
 ###cmpxchgb eflags[0x40,0x40] al.ub[12] : r8.ub[56] m8.ub[34] => eflags[0x40,0x00] al.ub[34] 0.ub[56] 1.ub[34]
@@ -393,6 +543,12 @@ cmpxchgw eflags[0x40,0x00] ax.uw[123] : r16.uw[567] m16.uw[123] => eflags[0x40,0
 ###cmpxchgl eflags[0x40,0x40] eax.ud[1234] : r32.ud[5678] r32.ud[3456] => 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] => 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] => 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] => 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] => 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] => 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] => eflags[0x40,0x00] rax.uq[34567] 0.uq[56789] 1.uq[34567]
+cqo rax.uq[0x0123456789abcdef] : => rdx.uq[0x0000000000000000] rax.uq[0x0123456789abcdef]
+cqo rax.uq[0xfedcba9876543210] : => rdx.uq[0xffffffffffffffff] rax.uq[0xfedcba9876543210]
 cwd ax.uw[0x1234] : => dx.uw[0x0000] ax.uw[0x1234]
 cwd ax.uw[0xfedc] : => dx.uw[0xffff] ax.uw[0xfedc]
 cwde ax.sw[12345] : => eax.sd[12345]
@@ -403,24 +559,32 @@ decw r16.uw[12345] => 0.uw[12344]
 decw m16.uw[12345] => 0.uw[12344]
 decl r32.ud[12345678] => 0.ud[12345677]
 decl m32.ud[12345678] => 0.ud[12345677]
+decq r64.uq[1234567813572468] => 0.uq[1234567813572467]
+decq m64.uq[1234567813572468] => 0.uq[1234567813572467]
 divb ax.uw[30276] : r8.ub[123] => al.ub[246] ah.ub[18]
 divb ax.uw[30276] : m8.ub[123] => al.ub[246] ah.ub[18]
 divw dx.uw[464] ax.uw[58794] : r16.uw[12345] => ax.uw[2468] dx.uw[38]
 divw dx.uw[464] ax.uw[58794] : m16.uw[12345] => ax.uw[2468] dx.uw[38]
 divl edx.ud[251958] eax.ud[673192206] : r32.ud[87654321] => eax.ud[12345678] edx.ud[20783136]
 divl edx.ud[251958] eax.ud[673192206] : m32.ud[87654321] => eax.ud[12345678] edx.ud[20783136]
+divq rdx.uq[251958251958] rax.uq[673192206673192206] : r64.uq[8765432175318642] => rax.uq[530243038582426] rdx.uq[6769725475870842]
+divq rdx.uq[251958251958] rax.uq[673192206673192206] : m64.uq[8765432175318642] => rax.uq[530243038582426] rdx.uq[6769725475870842]
 idivb ax.sw[-15157] : r8.sb[123] => al.sb[-123] ah.sb[-28]
 idivb ax.sw[15157] : m8.sb[-123] => al.sb[-123] ah.sb[28]
 idivw dx.sw[-464] ax.sw[-23456] : r16.sw[12345] => ax.sw[-2459] dx.sw[-10269]
 idivw dx.sw[464] ax.sw[23456] : m16.sw[-12345] => ax.sw[-2465] dx.sw[1735]
 idivl edx.sd[-251959] eax.sd[-673192206] : r32.sd[87654321] => eax.sd[-12345678] edx.sd[-20783136]
 idivl edx.sd[251958] eax.sd[673192206] : m32.sd[-87654321] => eax.sd[-12345678] edx.sd[20783136]
+idivq rdx.sq[-251958251959] rax.sq[-673192206673192206] : r64.sq[8765432175318642] => rax.sq[-530243038582426] rdx.sq[-6769725475870842]
+idivq rdx.sq[251958251958] rax.sq[673192206673192206] : m64.sq[-8765432175318642] => rax.sq[-530243038582426] rdx.sq[6769725475870842]
 imulb al.sb[123] : r8.sb[-123] => ax.sw[-15129]
 imulb al.sb[-123] : m8.sb[123] => ax.sw[-15129]
 imulw ax.sw[-12345] : r16.sw[12345] => dx.sw[-2326] ax.sw[-27825]
 imulw ax.sw[12345] : m16.sw[-12345] => dx.sw[-2326] ax.sw[-27825]
 imull eax.sd[-12345678] : r32.sd[12345678] => edx.sd[-35488] eax.sd[-260846532]
 imull eax.sd[12345678] : m32.sd[-12345678] => edx.sd[-35488] eax.sd[-260846532]
+imulq rax.sq[-1234567812345678] : r64.sq[1234567812345678] => rdx.sq[-82624753572] rax.sq[-2436846251660458948]
+imulq rax.sq[1234567812345678] : m64.sq[-1234567812345678] => rdx.sq[-82624753572] rax.sq[-2436846251660458948]
 imulw imm8[123] r16.uw[456] => 1.uw[56088]
 imulw imm8[123] r16.uw[456] r16.uw[0] => 2.uw[56088]
 imulw imm8[123] m16.uw[456] r16.uw[0] => 2.uw[56088]
@@ -437,12 +601,22 @@ imull imm32[12345] r32.ud[67890] r32.ud[0] => 2.ud[838102050]
 imull imm32[12345] m32.ud[67890] r32.ud[0] => 2.ud[838102050]
 imull r32.ud[12345] r32.ud[67890] => 1.ud[838102050]
 imull m32.ud[12345] r32.ud[67890] => 1.ud[838102050]
+imulq imm8[123] r64.uq[1234567890] => 1.uq[151851850470]
+imulq imm8[123] r64.uq[1234567890] r64.uq[0] => 2.uq[151851850470]
+imulq imm8[123] m64.uq[1234567890] r64.uq[0] => 2.uq[151851850470]
+imulq imm32[12345] r64.uq[1234567890] => 1.uq[15240740602050]
+imulq imm32[12345] r64.uq[1234567890] r64.uq[0] => 2.uq[15240740602050]
+imulq imm32[12345] m64.uq[1234567890] r64.uq[0] => 2.uq[15240740602050]
+imulq r64.uq[1234567] r64.uq[1234567890] => 1.uq[1524156776253630]
+imulq m64.uq[1234567] r64.uq[1234567890] => 1.uq[1524156776253630]
 incb r8.ub[123] => 0.ub[124]
 incb m8.ub[123] => 0.ub[124]
 incw r16.uw[12345] => 0.uw[12346]
 incw m16.uw[12345] => 0.uw[12346]
 incl r32.ud[12345678] => 0.ud[12345679]
 incl m32.ud[12345678] => 0.ud[12345679]
+incq r64.uq[1234567813572468] => 0.uq[1234567813572469]
+incq m64.uq[1234567813572468] => 0.uq[1234567813572469]
 ###lahf eflags[0xff,0xfd] ah.ub[0x28] : => ah.ub[0xd7]
 ###lahf eflags[0xff,0x28] ah.ub[0xfd] : => ah.ub[0x02]
 movb imm8[123] r8.ub[0] => 1.ub[123]
@@ -460,36 +634,56 @@ movl imm32[12345678] m32.ud[0] => 1.ud[12345678]
 movl r32.ud[12345678] r32.ud[0] => 1.ud[12345678]
 movl r32.ud[12345678] m32.ud[0] => 1.ud[12345678]
 movl m32.ud[12345678] r32.ud[0] => 1.ud[12345678]
+movq imm32[12345678] r64.uq[0] => 1.uq[12345678]
+movq imm32[12345678] m64.uq[0] => 1.uq[12345678]
+movq imm64[1234567813572468] r64.uq[0] => 1.uq[1234567813572468]
+movq r64.uq[1234567813572468] r64.uq[0] => 1.uq[1234567813572468]
+movq r64.uq[1234567813572468] m64.uq[0] => 1.uq[1234567813572468]
+movq m64.uq[1234567813572468] r64.uq[0] => 1.uq[1234567813572468]
 movsbw r8.sb[123] r16.sw[0] => 1.sw[123]
 movsbw m8.sb[-123] r16.sw[0] => 1.sw[-123]
 movsbl r8.sb[123] r32.sd[0] => 1.sd[123]
 movsbl m8.sb[-123] r32.sd[0] => 1.sd[-123]
 movswl r16.sw[12345] r32.sd[0] => 1.sd[12345]
 movswl m16.sw[-12345] r32.sd[0] => 1.sd[-12345]
+movsbq r8.sb[123] r64.sq[0] => 1.sq[123]
+movsbq m8.sb[-123] r64.sq[0] => 1.sq[-123]
+movswq r16.sw[12345] r64.sq[0] => 1.sq[12345]
+movswq m16.sw[-12345] r64.sq[0] => 1.sq[-12345]
 movzbw r8.ub[123] r16.uw[0] => 1.uw[123]
 movzbw m8.ub[246] r16.uw[0] => 1.uw[246]
 movzbl r8.ub[123] r32.ud[0] => 1.ud[123]
 movzbl m8.ub[246] r32.ud[0] => 1.ud[246]
 movzwl r16.uw[12345] r32.ud[0] => 1.ud[12345]
 movzwl m16.uw[49380] r32.ud[0] => 1.ud[49380]
+movzbq r8.ub[123] r64.uq[0] => 1.uq[123]
+movzbq m8.ub[246] r64.uq[0] => 1.uq[246]
+movzwq r16.uw[12345] r64.uq[0] => 1.uq[12345]
+movzwq m16.uw[49380] r64.uq[0] => 1.uq[49380]
 mulb al.ub[123] : r8.ub[123] => ax.uw[15129]
 mulb al.ub[123] : m8.ub[123] => ax.uw[15129]
 mulw ax.uw[12345] : r16.uw[12345] => dx.uw[2325] ax.uw[27825]
 mulw ax.uw[12345] : m16.uw[12345] => dx.uw[2325] ax.uw[27825]
 mull eax.ud[12345678] : r32.ud[12345678] => edx.ud[35487] eax.ud[260846532]
 mull eax.ud[12345678] : m32.ud[12345678] => edx.ud[35487] eax.ud[260846532]
+mulq rax.uq[1234567813572468] : r64.uq[1234567813572468] => rdx.uq[82624753735] rax.uq[6281712683416325264]
+mulq rax.uq[1234567813572468] : m64.uq[1234567813572468] => rdx.uq[82624753735] rax.uq[6281712683416325264]
 negb r8.sb[123] => 0.sb[-123]
 negb m8.sb[-123] => 0.sb[123]
 negw r16.sw[12345] => 0.sw[-12345]
 negw m16.sw[-12345] => 0.sw[12345]
 negl r32.sd[12345678] => 0.sd[-12345678]
 negl m32.sd[-12345678] => 0.sd[12345678]
+negq r64.sq[1234567813572468] => 0.sq[-1234567813572468]
+negq m64.sq[-1234567813572468] => 0.sq[1234567813572468]
 notb r8.ub[0xca] => 0.ub[0x35]
 notb m8.ub[0xca] => 0.ub[0x35]
 notw r16.uw[0xf0ca] => 0.uw[0x0f35]
 notw m16.uw[0xf0ca] => 0.uw[0x0f35]
 notl r32.ud[0xff00f0ca] => 0.ud[0x00ff0f35]
 notl m32.ud[0xff00f0ca] => 0.ud[0x00ff0f35]
+notq r64.uq[0xffff0000ff00f0ca] => 0.uq[0x0000ffff00ff0f35]
+notq m64.uq[0xffff0000ff00f0ca] => 0.uq[0x0000ffff00ff0f35]
 orb imm8[0x34] al.ub[0x56] => 1.ub[0x76]
 orb imm8[0x34] bl.ub[0x56] => 1.ub[0x76]
 orb imm8[0x34] m8.ub[0x56] => 1.ub[0x76]
@@ -510,6 +704,16 @@ orl imm32[0x86427531] m32.ud[0x12345678] => 1.ud[0x96767779]
 orl r32.ud[0x86427531] r32.ud[0x12345678] => 1.ud[0x96767779]
 orl r32.ud[0x86427531] m32.ud[0x12345678] => 1.ud[0x96767779]
 orl m32.ud[0x86427531] r32.ud[0x12345678] => 1.ud[0x96767779]
+orq imm8[0x31] r64.uq[0x0123456789abcdcc] => 1.uq[0x0123456789abcdfd]
+orq imm32[0x12345678] rax.uq[0x8642753186427531] => 1.uq[0x8642753196767779]
+orq imm32[0x12345678] rbx.uq[0x8642753186427531] => 1.uq[0x8642753196767779]
+orq imm32[0x12345678] m64.uq[0x8642753186427531] => 1.uq[0x8642753196767779]
+orq imm32[-2042464975] rax.uq[0x1234567812345678] => 1.uq[0xffffffff96767779]
+orq imm32[-2042464975] rbx.uq[0x1234567812345678] => 1.uq[0xffffffff96767779]
+orq imm32[-2042464975] m64.uq[0x1234567812345678] => 1.uq[0xffffffff96767779]
+orq r64.uq[0xeca86420fdb97531] r64.uq[0x0123456789abcdef] => 1.uq[0xedab6567fdbbfdff]
+orq r64.uq[0xeca86420fdb97531] m64.uq[0x0123456789abcdef] => 1.uq[0xedab6567fdbbfdff]
+orq m64.uq[0xeca86420fdb97531] r64.uq[0x0123456789abcdef] => 1.uq[0xedab6567fdbbfdff]
 ###rclb eflags[0x1,0x0] : r8.ub[0xca] => 0.ub[0x94] eflags[0x1,0x1]
 ###rclb eflags[0x1,0x0] : m8.ub[0xca] => 0.ub[0x94] eflags[0x1,0x1]
 ###rclb eflags[0x1,0x0] : imm8[2] r8.ub[0xca] => 1.ub[0x29] eflags[0x1,0x1]
@@ -528,6 +732,12 @@ orl m32.ud[0x86427531] r32.ud[0x12345678] => 1.ud[0x96767779]
 ###rcll eflags[0x1,0x0] : imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] eflags[0x1,0x1]
 ###rcll eflags[0x1,0x0] : cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] eflags[0x1,0x1]
 ###rcll eflags[0x1,0x0] : cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] eflags[0x1,0x1]
+###rclq eflags[0x1,0x0] : r64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194] eflags[0x1,0x1]
+###rclq eflags[0x1,0x0] : m64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194] eflags[0x1,0x1]
+###rclq eflags[0x1,0x0] : imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] eflags[0x1,0x1]
+###rclq eflags[0x1,0x0] : imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] eflags[0x1,0x1]
+###rclq eflags[0x1,0x0] : cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] eflags[0x1,0x1]
+###rclq eflags[0x1,0x0] : cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] eflags[0x1,0x1]
 rcrb eflags[0x1,0x1] : r8.ub[0xca] => 0.ub[0xe5] eflags[0x1,0x0]
 rcrb eflags[0x1,0x1] : m8.ub[0xca] => 0.ub[0xe5] eflags[0x1,0x0]
 rcrb eflags[0x1,0x0] : imm8[2] r8.ub[0xca] => 1.ub[0x32] eflags[0x1,0x1]
@@ -546,6 +756,12 @@ rcrl eflags[0x1,0x0] : imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] eflags[0x1
 rcrl eflags[0x1,0x0] : imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] eflags[0x1,0x1]
 rcrl eflags[0x1,0x0] : cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] eflags[0x1,0x1]
 rcrl eflags[0x1,0x0] : cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] eflags[0x1,0x1]
+rcrq eflags[0x1,0x1] : r64.uq[0xffff0000ff00f0ca] => 0.uq[0xffff80007f807865] eflags[0x1,0x0]
+rcrq eflags[0x1,0x1] : m64.uq[0xffff0000ff00f0ca] => 0.uq[0xffff80007f807865] eflags[0x1,0x0]
+rcrq eflags[0x1,0x0] : imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] eflags[0x1,0x1]
+rcrq eflags[0x1,0x0] : imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] eflags[0x1,0x1]
+rcrq eflags[0x1,0x0] : cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] eflags[0x1,0x1]
+rcrq eflags[0x1,0x0] : cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] eflags[0x1,0x1]
 rolb r8.ub[0xca] => 0.ub[0x95]
 rolb m8.ub[0xca] => 0.ub[0x95]
 rolb imm8[2] r8.ub[0xca] => 1.ub[0x2b]
@@ -564,6 +780,12 @@ roll imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0caff]
 roll imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0caff]
 roll cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0caff]
 roll cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0caff]
+rolq r64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e195]
+rolq m64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e195]
+rolq imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0caffff]
+rolq imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0caffff]
+rolq cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0caffff]
+rolq cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0caffff]
 rorb r8.ub[0xca] => 0.ub[0x65]
 rorb m8.ub[0xca] => 0.ub[0x65]
 rorb imm8[2] r8.ub[0xca] => 1.ub[0xb2]
@@ -582,6 +804,12 @@ rorl imm8[8] r32.ud[0xff00f0ca] => 1.ud[0xcaff00f0]
 rorl imm8[8] m32.ud[0xff00f0ca] => 1.ud[0xcaff00f0]
 rorl cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0xcaff00f0]
 rorl cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0xcaff00f0]
+rorq r64.uq[0xffff0000ff00f0ca] => 0.uq[0x7fff80007f807865]
+rorq m64.uq[0xffff0000ff00f0ca] => 0.uq[0x7fff80007f807865]
+rorq imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xf0caffff0000ff00]
+rorq imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xf0caffff0000ff00]
+rorq cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xf0caffff0000ff00]
+rorq cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xf0caffff0000ff00]
 ###sahf eflags[0xff,0x28] ah.ub[0xfd] : => eflags[0xfd,0xd5]
 ###sahf eflags[0xff,0xfd] ah.ub[0x28] : => eflags[0xfd,0x00]
 salb r8.ub[0xca] => 0.ub[0x94]
@@ -602,6 +830,12 @@ sall imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca00]
 sall imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca00]
 sall cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca00]
 sall cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca00]
+salq r64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194]
+salq m64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194]
+salq imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca0000]
+salq imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca0000]
+salq cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca0000]
+salq cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca0000]
 sarb r8.ub[0xca] => 0.ub[0xe5]
 sarb m8.ub[0xca] => 0.ub[0xe5]
 sarb imm8[2] r8.ub[0xca] => 1.ub[0xf2]
@@ -620,6 +854,12 @@ sarl imm8[8] r32.ud[0xff00f0ca] => 1.ud[0xffff00f0]
 sarl imm8[8] m32.ud[0xff00f0ca] => 1.ud[0xffff00f0]
 sarl cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0xffff00f0]
 sarl cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0xffff00f0]
+sarq r64.uq[0xffff0000ff00f0ca] => 0.uq[0xffff80007f807865]
+sarq m64.uq[0xffff0000ff00f0ca] => 0.uq[0xffff80007f807865]
+sarq imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xffffffff0000ff00]
+sarq imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xffffffff0000ff00]
+sarq cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xffffffff0000ff00]
+sarq cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xffffffff0000ff00]
 ###sbbb eflags[0x1,0x0] : imm8[12] al.ub[34] => 1.ub[22]
 ###sbbb eflags[0x1,0x1] : imm8[12] al.ub[34] => 1.ub[21]
 sbbb eflags[0x1,0x0] : imm8[12] bl.ub[34] => 1.ub[22]
@@ -660,6 +900,20 @@ sbbl eflags[0x1,0x1] : r32.ud[12345678] r32.ud[87654321] => 1.ud[75308642]
 ###sbbl eflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] => 1.ud[75308642]
 sbbl eflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] => 1.ud[75308643]
 sbbl eflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] => 1.ud[75308642]
+sbbq eflags[0x1,0x0] : imm8[12] r64.uq[8765432175318642] => 1.uq[8765432175318630]
+sbbq eflags[0x1,0x1] : imm8[12] r64.uq[8765432175318642] => 1.uq[8765432175318629]
+###sbbq eflags[0x1,0x0] : imm32[12345678] rax.uq[8765432175318642] => 1.uq[8765432162972964]
+###sbbq eflags[0x1,0x1] : imm32[12345678] rax.uq[8765432175318642] => 1.uq[8765432162972963]
+sbbq eflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432175318642] => 1.uq[8765432162972964]
+sbbq eflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432175318642] => 1.uq[8765432162972963]
+sbbq eflags[0x1,0x0] : imm32[12345678] m64.uq[8765432175318642] => 1.uq[8765432162972964]
+sbbq eflags[0x1,0x1] : imm32[12345678] m64.uq[8765432175318642] => 1.uq[8765432162972963]
+sbbq eflags[0x1,0x0] : r64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174]
+sbbq eflags[0x1,0x1] : r64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746173]
+###sbbq eflags[0x1,0x0] : r64.uq[1234567813572468] m64.uq[8765432175318642] => 1.uq[7530864361746174]
+###sbbq eflags[0x1,0x1] : r64.uq[1234567813572468] m64.uq[8765432175318642] => 1.uq[7530864361746173]
+sbbq eflags[0x1,0x0] : m64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174]
+sbbq eflags[0x1,0x1] : m64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746173]
 seta eflags[0x041,0x000] : r8.ub[123] => 0.ub[1]
 seta eflags[0x041,0x001] : r8.ub[123] => 0.ub[0]
 seta eflags[0x041,0x040] : r8.ub[123] => 0.ub[0]
@@ -870,6 +1124,12 @@ shll imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca00]
 shll imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca00]
 shll cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca00]
 shll cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca00]
+shlq r64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194]
+shlq m64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194]
+shlq imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca0000]
+shlq imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca0000]
+shlq cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca0000]
+shlq cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca0000]
 shrb r8.ub[0xca] => 0.ub[0x65]
 shrb m8.ub[0xca] => 0.ub[0x65]
 shrb imm8[2] r8.ub[0xca] => 1.ub[0x32]
@@ -888,6 +1148,12 @@ shrl imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x00ff00f0]
 shrl imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x00ff00f0]
 shrl cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x00ff00f0]
 shrl cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x00ff00f0]
+shrq r64.uq[0xffff0000ff00f0ca] => 0.uq[0x7fff80007f807865]
+shrq m64.uq[0xffff0000ff00f0ca] => 0.uq[0x7fff80007f807865]
+shrq imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x00ffff0000ff00]
+shrq imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x00ffff0000ff00]
+shrq cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x00ffff0000ff00]
+shrq cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x00ffff0000ff00]
 ###shldw imm8[1] r16.uw[0xf0ca] r16.uw[0xf0ca] => 2.uw[0xe195]
 ###shldw imm8[1] r16.uw[0xf0ca] m16.uw[0xf0ca] => 2.uw[0xe195]
 ###shldw imm8[4] r16.uw[0xf0ca] r16.uw[0xf0ca] => 2.uw[0x0caf]
@@ -896,14 +1162,22 @@ shldw cl.ub[1] r16.uw[0xf0ca] r16.uw[0xf0ca] => 2.uw[0xe195]
 shldw cl.ub[1] r16.uw[0xf0ca] m16.uw[0xf0ca] => 2.uw[0xe195]
 shldw cl.ub[4] r16.uw[0xf0ca] r16.uw[0xf0ca] => 2.uw[0x0caf]
 shldw cl.ub[4] r16.uw[0xf0ca] m16.uw[0xf0ca] => 2.uw[0x0caf]
-##shldl imm8[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] => 2.ud[0xfe01e195]
-##shldl imm8[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] => 2.ud[0xfe01e195]
-##shldl imm8[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] => 2.ud[0x00f0caff]
-##shldl imm8[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] => 2.ud[0x00f0caff]
+###shldl imm8[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] => 2.ud[0xfe01e195]
+###shldl imm8[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] => 2.ud[0xfe01e195]
+###shldl imm8[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] => 2.ud[0x00f0caff]
+###shldl imm8[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] => 2.ud[0x00f0caff]
 shldl cl.ub[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] => 2.ud[0xfe01e195]
 shldl cl.ub[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] => 2.ud[0xfe01e195]
 shldl cl.ub[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] => 2.ud[0x00f0caff]
 shldl cl.ub[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] => 2.ud[0x00f0caff]
+###shldq imm8[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0xfffe0001fe01e195]
+###shldq imm8[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0xfffe0001fe01e195]
+###shldq imm8[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0x0000ff00f0caffff]
+###shldq imm8[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0x0000ff00f0caffff]
+shldq cl.ub[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0xfffe0001fe01e195]
+shldq cl.ub[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0xfffe0001fe01e195]
+shldq cl.ub[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0x0000ff00f0caffff]
+shldq cl.ub[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0x0000ff00f0caffff]
 shrdw imm8[1] r16.uw[0xf0ca] r16.uw[0xf0ca] => 2.uw[0x7865]
 shrdw imm8[1] r16.uw[0xf0ca] m16.uw[0xf0ca] => 2.uw[0x7865]
 shrdw imm8[4] r16.uw[0xf0ca] r16.uw[0xf0ca] => 2.uw[0xaf0c]
@@ -920,6 +1194,14 @@ shrdl cl.ub[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] => 2.ud[0x7f807865]
 shrdl cl.ub[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] => 2.ud[0x7f807865]
 shrdl cl.ub[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] => 2.ud[0xcaff00f0]
 shrdl cl.ub[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] => 2.ud[0xcaff00f0]
+shrdq imm8[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0x7fff80007f807865]
+shrdq imm8[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0x7fff80007f807865]
+shrdq imm8[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0xf0caffff0000ff00]
+shrdq imm8[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0xf0caffff0000ff00]
+shrdq cl.ub[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0x7fff80007f807865]
+shrdq cl.ub[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0x7fff80007f807865]
+shrdq cl.ub[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0xf0caffff0000ff00]
+shrdq cl.ub[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0xf0caffff0000ff00]
 ###stc eflags[0x001,0x000] : => eflags[0x001,0x001]
 ###stc eflags[0x001,0x001] : => eflags[0x001,0x001]
 std eflags[0x400,0x000] : => eflags[0x400,0x400]
@@ -944,6 +1226,13 @@ subl imm32[12345678] ebx.ud[87654321] => 1.ud[75308643]
 subl r32.ud[12345678] r32.ud[87654321] => 1.ud[75308643]
 subl r32.ud[12345678] m32.ud[87654321] => 1.ud[75308643]
 subl m32.ud[12345678] r32.ud[87654321] => 1.ud[75308643]
+subq imm8[12] r64.uq[8765432175318642] => 1.uq[8765432175318630]
+subq imm32[12345678] r64.uq[8765432175318642] => 1.uq[8765432162972964]
+subq imm32[12345678] rax.uq[8765432175318642] => 1.uq[8765432162972964]
+subq imm32[12345678] rbx.uq[8765432175318642] => 1.uq[8765432162972964]
+subq r64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174]
+subq r64.uq[1234567813572468] m64.uq[8765432175318642] => 1.uq[7530864361746174]
+subq m64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174]
 testb imm8[0x1a] al.ub[0x1a] => eflags[0x8c5,0x000]
 testb imm8[0x5a] al.ub[0x5a] => eflags[0x8c5,0x004]
 testb imm8[0x1a] al.ub[0xa1] => eflags[0x8c5,0x044]
@@ -1019,12 +1308,39 @@ testl r32.ud[0x5a5a5a5a] m32.ud[0x5a5a5a5a] => eflags[0x8c5,0x004]
 testl r32.ud[0x1a1a1a1a] m32.ud[0xa1a1a1a1] => eflags[0x8c5,0x044]
 testl r32.ud[0xa1a1a1a1] m32.ud[0xa1a1a1a1] => eflags[0x8c5,0x080]
 testl r32.ud[0xa5a5a5a5] m32.ud[0xa5a5a5a5] => eflags[0x8c5,0x084]
+testq imm32[0x1a1a1a1a] rax.uq[0x1a1a1a1a] => eflags[0x8c5,0x000]
+testq imm32[0x5a5a5a5a] rax.uq[0x5a5a5a5a] => eflags[0x8c5,0x004]
+testq imm32[0x1a1a1a1a] rax.uq[0xa1a1a1a1] => eflags[0x8c5,0x044]
+testq imm32[-1583242847] rax.uq[0xffffffffa1a1a1a1] => eflags[0x8c5,0x080]
+testq imm32[-1515870811] rax.uq[0xffffffffa5a5a5a5] => eflags[0x8c5,0x084]
+testq imm32[0x1a1a1a1a] rbx.uq[0x1a1a1a1a] => eflags[0x8c5,0x000]
+testq imm32[0x5a5a5a5a] rbx.uq[0x5a5a5a5a] => eflags[0x8c5,0x004]
+testq imm32[0x1a1a1a1a] rbx.uq[0xa1a1a1a1] => eflags[0x8c5,0x044]
+testq imm32[-1583242847] rbx.uq[0xffffffffa1a1a1a1] => eflags[0x8c5,0x080]
+testq imm32[-1515870811] rbx.uq[0xffffffffa5a5a5a5] => eflags[0x8c5,0x084]
+testq imm32[0x1a1a1a1a] m64.uq[0x1a1a1a1a] => eflags[0x8c5,0x000]
+testq imm32[0x5a5a5a5a] m64.uq[0x5a5a5a5a] => eflags[0x8c5,0x004]
+testq imm32[0x1a1a1a1a] m64.uq[0xa1a1a1a1] => eflags[0x8c5,0x044]
+testq imm32[-1583242847] m64.uq[0xffffffffa1a1a1a1] => eflags[0x8c5,0x080]
+testq imm32[-1515870811] m64.uq[0xffffffffa5a5a5a5] => eflags[0x8c5,0x084]
+testq r64.uq[0x1a1a1a1a1a1a1a1a] r64.uq[0x1a1a1a1a1a1a1a1a] => eflags[0x8c5,0x000]
+testq r64.uq[0x5a5a5a5a5a5a5a5a] r64.uq[0x5a5a5a5a5a5a5a5a] => eflags[0x8c5,0x004]
+testq r64.uq[0x1a1a1a1a1a1a1a1a] r64.uq[0xa1a1a1a1a1a1a1a1] => eflags[0x8c5,0x044]
+testq r64.uq[0xa1a1a1a1a1a1a1a1] r64.uq[0xa1a1a1a1a1a1a1a1] => eflags[0x8c5,0x080]
+testq r64.uq[0xa5a5a5a5a5a5a5a5] r64.uq[0xa5a5a5a5a5a5a5a5] => eflags[0x8c5,0x084]
+testq r64.uq[0x1a1a1a1a1a1a1a1a] m64.uq[0x1a1a1a1a1a1a1a1a] => eflags[0x8c5,0x000]
+testq r64.uq[0x5a5a5a5a5a5a5a5a] m64.uq[0x5a5a5a5a5a5a5a5a] => eflags[0x8c5,0x004]
+testq r64.uq[0x1a1a1a1a1a1a1a1a] m64.uq[0xa1a1a1a1a1a1a1a1] => eflags[0x8c5,0x044]
+testq r64.uq[0xa1a1a1a1a1a1a1a1] m64.uq[0xa1a1a1a1a1a1a1a1] => eflags[0x8c5,0x080]
+testq r64.uq[0xa5a5a5a5a5a5a5a5] m64.uq[0xa5a5a5a5a5a5a5a5] => eflags[0x8c5,0x084]
 ###xaddb r8.ub[12] r8.ub[34] => 0.ub[34] 1.ub[46]
 ###xaddb r8.ub[12] m8.ub[34] => 0.ub[34] 1.ub[46]
 ###xaddw r16.uw[1234] r16.uw[5678] => 0.uw[5678] 1.uw[6912]
 xaddw r16.uw[1234] m16.uw[5678] => 0.uw[5678] 1.uw[6912]
 ###xaddl r32.ud[12345678] r32.ud[87654321] => 0.ud[87654321] 1.ud[99999999]
 xaddl r32.ud[12345678] m32.ud[87654321] => 0.ud[87654321] 1.ud[99999999]
+xaddq r64.uq[1234567812345678] m64.uq[8765432187654321] => 0.uq[8765432187654321] 1.uq[9999999999999999]
+xaddq r64.uq[1234567812345678] m64.uq[8765432187654321] => 0.uq[8765432187654321] 1.uq[9999999999999999]
 xchgb r8.ub[12] r8.ub[34] => 0.ub[34] 1.ub[12]
 xchgb r8.ub[12] m8.ub[34] => 0.ub[34] 1.ub[12]
 xchgb m8.ub[12] r8.ub[34] => 0.ub[34] 1.ub[12]
@@ -1038,6 +1354,11 @@ xchgl ebx.ud[12345678] eax.ud[87654321] => 0.ud[87654321] 1.ud[12345678]
 xchgl ebx.ud[12345678] ecx.ud[87654321] => 0.ud[87654321] 1.ud[12345678]
 xchgl r32.ud[12345678] m32.ud[87654321] => 0.ud[87654321] 1.ud[12345678]
 xchgl m32.ud[12345678] r32.ud[87654321] => 0.ud[87654321] 1.ud[12345678]
+xchgq rax.uq[1234567812345678] rbx.uq[8765432187654321] => 0.uq[8765432187654321] 1.uq[1234567812345678]
+xchgq rbx.uq[1234567812345678] rax.uq[8765432187654321] => 0.uq[8765432187654321] 1.uq[1234567812345678]
+xchgq rbx.uq[1234567812345678] rcx.uq[8765432187654321] => 0.uq[8765432187654321] 1.uq[1234567812345678]
+xchgq r64.uq[1234567812345678] m64.uq[8765432187654321] => 0.uq[8765432187654321] 1.uq[1234567812345678]
+xchgq m64.uq[1234567812345678] r64.uq[8765432187654321] => 0.uq[8765432187654321] 1.uq[1234567812345678]
 xorb imm8[0x34] al.ub[0x56] => 1.ub[0x62]
 xorb imm8[0x34] bl.ub[0x56] => 1.ub[0x62]
 xorb imm8[0x34] m8.ub[0x56] => 1.ub[0x62]
@@ -1058,3 +1379,13 @@ xorl imm32[0x86427531] m32.ud[0x12345678] => 1.ud[0x94762349]
 xorl r32.ud[0x86427531] r32.ud[0x12345678] => 1.ud[0x94762349]
 xorl r32.ud[0x86427531] m32.ud[0x12345678] => 1.ud[0x94762349]
 xorl m32.ud[0x86427531] r32.ud[0x12345678] => 1.ud[0x94762349]
+xorq imm8[0x31] r64.uq[0x1234567812345678] => 1.uq[0x1234567812345649]
+xorq imm32[0x12345678] rax.uq[0x8642753186427531] => 1.uq[0x8642753194762349]
+xorq imm32[0x12345678] rbx.uq[0x8642753186427531] => 1.uq[0x8642753194762349]
+xorq imm32[0x12345678] m64.uq[0x8642753186427531] => 1.uq[0x8642753194762349]
+xorq imm32[-2042464975] rax.uq[0x1234567812345678] => 1.uq[0xedcba98794762349]
+xorq imm32[-2042464975] rbx.uq[0x1234567812345678] => 1.uq[0xedcba98794762349]
+xorq imm32[-2042464975] m64.uq[0x1234567812345678] => 1.uq[0xedcba98794762349]
+xorq r64.uq[0x8642753186427531] r64.uq[0x1234567812345678] => 1.uq[0x9476234994762349]
+xorq r64.uq[0x8642753186427531] m64.uq[0x1234567812345678] => 1.uq[0x9476234994762349]
+xorq m64.uq[0x8642753186427531] r64.uq[0x1234567812345678] => 1.uq[0x9476234994762349]
index fa42ee045b58f8cf55617fe4f1942806077a5285..2ac177fb026db546bd434b84c0fd662f0da1d5dd 100644 (file)
@@ -32,6 +32,18 @@ adcl_9 ... ok
 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_4 ... ok
 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_4 ... ok
 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_5 ... ok
 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_5 ... ok
 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_5 ... ok
 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_5 ... ok
 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_75 ... ok
 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_1 ... ok
 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_7 ... ok
 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_2 ... ok
 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_4 ... ok
 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_3 ... ok
 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_3 ... ok
 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_3 ... ok
 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_3 ... ok
 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_3 ... ok
 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_7 ... ok
 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_3 ... ok
 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_3 ... ok
 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_1 ... ok
 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_5 ... ok
 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_4 ... ok
 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_22 ... ok
 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_2 ... ok
 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_4 ... ok
 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