You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
(1) |
2
(2) |
3
(2) |
4
(3) |
5
(1) |
|
6
(2) |
7
|
8
|
9
|
10
(1) |
11
|
12
|
|
13
|
14
(2) |
15
(27) |
16
(1) |
17
(4) |
18
(4) |
19
|
|
20
|
21
(1) |
22
(2) |
23
|
24
(2) |
25
|
26
(2) |
|
27
|
28
(22) |
29
(5) |
30
(3) |
31
(6) |
|
|
|
From: Ivo R. <iv...@iv...> - 2017-08-30 19:47:01
|
2017-08-30 18:24 GMT+02:00 Diane Meirowitz <Dia...@or...>: >> I had just a thought if it would be possible for Valgrind/Memchek to >> instrument a binary just once, >> save the instrumented code in a pre-image and then execute it many >> times already instrumented. >> >> [...] >> > So do you mean that valgrind would store translated blocks in a (memory-mapped) file and > then search for them before translating and instrumenting? If so, this is interesting, > but I suspect that it will not speed things up much. The search would have to be a lot faster > than the disassembly plus instrument in order to make a big difference. > > If you are considering translating the entire program and caching it, I think that would > be much faster, but probably not possible with the way that valgrind works. You are right. Independently Julian did some measurements recently and it showed that the cost of JIT'ing perf/bz2 under Memcheck is only approx. 1/40. More precisely, whole Valgrind/Memcheck running that program executed approx. 40 Gi instructions whereas JIT subsystem executed just 1 Gi of them. I expect similar ratios for other programs, depending on their nature of course. I. |
|
From: Tom H. <tom...@so...> - 2017-08-30 18:29:06
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=4c8c3af18adc0a202d0e342b8ca3731a5b724a1d commit 4c8c3af18adc0a202d0e342b8ca3731a5b724a1d Author: Tom Hughes <to...@co...> Date: Wed Aug 30 19:26:37 2017 +0100 Fix eflags handling in amd64 instruction tests In 64 bit mode there's no way to just save eflags so we save the whole of rflags but we were doing so to a 32 bit variable! Replace that with proper rflags support that knows it is dealing with the full 64 bit flags word in 64 bit mode. Diff: --- none/tests/amd64/gen_insn_test.pl | 47 +- none/tests/amd64/insn_basic.def | 1748 ++++++++++++++++++------------------- none/tests/amd64/insn_fpu.def | 48 +- none/tests/amd64/insn_sse.def | 24 +- none/tests/amd64/insn_sse2.def | 24 +- 5 files changed, 945 insertions(+), 946 deletions(-) diff --git a/none/tests/amd64/gen_insn_test.pl b/none/tests/amd64/gen_insn_test.pl index 863e560..a144ec4 100644 --- a/none/tests/amd64/gen_insn_test.pl +++ b/none/tests/amd64/gen_insn_test.pl @@ -16,7 +16,7 @@ our %ArgTypes = ( m32 => "reg32_t", m64 => "reg64_t", m128 => "reg128_t", - eflags => "reg32_t", + rflags => "reg64_t", st => "reg64_t", fpucw => "reg16_t", fpusw => "reg16_t" @@ -222,8 +222,8 @@ while (<>) my @presets; my $presetc = 0; - my $eflagsmask; - my $eflagsset; + my $rflagsmask; + my $rflagsset; my $fpucwmask; my $fpucwset; my $fpuswmask; @@ -305,7 +305,7 @@ while (<>) $presetc++; } - elsif ($preset =~ /^(eflags)\[([^\]]+)\]$/) + elsif ($preset =~ /^(rflags)\[([^\]]+)\]$/) { my $type = $1; my @values = split(/,/, $2); @@ -313,8 +313,8 @@ while (<>) $values[0] = oct($values[0]) if $values[0] =~ /^0/; $values[1] = oct($values[1]) if $values[1] =~ /^0/; - $eflagsmask = sprintf "0x%08x", $values[0] ^ 0xffffffff; - $eflagsset = sprintf "0x%08x", $values[1]; + $rflagsmask = sprintf "0x%016x", ~$values[0]; + $rflagsset = sprintf "0x%016x", $values[1]; } elsif ($preset =~ /^(fpucw)\[([^\]]+)\]$/) { @@ -544,7 +544,7 @@ while (<>) print qq| $ArgTypes{$type} $name;\n|; } - elsif ($result =~ /^eflags\[([^\]]+)\]$/) + elsif ($result =~ /^rflags\[([^\]]+)\]$/) { my @values = split(/,/, $1); @@ -553,19 +553,19 @@ while (<>) my $result = { name => $name, - type => "eflags", - subtype => "ud", - values => [ map { sprintf "0x%08x", $_ } @values ] + type => "rflags", + subtype => "uq", + values => [ map { sprintf "0x%016x", $_ } @values ] }; push @results, $result; - print qq| $ArgTypes{eflags} $name;\n|; + print qq| $ArgTypes{rflags} $name;\n|; - if (!defined($eflagsmask) && !defined($eflagsset)) + if (!defined($rflagsmask) && !defined($rflagsset)) { - $eflagsmask = sprintf "0x%08x", $values[0] ^ 0xffffffff; - $eflagsset = sprintf "0x%08x", $values[0] & ~$values[1]; + $rflagsmask = sprintf "0x%016x", ~$values[0]; + $rflagsset = sprintf "0x%016x", $values[0] & ~$values[1]; } } elsif ($result =~ /^fpucw\[([^\]]+)\]$/) @@ -722,12 +722,11 @@ while (<>) } } - if (defined($eflagsmask) || defined($eflagsset)) + if (defined($rflagsmask) || defined($rflagsset)) { print qq| \"pushfq\\n\"\n|; - print qq| \"andl \$$eflagsmask, (%%rsp)\\n\"\n| if defined($eflagsmask); - print qq| \"andl \$0, 4(%%rsp)\\n\"\n| if defined($eflagsmask); - print qq| \"orq \$$eflagsset, (%%rsp)\\n\"\n| if defined($eflagsset); + print qq| \"andq \$$rflagsmask, (%%rsp)\\n\"\n| if defined($rflagsmask); + print qq| \"orq \$$rflagsset, (%%rsp)\\n\"\n| if defined($rflagsset); print qq| \"popfq\\n\"\n|; } @@ -747,7 +746,7 @@ while (<>) foreach my $arg (@args) { - next if $arg->{type} eq "eflags"; + next if $arg->{type} eq "rflags"; if ($arg->{type} =~ /^(r8|r16|r32|r64|mm|xmm)$/) { @@ -815,7 +814,7 @@ while (<>) { $fpresults[$RegNums{$result->{register}}] = $result; } - elsif ($result->{type} eq "eflags") + elsif ($result->{type} eq "rflags") { print qq| \"pushfq\\n\"\n|; print qq| \"popq %$result->{argnum}\\n\"\n|; @@ -925,9 +924,9 @@ while (<>) my $suffix = $SubTypeSuffixes{$subtype}; my @values = @{$result->{values}}; - if ($type eq "eflags") + if ($type eq "rflags") { - print qq|${prefix}\($result->{name}.ud[0] & $values[0]UL\) == $values[1]UL|; + print qq|${prefix}\($result->{name}.uq[0] & $values[0]UL\) == $values[1]UL|; } elsif ($type =~ /^fpu[cs]w$/) { @@ -972,9 +971,9 @@ while (<>) my $suffix = $SubTypeSuffixes{$subtype}; my @values = @{$result->{values}}; - if ($type eq "eflags") + if ($type eq "rflags") { - print qq| printf(" eflags & 0x%lx = 0x%lx (expected 0x%lx)\\n", $values[0]UL, $result->{name}.ud\[0\] & $values[0]UL, $values[1]UL);\n|; + print qq| printf(" rflags & 0x%lx = 0x%lx (expected 0x%lx)\\n", $values[0]UL, $result->{name}.ud\[0\] & $values[0]UL, $values[1]UL);\n|; } elsif ($type =~ /^fpu[cs]w$/) { diff --git a/none/tests/amd64/insn_basic.def b/none/tests/amd64/insn_basic.def index 8b10da1..c3bef75 100644 --- a/none/tests/amd64/insn_basic.def +++ b/none/tests/amd64/insn_basic.def @@ -1,57 +1,57 @@ -adcb eflags[0x1,0x0] : imm8[12] al.ub[34] => 1.ub[46] -adcb eflags[0x1,0x1] : imm8[12] al.ub[34] => 1.ub[47] -adcb eflags[0x1,0x0] : imm8[12] bl.ub[34] => 1.ub[46] -adcb eflags[0x1,0x1] : imm8[12] bl.ub[34] => 1.ub[47] -adcb eflags[0x1,0x0] : imm8[12] m8.ub[34] => 1.ub[46] -adcb eflags[0x1,0x1] : imm8[12] m8.ub[34] => 1.ub[47] -adcb eflags[0x1,0x0] : r8.ub[12] r8.ub[34] => 1.ub[46] -adcb eflags[0x1,0x1] : r8.ub[12] r8.ub[34] => 1.ub[47] -adcb eflags[0x1,0x0] : r8.ub[12] m8.ub[34] => 1.ub[46] -adcb eflags[0x1,0x1] : r8.ub[12] m8.ub[34] => 1.ub[47] -###adcb eflags[0x1,0x0] : m8.ub[12] r8.ub[34] => 1.ub[46] -###adcb eflags[0x1,0x1] : m8.ub[12] r8.ub[34] => 1.ub[47] -adcw eflags[0x1,0x0] : imm8[12] r16.uw[3456] => 1.uw[3468] -adcw eflags[0x1,0x1] : imm8[12] r16.uw[3456] => 1.uw[3469] -###adcw eflags[0x1,0x0] : imm16[1234] ax.uw[5678] => 1.uw[6912] -###adcw eflags[0x1,0x1] : imm16[1234] ax.uw[5678] => 1.uw[6913] -adcw eflags[0x1,0x0] : imm16[1234] bx.uw[5678] => 1.uw[6912] -adcw eflags[0x1,0x1] : imm16[1234] bx.uw[5678] => 1.uw[6913] -adcw eflags[0x1,0x0] : imm16[1234] m16.uw[5678] => 1.uw[6912] -adcw eflags[0x1,0x1] : imm16[1234] m16.uw[5678] => 1.uw[6913] -adcw eflags[0x1,0x0] : r16.uw[1234] r16.uw[5678] => 1.uw[6912] -adcw eflags[0x1,0x1] : r16.uw[1234] r16.uw[5678] => 1.uw[6913] -adcw eflags[0x1,0x0] : r16.uw[1234] m16.uw[5678] => 1.uw[6912] -adcw eflags[0x1,0x1] : r16.uw[1234] m16.uw[5678] => 1.uw[6913] -adcw eflags[0x1,0x0] : m16.uw[1234] r16.uw[5678] => 1.uw[6912] -adcw eflags[0x1,0x1] : m16.uw[1234] r16.uw[5678] => 1.uw[6913] -adcl eflags[0x1,0x0] : imm8[12] r32.ud[87654321] => 1.ud[87654333] -adcl eflags[0x1,0x1] : imm8[12] r32.ud[87654321] => 1.ud[87654334] -###adcl eflags[0x1,0x0] : imm32[12345678] eax.ud[87654321] => 1.ud[99999999] -###adcl eflags[0x1,0x1] : imm32[12345678] eax.ud[87654321] => 1.ud[100000000] -adcl eflags[0x1,0x0] : imm32[12345678] ebx.ud[87654321] => 1.ud[99999999] -adcl eflags[0x1,0x1] : imm32[12345678] ebx.ud[87654321] => 1.ud[100000000] -adcl eflags[0x1,0x0] : imm32[12345678] m32.ud[87654321] => 1.ud[99999999] -adcl eflags[0x1,0x1] : imm32[12345678] m32.ud[87654321] => 1.ud[100000000] -adcl eflags[0x1,0x0] : r32.ud[12345678] r32.ud[87654321] => 1.ud[99999999] -adcl eflags[0x1,0x1] : r32.ud[12345678] r32.ud[87654321] => 1.ud[100000000] -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] +adcb rflags[0x1,0x0] : imm8[12] al.ub[34] => 1.ub[46] +adcb rflags[0x1,0x1] : imm8[12] al.ub[34] => 1.ub[47] +adcb rflags[0x1,0x0] : imm8[12] bl.ub[34] => 1.ub[46] +adcb rflags[0x1,0x1] : imm8[12] bl.ub[34] => 1.ub[47] +adcb rflags[0x1,0x0] : imm8[12] m8.ub[34] => 1.ub[46] +adcb rflags[0x1,0x1] : imm8[12] m8.ub[34] => 1.ub[47] +adcb rflags[0x1,0x0] : r8.ub[12] r8.ub[34] => 1.ub[46] +adcb rflags[0x1,0x1] : r8.ub[12] r8.ub[34] => 1.ub[47] +adcb rflags[0x1,0x0] : r8.ub[12] m8.ub[34] => 1.ub[46] +adcb rflags[0x1,0x1] : r8.ub[12] m8.ub[34] => 1.ub[47] +###adcb rflags[0x1,0x0] : m8.ub[12] r8.ub[34] => 1.ub[46] +###adcb rflags[0x1,0x1] : m8.ub[12] r8.ub[34] => 1.ub[47] +adcw rflags[0x1,0x0] : imm8[12] r16.uw[3456] => 1.uw[3468] +adcw rflags[0x1,0x1] : imm8[12] r16.uw[3456] => 1.uw[3469] +###adcw rflags[0x1,0x0] : imm16[1234] ax.uw[5678] => 1.uw[6912] +###adcw rflags[0x1,0x1] : imm16[1234] ax.uw[5678] => 1.uw[6913] +adcw rflags[0x1,0x0] : imm16[1234] bx.uw[5678] => 1.uw[6912] +adcw rflags[0x1,0x1] : imm16[1234] bx.uw[5678] => 1.uw[6913] +adcw rflags[0x1,0x0] : imm16[1234] m16.uw[5678] => 1.uw[6912] +adcw rflags[0x1,0x1] : imm16[1234] m16.uw[5678] => 1.uw[6913] +adcw rflags[0x1,0x0] : r16.uw[1234] r16.uw[5678] => 1.uw[6912] +adcw rflags[0x1,0x1] : r16.uw[1234] r16.uw[5678] => 1.uw[6913] +adcw rflags[0x1,0x0] : r16.uw[1234] m16.uw[5678] => 1.uw[6912] +adcw rflags[0x1,0x1] : r16.uw[1234] m16.uw[5678] => 1.uw[6913] +adcw rflags[0x1,0x0] : m16.uw[1234] r16.uw[5678] => 1.uw[6912] +adcw rflags[0x1,0x1] : m16.uw[1234] r16.uw[5678] => 1.uw[6913] +adcl rflags[0x1,0x0] : imm8[12] r32.ud[87654321] => 1.ud[87654333] +adcl rflags[0x1,0x1] : imm8[12] r32.ud[87654321] => 1.ud[87654334] +###adcl rflags[0x1,0x0] : imm32[12345678] eax.ud[87654321] => 1.ud[99999999] +###adcl rflags[0x1,0x1] : imm32[12345678] eax.ud[87654321] => 1.ud[100000000] +adcl rflags[0x1,0x0] : imm32[12345678] ebx.ud[87654321] => 1.ud[99999999] +adcl rflags[0x1,0x1] : imm32[12345678] ebx.ud[87654321] => 1.ud[100000000] +adcl rflags[0x1,0x0] : imm32[12345678] m32.ud[87654321] => 1.ud[99999999] +adcl rflags[0x1,0x1] : imm32[12345678] m32.ud[87654321] => 1.ud[100000000] +adcl rflags[0x1,0x0] : r32.ud[12345678] r32.ud[87654321] => 1.ud[99999999] +adcl rflags[0x1,0x1] : r32.ud[12345678] r32.ud[87654321] => 1.ud[100000000] +adcl rflags[0x1,0x0] : r32.ud[12345678] m32.ud[87654321] => 1.ud[99999999] +adcl rflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] => 1.ud[100000000] +adcl rflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] => 1.ud[99999999] +adcl rflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] => 1.ud[100000000] +adcq rflags[0x1,0x0] : imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654333] +adcq rflags[0x1,0x1] : imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654334] +###adcq rflags[0x1,0x0] : imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432199999999] +###adcq rflags[0x1,0x1] : imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432200000000] +adcq rflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432199999999] +adcq rflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432200000000] +adcq rflags[0x1,0x0] : imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432199999999] +adcq rflags[0x1,0x1] : imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432200000000] +adcq rflags[0x1,0x0] : r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999] +adcq rflags[0x1,0x1] : r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[10000000000000000] +adcq rflags[0x1,0x0] : r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[9999999999999999] +adcq rflags[0x1,0x1] : r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[10000000000000000] +adcq rflags[0x1,0x0] : m64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999] +adcq rflags[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] @@ -123,430 +123,430 @@ 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] -btw imm8[12] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] -###btw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] -###btw r16.uw[12] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] -###btw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] -###btw r16.uw[12] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] -btl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] -btl imm8[24] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] -btl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] -btl imm8[24] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] -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] -btcw imm8[12] m16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] -###btcw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] -###btcw r16.uw[12] r16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] -###btcw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] -###btcw r16.uw[12] m16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] -btcl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] -btcl imm8[24] r32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] -btcl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] -btcl imm8[24] m32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] -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] -btrw imm8[12] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] -###btrw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] -###btrw r16.uw[12] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] -###btrw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] -###btrw r16.uw[12] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] -btrl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] -btrl imm8[24] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] -btrl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] -btrl imm8[24] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] -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] -btsw imm8[12] m16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] -###btsw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] -###btsw r16.uw[12] r16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] -###btsw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] -###btsw r16.uw[12] m16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] -btsl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] -btsl imm8[24] r32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] -btsl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] -btsl imm8[24] m32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] -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] +btw imm8[0] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] +btw imm8[12] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] +btw imm8[0] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] +btw imm8[12] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] +###btw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] +###btw r16.uw[12] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] +###btw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] +###btw r16.uw[12] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] +btl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] +btl imm8[24] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] +btl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] +btl imm8[24] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] +btl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] +btl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] +btl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] +btl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] +btq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] +btq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] +btq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] +btq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] +btq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] +btq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] +btq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] +btq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] +btcw imm8[0] r16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] +btcw imm8[12] r16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] +btcw imm8[0] m16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] +btcw imm8[12] m16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] +###btcw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] +###btcw r16.uw[12] r16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] +###btcw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] +###btcw r16.uw[12] m16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] +btcl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] +btcl imm8[24] r32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] +btcl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] +btcl imm8[24] m32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] +btcl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] +btcl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] +btcl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] +btcl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] +btcq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] +btcq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] +btcq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] +btcq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] +btcq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] +btcq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] +btcq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] +btcq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] +btrw imm8[0] r16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] +btrw imm8[12] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] +btrw imm8[0] m16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] +btrw imm8[12] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] +###btrw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] +###btrw r16.uw[12] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] +###btrw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] +###btrw r16.uw[12] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] +btrl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] +btrl imm8[24] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] +btrl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] +btrl imm8[24] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] +btrl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] +btrl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] +btrl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] +btrl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] +btrq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] +btrq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] +btrq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] +btrq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] +btrq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] +btrq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] +btrq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] +btrq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] +btsw imm8[0] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] +btsw imm8[12] r16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] +btsw imm8[0] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] +btsw imm8[12] m16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] +###btsw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] +###btsw r16.uw[12] r16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] +###btsw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] +###btsw r16.uw[12] m16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] +btsl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] +btsl imm8[24] r32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] +btsl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] +btsl imm8[24] m32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] +btsl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] +btsl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] +btsl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] +btsl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] +btsq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] +btsq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] +btsq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] +btsq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] +btsq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] +btsq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] +btsq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] +btsq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[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] -cld eflags[0x400,0x400] : => eflags[0x400,0x000] -###cmc eflags[0x001,0x000] : => eflags[0x001,0x001] -###cmc eflags[0x001,0x001] : => eflags[0x001,0x000] -cmpb imm8[3] al.ub[2] => eflags[0x010,0x010] -cmpb imm8[2] al.ub[3] => eflags[0x010,0x000] -cmpb imm8[12] al.ub[12] => eflags[0x044,0x044] -cmpb imm8[12] al.ub[34] => eflags[0x044,0x000] -cmpb imm8[34] al.ub[12] => eflags[0x081,0x081] -cmpb imm8[12] al.ub[34] => eflags[0x081,0x000] -cmpb imm8[100] al.sb[-100] => eflags[0x800,0x800] -cmpb imm8[50] al.sb[-50] => eflags[0x800,0x000] -cmpb imm8[-50] al.sb[50] => eflags[0x800,0x000] -cmpb imm8[-100] al.sb[100] => eflags[0x800,0x800] -cmpb imm8[3] r8.ub[2] => eflags[0x010,0x010] -cmpb imm8[2] r8.ub[3] => eflags[0x010,0x000] -cmpb imm8[12] r8.ub[12] => eflags[0x044,0x044] -cmpb imm8[12] r8.ub[34] => eflags[0x044,0x000] -cmpb imm8[34] r8.ub[12] => eflags[0x081,0x081] -cmpb imm8[12] r8.ub[34] => eflags[0x081,0x000] -cmpb imm8[100] r8.sb[-100] => eflags[0x800,0x800] -cmpb imm8[50] r8.sb[-50] => eflags[0x800,0x000] -cmpb imm8[-50] r8.sb[50] => eflags[0x800,0x000] -cmpb imm8[-100] r8.sb[100] => eflags[0x800,0x800] -cmpb imm8[3] m8.ub[2] => eflags[0x010,0x010] -cmpb imm8[2] m8.ub[3] => eflags[0x010,0x000] -cmpb imm8[12] m8.ub[12] => eflags[0x044,0x044] -cmpb imm8[12] m8.ub[34] => eflags[0x044,0x000] -cmpb imm8[34] m8.ub[12] => eflags[0x081,0x081] -cmpb imm8[12] m8.ub[34] => eflags[0x081,0x000] -cmpb imm8[100] m8.sb[-100] => eflags[0x800,0x800] -cmpb imm8[50] m8.sb[-50] => eflags[0x800,0x000] -cmpb imm8[-50] m8.sb[50] => eflags[0x800,0x000] -cmpb imm8[-100] m8.sb[100] => eflags[0x800,0x800] -cmpb r8.ub[3] r8.ub[2] => eflags[0x010,0x010] -cmpb r8.ub[2] r8.ub[3] => eflags[0x010,0x000] -cmpb r8.ub[12] r8.ub[12] => eflags[0x044,0x044] -cmpb r8.ub[12] r8.ub[34] => eflags[0x044,0x000] -cmpb r8.ub[34] r8.ub[12] => eflags[0x081,0x081] -cmpb r8.ub[12] r8.ub[34] => eflags[0x081,0x000] -cmpb r8.ub[100] r8.sb[-100] => eflags[0x800,0x800] -cmpb r8.ub[50] r8.sb[-50] => eflags[0x800,0x000] -cmpb r8.sb[-50] r8.sb[50] => eflags[0x800,0x000] -cmpb r8.sb[-100] r8.sb[100] => eflags[0x800,0x800] -cmpb r8.ub[3] m8.ub[2] => eflags[0x010,0x010] -cmpb r8.ub[2] m8.ub[3] => eflags[0x010,0x000] -cmpb r8.ub[12] m8.ub[12] => eflags[0x044,0x044] -cmpb r8.ub[12] m8.ub[34] => eflags[0x044,0x000] -cmpb r8.ub[34] m8.ub[12] => eflags[0x081,0x081] -cmpb r8.ub[12] m8.ub[34] => eflags[0x081,0x000] -cmpb r8.ub[100] m8.sb[-100] => eflags[0x800,0x800] -cmpb r8.ub[50] m8.sb[-50] => eflags[0x800,0x000] -cmpb r8.sb[-50] m8.sb[50] => eflags[0x800,0x000] -cmpb r8.sb[-100] m8.sb[100] => eflags[0x800,0x800] -cmpb m8.ub[3] r8.ub[2] => eflags[0x010,0x010] -cmpb m8.ub[2] r8.ub[3] => eflags[0x010,0x000] -cmpb m8.ub[12] r8.ub[12] => eflags[0x044,0x044] -cmpb m8.ub[12] r8.ub[34] => eflags[0x044,0x000] -cmpb m8.ub[34] r8.ub[12] => eflags[0x081,0x081] -cmpb m8.ub[12] r8.ub[34] => eflags[0x081,0x000] -cmpb m8.ub[100] r8.sb[-100] => eflags[0x800,0x800] -cmpb m8.ub[50] r8.sb[-50] => eflags[0x800,0x000] -cmpb m8.sb[-50] r8.sb[50] => eflags[0x800,0x000] -cmpb m8.sb[-100] r8.sb[100] => eflags[0x800,0x800] -cmpw imm8[3] r16.uw[2] => eflags[0x010,0x010] -cmpw imm8[2] r16.uw[3] => eflags[0x010,0x000] -cmpw imm8[12] r16.uw[12] => eflags[0x044,0x044] -cmpw imm8[12] r16.uw[34] => eflags[0x044,0x000] -cmpw imm8[34] r16.uw[12] => eflags[0x081,0x081] -cmpw imm8[12] r16.uw[34] => eflags[0x081,0x000] -cmpw imm8[100] r16.sw[-32700] => eflags[0x800,0x800] -cmpw imm8[50] r16.sw[-50] => eflags[0x800,0x000] -cmpw imm8[-50] r16.sw[50] => eflags[0x800,0x000] -cmpw imm8[-100] r16.sw[32700] => eflags[0x800,0x800] -cmpw imm8[3] m16.uw[2] => eflags[0x010,0x010] -cmpw imm8[2] m16.uw[3] => eflags[0x010,0x000] -cmpw imm8[12] m16.uw[12] => eflags[0x044,0x044] -cmpw imm8[12] m16.uw[34] => eflags[0x044,0x000] -cmpw imm8[34] m16.uw[12] => eflags[0x081,0x081] -cmpw imm8[12] m16.uw[34] => eflags[0x081,0x000] -cmpw imm8[100] m16.sw[-32700] => eflags[0x800,0x800] -cmpw imm8[50] m16.sw[-50] => eflags[0x800,0x000] -cmpw imm8[-50] m16.sw[50] => eflags[0x800,0x000] -cmpw imm8[-100] m16.sw[32700] => eflags[0x800,0x800] -cmpw imm16[3] ax.uw[2] => eflags[0x010,0x010] -cmpw imm16[2] ax.uw[3] => eflags[0x010,0x000] -cmpw imm16[12] ax.uw[12] => eflags[0x044,0x044] -cmpw imm16[12] ax.uw[34] => eflags[0x044,0x000] -cmpw imm16[34] ax.uw[12] => eflags[0x081,0x081] -cmpw imm16[12] ax.uw[34] => eflags[0x081,0x000] -cmpw imm16[100] ax.sw[-32700] => eflags[0x800,0x800] -cmpw imm16[50] ax.sw[-50] => eflags[0x800,0x000] -cmpw imm16[-50] ax.sw[50] => eflags[0x800,0x000] -cmpw imm16[-100] ax.sw[32700] => eflags[0x800,0x800] -cmpw imm16[3] r16.uw[2] => eflags[0x010,0x010] -cmpw imm16[2] r16.uw[3] => eflags[0x010,0x000] -cmpw imm16[12] r16.uw[12] => eflags[0x044,0x044] -cmpw imm16[12] r16.uw[34] => eflags[0x044,0x000] -cmpw imm16[34] r16.uw[12] => eflags[0x081,0x081] -cmpw imm16[12] r16.uw[34] => eflags[0x081,0x000] -cmpw imm16[100] r16.sw[-32700] => eflags[0x800,0x800] -cmpw imm16[50] r16.sw[-50] => eflags[0x800,0x000] -cmpw imm16[-50] r16.sw[50] => eflags[0x800,0x000] -cmpw imm16[-100] r16.sw[32700] => eflags[0x800,0x800] -cmpw imm16[3] m16.uw[2] => eflags[0x010,0x010] -cmpw imm16[2] m16.uw[3] => eflags[0x010,0x000] -cmpw imm16[12] m16.uw[12] => eflags[0x044,0x044] -cmpw imm16[12] m16.uw[34] => eflags[0x044,0x000] -cmpw imm16[34] m16.uw[12] => eflags[0x081,0x081] -cmpw imm16[12] m16.uw[34] => eflags[0x081,0x000] -cmpw imm16[100] m16.sw[-32700] => eflags[0x800,0x800] -cmpw imm16[50] m16.sw[-50] => eflags[0x800,0x000] -cmpw imm16[-50] m16.sw[50] => eflags[0x800,0x000] -cmpw imm16[-100] m16.sw[32700] => eflags[0x800,0x800] -cmpw r16.uw[3] r16.uw[2] => eflags[0x010,0x010] -cmpw r16.uw[2] r16.uw[3] => eflags[0x010,0x000] -cmpw r16.uw[12] r16.uw[12] => eflags[0x044,0x044] -cmpw r16.uw[12] r16.uw[34] => eflags[0x044,0x000] -cmpw r16.uw[34] r16.uw[12] => eflags[0x081,0x081] -cmpw r16.uw[12] r16.uw[34] => eflags[0x081,0x000] -cmpw r16.uw[100] r16.sw[-32700] => eflags[0x800,0x800] -cmpw r16.uw[50] r16.sw[-50] => eflags[0x800,0x000] -cmpw r16.sw[-50] r16.sw[50] => eflags[0x800,0x000] -cmpw r16.sw[-100] r16.sw[32700] => eflags[0x800,0x800] -cmpw r16.uw[3] m16.uw[2] => eflags[0x010,0x010] -cmpw r16.uw[2] m16.uw[3] => eflags[0x010,0x000] -cmpw r16.uw[12] m16.uw[12] => eflags[0x044,0x044] -cmpw r16.uw[12] m16.uw[34] => eflags[0x044,0x000] -cmpw r16.uw[34] m16.uw[12] => eflags[0x081,0x081] -cmpw r16.uw[12] m16.uw[34] => eflags[0x081,0x000] -cmpw r16.uw[100] m16.sw[-32700] => eflags[0x800,0x800] -cmpw r16.uw[50] m16.sw[-50] => eflags[0x800,0x000] -cmpw r16.sw[-50] m16.sw[50] => eflags[0x800,0x000] -cmpw r16.sw[-100] m16.sw[32700] => eflags[0x800,0x800] -cmpw m16.uw[3] r16.uw[2] => eflags[0x010,0x010] -cmpw m16.uw[2] r16.uw[3] => eflags[0x010,0x000] -cmpw m16.uw[12] r16.uw[12] => eflags[0x044,0x044] -cmpw m16.uw[12] r16.uw[34] => eflags[0x044,0x000] -cmpw m16.uw[34] r16.uw[12] => eflags[0x081,0x081] -cmpw m16.uw[12] r16.uw[34] => eflags[0x081,0x000] -cmpw m16.uw[100] r16.sw[-32700] => eflags[0x800,0x800] -cmpw m16.uw[50] r16.sw[-50] => eflags[0x800,0x000] -cmpw m16.sw[-50] r16.sw[50] => eflags[0x800,0x000] -cmpw m16.sw[-100] r16.sw[32700] => eflags[0x800,0x800] -cmpl imm8[3] r32.ud[2] => eflags[0x010,0x010] -cmpl imm8[2] r32.ud[3] => eflags[0x010,0x000] -cmpl imm8[12] r32.ud[12] => eflags[0x044,0x044] -###cmpl imm8[12] r32.ud[34] => eflags[0x044,0x000] -cmpl imm8[34] r32.ud[12] => eflags[0x081,0x081] -cmpl imm8[12] r32.ud[34] => eflags[0x081,0x000] -cmpl imm8[100] r32.sd[-2147483600] => eflags[0x800,0x800] -cmpl imm8[50] r32.sd[-50] => eflags[0x800,0x000] -cmpl imm8[-50] r32.sd[50] => eflags[0x800,0x000] -cmpl imm8[-100] r32.sd[2147483600] => eflags[0x800,0x800] -cmpl imm8[3] m32.ud[2] => eflags[0x010,0x010] -cmpl imm8[2] m32.ud[3] => eflags[0x010,0x000] -cmpl imm8[12] m32.ud[12] => eflags[0x044,0x044] -cmpl imm8[12] m32.ud[34] => eflags[0x044,0x000] -cmpl imm8[34] m32.ud[12] => eflags[0x081,0x081] -cmpl imm8[12] m32.ud[34] => eflags[0x081,0x000] -cmpl imm8[100] m32.sd[-2147483600] => eflags[0x800,0x800] -cmpl imm8[50] m32.sd[-50] => eflags[0x800,0x000] -cmpl imm8[-50] m32.sd[50] => eflags[0x800,0x000] -cmpl imm8[-100] m32.sd[2147483600] => eflags[0x800,0x800] -cmpl imm32[3] eax.ud[2] => eflags[0x010,0x010] -cmpl imm32[2] eax.ud[3] => eflags[0x010,0x000] -cmpl imm32[12] eax.ud[12] => eflags[0x044,0x044] -cmpl imm32[12] eax.ud[34] => eflags[0x044,0x000] -cmpl imm32[34] eax.ud[12] => eflags[0x081,0x081] -cmpl imm32[12] eax.ud[34] => eflags[0x081,0x000] -cmpl imm32[100] eax.sd[-2147483600] => eflags[0x800,0x800] -cmpl imm32[50] eax.sd[-50] => eflags[0x800,0x000] -cmpl imm32[-50] eax.sd[50] => eflags[0x800,0x000] -cmpl imm32[-100] eax.sd[2147483600] => eflags[0x800,0x800] -cmpl imm32[3] r32.ud[2] => eflags[0x010,0x010] -cmpl imm32[2] r32.ud[3] => eflags[0x010,0x000] -cmpl imm32[12] r32.ud[12] => eflags[0x044,0x044] -cmpl imm32[12] r32.ud[34] => eflags[0x044,0x000] -cmpl imm32[34] r32.ud[12] => eflags[0x081,0x081] -cmpl imm32[12] r32.ud[34] => eflags[0x081,0x000] -cmpl imm32[100] r32.sd[-2147483600] => eflags[0x800,0x800] -cmpl imm32[50] r32.sd[-50] => eflags[0x800,0x000] -cmpl imm32[-50] r32.sd[50] => eflags[0x800,0x000] -cmpl imm32[-100] r32.sd[2147483600] => eflags[0x800,0x800] -cmpl imm32[3] m32.ud[2] => eflags[0x010,0x010] -cmpl imm32[2] m32.ud[3] => eflags[0x010,0x000] -cmpl imm32[12] m32.ud[12] => eflags[0x044,0x044] -cmpl imm32[12] m32.ud[34] => eflags[0x044,0x000] -cmpl imm32[34] m32.ud[12] => eflags[0x081,0x081] -cmpl imm32[12] m32.ud[34] => eflags[0x081,0x000] -cmpl imm32[100] m32.sd[-2147483600] => eflags[0x800,0x800] -cmpl imm32[50] m32.sd[-50] => eflags[0x800,0x000] -cmpl imm32[-50] m32.sd[50] => eflags[0x800,0x000] -cmpl imm32[-100] m32.sd[2147483600] => eflags[0x800,0x800] -cmpl r32.ud[3] r32.ud[2] => eflags[0x010,0x010] -cmpl r32.ud[2] r32.ud[3] => eflags[0x010,0x000] -cmpl r32.ud[12] r32.ud[12] => eflags[0x044,0x044] -cmpl r32.ud[12] r32.ud[34] => eflags[0x044,0x000] -cmpl r32.ud[34] r32.ud[12] => eflags[0x081,0x081] -cmpl r32.ud[12] r32.ud[34] => eflags[0x081,0x000] -cmpl r32.ud[100] r32.sd[-2147483600] => eflags[0x800,0x800] -cmpl r32.ud[50] r32.sd[-50] => eflags[0x800,0x000] -cmpl r32.sd[-50] r32.sd[50] => eflags[0x800,0x000] -cmpl r32.sd[-100] r32.sd[2147483600] => eflags[0x800,0x800] -cmpl r32.ud[3] m32.ud[2] => eflags[0x010,0x010] -cmpl r32.ud[2] m32.ud[3] => eflags[0x010,0x000] -cmpl r32.ud[12] m32.ud[12] => eflags[0x044,0x044] -cmpl r32.ud[12] m32.ud[34] => eflags[0x044,0x000] -cmpl r32.ud[34] m32.ud[12] => eflags[0x081,0x081] -cmpl r32.ud[12] m32.ud[34] => eflags[0x081,0x000] -cmpl r32.ud[100] m32.sd[-2147483600] => eflags[0x800,0x800] -cmpl r32.ud[50] m32.sd[-50] => eflags[0x800,0x000] -cmpl r32.sd[-50] m32.sd[50] => eflags[0x800,0x000] -cmpl r32.sd[-100] m32.sd[2147483600] => eflags[0x800,0x800] -cmpl m32.ud[3] r32.ud[2] => eflags[0x010,0x010] -cmpl m32.ud[2] r32.ud[3] => eflags[0x010,0x000] -cmpl m32.ud[12] r32.ud[12] => eflags[0x044,0x044] -cmpl m32.ud[12] r32.ud[34] => eflags[0x044,0x000] -cmpl m32.ud[34] r32.ud[12] => eflags[0x081,0x081] -cmpl m32.ud[12] r32.ud[34] => eflags[0x081,0x000] -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] -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] -###cmpxchgw eflags[0x40,0x00] ax.uw[123] : r16.uw[567] r16.uw[123] => eflags[0x40,0x40] ax.uw[123] 0.uw[567] 1.uw[567] -###cmpxchgw eflags[0x40,0x40] ax.uw[123] : r16.uw[567] r16.uw[345] => eflags[0x40,0x00] ax.uw[345] 0.uw[567] 1.uw[345] -cmpxchgw eflags[0x40,0x00] ax.uw[123] : r16.uw[567] m16.uw[123] => eflags[0x40,0x40] ax.uw[123] 0.uw[567] 1.uw[567] -###cmpxchgw eflags[0x40,0x40] ax.uw[123] : r16.uw[567] m16.uw[345] => eflags[0x40,0x00] ax.uw[345] 0.uw[567] 1.uw[345] -###cmpxchgl eflags[0x40,0x00] eax.ud[1234] : r32.ud[5678] r32.ud[1234] => eflags[0x40,0x40] eax.ud[1234] 0.ud[5678] 1.ud[5678] -###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] +###clc rflags[0x001,0x000] : => rflags[0x001,0x000] +###clc rflags[0x001,0x001] : => rflags[0x001,0x000] +cld rflags[0x400,0x000] : => rflags[0x400,0x000] +cld rflags[0x400,0x400] : => rflags[0x400,0x000] +###cmc rflags[0x001,0x000] : => rflags[0x001,0x001] +###cmc rflags[0x001,0x001] : => rflags[0x001,0x000] +cmpb imm8[3] al.ub[2] => rflags[0x010,0x010] +cmpb imm8[2] al.ub[3] => rflags[0x010,0x000] +cmpb imm8[12] al.ub[12] => rflags[0x044,0x044] +cmpb imm8[12] al.ub[34] => rflags[0x044,0x000] +cmpb imm8[34] al.ub[12] => rflags[0x081,0x081] +cmpb imm8[12] al.ub[34] => rflags[0x081,0x000] +cmpb imm8[100] al.sb[-100] => rflags[0x800,0x800] +cmpb imm8[50] al.sb[-50] => rflags[0x800,0x000] +cmpb imm8[-50] al.sb[50] => rflags[0x800,0x000] +cmpb imm8[-100] al.sb[100] => rflags[0x800,0x800] +cmpb imm8[3] r8.ub[2] => rflags[0x010,0x010] +cmpb imm8[2] r8.ub[3] => rflags[0x010,0x000] +cmpb imm8[12] r8.ub[12] => rflags[0x044,0x044] +cmpb imm8[12] r8.ub[34] => rflags[0x044,0x000] +cmpb imm8[34] r8.ub[12] => rflags[0x081,0x081] +cmpb imm8[12] r8.ub[34] => rflags[0x081,0x000] +cmpb imm8[100] r8.sb[-100] => rflags[0x800,0x800] +cmpb imm8[50] r8.sb[-50] => rflags[0x800,0x000] +cmpb imm8[-50] r8.sb[50] => rflags[0x800,0x000] +cmpb imm8[-100] r8.sb[100] => rflags[0x800,0x800] +cmpb imm8[3] m8.ub[2] => rflags[0x010,0x010] +cmpb imm8[2] m8.ub[3] => rflags[0x010,0x000] +cmpb imm8[12] m8.ub[12] => rflags[0x044,0x044] +cmpb imm8[12] m8.ub[34] => rflags[0x044,0x000] +cmpb imm8[34] m8.ub[12] => rflags[0x081,0x081] +cmpb imm8[12] m8.ub[34] => rflags[0x081,0x000] +cmpb imm8[100] m8.sb[-100] => rflags[0x800,0x800] +cmpb imm8[50] m8.sb[-50] => rflags[0x800,0x000] +cmpb imm8[-50] m8.sb[50] => rflags[0x800,0x000] +cmpb imm8[-100] m8.sb[100] => rflags[0x800,0x800] +cmpb r8.ub[3] r8.ub[2] => rflags[0x010,0x010] +cmpb r8.ub[2] r8.ub[3] => rflags[0x010,0x000] +cmpb r8.ub[12] r8.ub[12] => rflags[0x044,0x044] +cmpb r8.ub[12] r8.ub[34] => rflags[0x044,0x000] +cmpb r8.ub[34] r8.ub[12] => rflags[0x081,0x081] +cmpb r8.ub[12] r8.ub[34] => rflags[0x081,0x000] +cmpb r8.ub[100] r8.sb[-100] => rflags[0x800,0x800] +cmpb r8.ub[50] r8.sb[-50] => rflags[0x800,0x000] +cmpb r8.sb[-50] r8.sb[50] => rflags[0x800,0x000] +cmpb r8.sb[-100] r8.sb[100] => rflags[0x800,0x800] +cmpb r8.ub[3] m8.ub[2] => rflags[0x010,0x010] +cmpb r8.ub[2] m8.ub[3] => rflags[0x010,0x000] +cmpb r8.ub[12] m8.ub[12] => rflags[0x044,0x044] +cmpb r8.ub[12] m8.ub[34] => rflags[0x044,0x000] +cmpb r8.ub[34] m8.ub[12] => rflags[0x081,0x081] +cmpb r8.ub[12] m8.ub[34] => rflags[0x081,0x000] +cmpb r8.ub[100] m8.sb[-100] => rflags[0x800,0x800] +cmpb r8.ub[50] m8.sb[-50] => rflags[0x800,0x000] +cmpb r8.sb[-50] m8.sb[50] => rflags[0x800,0x000] +cmpb r8.sb[-100] m8.sb[100] => rflags[0x800,0x800] +cmpb m8.ub[3] r8.ub[2] => rflags[0x010,0x010] +cmpb m8.ub[2] r8.ub[3] => rflags[0x010,0x000] +cmpb m8.ub[12] r8.ub[12] => rflags[0x044,0x044] +cmpb m8.ub[12] r8.ub[34] => rflags[0x044,0x000] +cmpb m8.ub[34] r8.ub[12] => rflags[0x081,0x081] +cmpb m8.ub[12] r8.ub[34] => rflags[0x081,0x000] +cmpb m8.ub[100] r8.sb[-100] => rflags[0x800,0x800] +cmpb m8.ub[50] r8.sb[-50] => rflags[0x800,0x000] +cmpb m8.sb[-50] r8.sb[50] => rflags[0x800,0x000] +cmpb m8.sb[-100] r8.sb[100] => rflags[0x800,0x800] +cmpw imm8[3] r16.uw[2] => rflags[0x010,0x010] +cmpw imm8[2] r16.uw[3] => rflags[0x010,0x000] +cmpw imm8[12] r16.uw[12] => rflags[0x044,0x044] +cmpw imm8[12] r16.uw[34] => rflags[0x044,0x000] +cmpw imm8[34] r16.uw[12] => rflags[0x081,0x081] +cmpw imm8[12] r16.uw[34] => rflags[0x081,0x000] +cmpw imm8[100] r16.sw[-32700] => rflags[0x800,0x800] +cmpw imm8[50] r16.sw[-50] => rflags[0x800,0x000] +cmpw imm8[-50] r16.sw[50] => rflags[0x800,0x000] +cmpw imm8[-100] r16.sw[32700] => rflags[0x800,0x800] +cmpw imm8[3] m16.uw[2] => rflags[0x010,0x010] +cmpw imm8[2] m16.uw[3] => rflags[0x010,0x000] +cmpw imm8[12] m16.uw[12] => rflags[0x044,0x044] +cmpw imm8[12] m16.uw[34] => rflags[0x044,0x000] +cmpw imm8[34] m16.uw[12] => rflags[0x081,0x081] +cmpw imm8[12] m16.uw[34] => rflags[0x081,0x000] +cmpw imm8[100] m16.sw[-32700] => rflags[0x800,0x800] +cmpw imm8[50] m16.sw[-50] => rflags[0x800,0x000] +cmpw imm8[-50] m16.sw[50] => rflags[0x800,0x000] +cmpw imm8[-100] m16.sw[32700] => rflags[0x800,0x800] +cmpw imm16[3] ax.uw[2] => rflags[0x010,0x010] +cmpw imm16[2] ax.uw[3] => rflags[0x010,0x000] +cmpw imm16[12] ax.uw[12] => rflags[0x044,0x044] +cmpw imm16[12] ax.uw[34] => rflags[0x044,0x000] +cmpw imm16[34] ax.uw[12] => rflags[0x081,0x081] +cmpw imm16[12] ax.uw[34] => rflags[0x081,0x000] +cmpw imm16[100] ax.sw[-32700] => rflags[0x800,0x800] +cmpw imm16[50] ax.sw[-50] => rflags[0x800,0x000] +cmpw imm16[-50] ax.sw[50] => rflags[0x800,0x000] +cmpw imm16[-100] ax.sw[32700] => rflags[0x800,0x800] +cmpw imm16[3] r16.uw[2] => rflags[0x010,0x010] +cmpw imm16[2] r16.uw[3] => rflags[0x010,0x000] +cmpw imm16[12] r16.uw[12] => rflags[0x044,0x044] +cmpw imm16[12] r16.uw[34] => rflags[0x044,0x000] +cmpw imm16[34] r16.uw[12] => rflags[0x081,0x081] +cmpw imm16[12] r16.uw[34] => rflags[0x081,0x000] +cmpw imm16[100] r16.sw[-32700] => rflags[0x800,0x800] +cmpw imm16[50] r16.sw[-50] => rflags[0x800,0x000] +cmpw imm16[-50] r16.sw[50] => rflags[0x800,0x000] +cmpw imm16[-100] r16.sw[32700] => rflags[0x800,0x800] +cmpw imm16[3] m16.uw[2] => rflags[0x010,0x010] +cmpw imm16[2] m16.uw[3] => rflags[0x010,0x000] +cmpw imm16[12] m16.uw[12] => rflags[0x044,0x044] +cmpw imm16[12] m16.uw[34] => rflags[0x044,0x000] +cmpw imm16[34] m16.uw[12] => rflags[0x081,0x081] +cmpw imm16[12] m16.uw[34] => rflags[0x081,0x000] +cmpw imm16[100] m16.sw[-32700] => rflags[0x800,0x800] +cmpw imm16[50] m16.sw[-50] => rflags[0x800,0x000] +cmpw imm16[-50] m16.sw[50] => rflags[0x800,0x000] +cmpw imm16[-100] m16.sw[32700] => rflags[0x800,0x800] +cmpw r16.uw[3] r16.uw[2] => rflags[0x010,0x010] +cmpw r16.uw[2] r16.uw[3] => rflags[0x010,0x000] +cmpw r16.uw[12] r16.uw[12] => rflags[0x044,0x044] +cmpw r16.uw[12] r16.uw[34] => rflags[0x044,0x000] +cmpw r16.uw[34] r16.uw[12] => rflags[0x081,0x081] +cmpw r16.uw[12] r16.uw[34] => rflags[0x081,0x000] +cmpw r16.uw[100] r16.sw[-32700] => rflags[0x800,0x800] +cmpw r16.uw[50] r16.sw[-50] => rflags[0x800,0x000] +cmpw r16.sw[-50] r16.sw[50] => rflags[0x800,0x000] +cmpw r16.sw[-100] r16.sw[32700] => rflags[0x800,0x800] +cmpw r16.uw[3] m16.uw[2] => rflags[0x010,0x010] +cmpw r16.uw[2] m16.uw[3] => rflags[0x010,0x000] +cmpw r16.uw[12] m16.uw[12] => rflags[0x044,0x044] +cmpw r16.uw[12] m16.uw[34] => rflags[0x044,0x000] +cmpw r16.uw[34] m16.uw[12] => rflags[0x081,0x081] +cmpw r16.uw[12] m16.uw[34] => rflags[0x081,0x000] +cmpw r16.uw[100] m16.sw[-32700] => rflags[0x800,0x800] +cmpw r16.uw[50] m16.sw[-50] => rflags[0x800,0x000] +cmpw r16.sw[-50] m16.sw[50] => rflags[0x800,0x000] +cmpw r16.sw[-100] m16.sw[32700] => rflags[0x800,0x800] +cmpw m16.uw[3] r16.uw[2] => rflags[0x010,0x010] +cmpw m16.uw[2] r16.uw[3] => rflags[0x010,0x000] +cmpw m16.uw[12] r16.uw[12] => rflags[0x044,0x044] +cmpw m16.uw[12] r16.uw[34] => rflags[0x044,0x000] +cmpw m16.uw[34] r16.uw[12] => rflags[0x081,0x081] +cmpw m16.uw[12] r16.uw[34] => rflags[0x081,0x000] +cmpw m16.uw[100] r16.sw[-32700] => rflags[0x800,0x800] +cmpw m16.uw[50] r16.sw[-50] => rflags[0x800,0x000] +cmpw m16.sw[-50] r16.sw[50] => rflags[0x800,0x000] +cmpw m16.sw[-100] r16.sw[32700] => rflags[0x800,0x800] +cmpl imm8[3] r32.ud[2] => rflags[0x010,0x010] +cmpl imm8[2] r32.ud[3] => rflags[0x010,0x000] +cmpl imm8[12] r32.ud[12] => rflags[0x044,0x044] +###cmpl imm8[12] r32.ud[34] => rflags[0x044,0x000] +cmpl imm8[34] r32.ud[12] => rflags[0x081,0x081] +cmpl imm8[12] r32.ud[34] => rflags[0x081,0x000] +cmpl imm8[100] r32.sd[-2147483600] => rflags[0x800,0x800] +cmpl imm8[50] r32.sd[-50] => rflags[0x800,0x000] +cmpl imm8[-50] r32.sd[50] => rflags[0x800,0x000] +cmpl imm8[-100] r32.sd[2147483600] => rflags[0x800,0x800] +cmpl imm8[3] m32.ud[2] => rflags[0x010,0x010] +cmpl imm8[2] m32.ud[3] => rflags[0x010,0x000] +cmpl imm8[12] m32.ud[12] => rflags[0x044,0x044] +cmpl imm8[12] m32.ud[34] => rflags[0x044,0x000] +cmpl imm8[34] m32.ud[12] => rflags[0x081,0x081] +cmpl imm8[12] m32.ud[34] => rflags[0x081,0x000] +cmpl imm8[100] m32.sd[-2147483600] => rflags[0x800,0x800] +cmpl imm8[50] m32.sd[-50] => rflags[0x800,0x000] +cmpl imm8[-50] m32.sd[50] => rflags[0x800,0x000] +cmpl imm8[-100] m32.sd[2147483600] => rflags[0x800,0x800] +cmpl imm32[3] eax.ud[2] => rflags[0x010,0x010] +cmpl imm32[2] eax.ud[3] => rflags[0x010,0x000] +cmpl imm32[12] eax.ud[12] => rflags[0x044,0x044] +cmpl imm32[12] eax.ud[34] => rflags[0x044,0x000] +cmpl imm32[34] eax.ud[12] => rflags[0x081,0x081] +cmpl imm32[12] eax.ud[34] => rflags[0x081,0x000] +cmpl imm32[100] eax.sd[-2147483600] => rflags[0x800,0x800] +cmpl imm32[50] eax.sd[-50] => rflags[0x800,0x000] +cmpl imm32[-50] eax.sd[50] => rflags[0x800,0x000] +cmpl imm32[-100] eax.sd[2147483600] => rflags[0x800,0x800] +cmpl imm32[3] r32.ud[2] => rflags[0x010,0x010] +cmpl imm32[2] r32.ud[3] => rflags[0x010,0x000] +cmpl imm32[12] r32.ud[12] => rflags[0x044,0x044] +cmpl imm32[12] r32.ud[34] => rflags[0x044,0x000] +cmpl imm32[34] r32.ud[12] => rflags[0x081,0x081] +cmpl imm32[12] r32.ud[34] => rflags[0x081,0x000] +cmpl imm32[100] r32.sd[-2147483600] => rflags[0x800,0x800] +cmpl imm32[50] r32.sd[-50] => rflags[0x800,0x000] +cmpl imm32[-50] r32.sd[50] => rflags[0x800,0x000] +cmpl imm32[-100] r32.sd[2147483600] => rflags[0x800,0x800] +cmpl imm32[3] m32.ud[2] => rflags[0x010,0x010] +cmpl imm32[2] m32.ud[3] => rflags[0x010,0x000] +cmpl imm32[12] m32.ud[12] => rflags[0x044,0x044] +cmpl imm32[12] m32.ud[34] => rflags[0x044,0x000] +cmpl imm32[34] m32.ud[12] => rflags[0x081,0x081] +cmpl imm32[12] m32.ud[34] => rflags[0x081,0x000] +cmpl imm32[100] m32.sd[-2147483600] => rflags[0x800,0x800] +cmpl imm32[50] m32.sd[-50] => rflags[0x800,0x000] +cmpl imm32[-50] m32.sd[50] => rflags[0x800,0x000] +cmpl imm32[-100] m32.sd[2147483600] => rflags[0x800,0x800] +cmpl r32.ud[3] r32.ud[2] => rflags[0x010,0x010] +cmpl r32.ud[2] r32.ud[3] => rflags[0x010,0x000] +cmpl r32.ud[12] r32.ud[12] => rflags[0x044,0x044] +cmpl r32.ud[12] r32.ud[34] => rflags[0x044,0x000] +cmpl r32.ud[34] r32.ud[12] => rflags[0x081,0x081] +cmpl r32.ud[12] r32.ud[34] => rflags[0x081,0x000] +cmpl r32.ud[100] r32.sd[-2147483600] => rflags[0x800,0x800] +cmpl r32.ud[50] r32.sd[-50] => rflags[0x800,0x000] +cmpl r32.sd[-50] r32.sd[50] => rflags[0x800,0x000] +cmpl r32.sd[-100] r32.sd[2147483600] => rflags[0x800,0x800] +cmpl r32.ud[3] m32.ud[2] => rflags[0x010,0x010] +cmpl r32.ud[2] m32.ud[3] => rflags[0x010,0x000] +cmpl r32.ud[12] m32.ud[12] => rflags[0x044,0x044] +cmpl r32.ud[12] m32.ud[34] => rflags[0x044,0x000] +cmpl r32.ud[34] m32.ud[12] => rflags[0x081,0x081] +cmpl r32.ud[12] m32.ud[34] => rflags[0x081,0x000] +cmpl r32.ud[100] m32.sd[-2147483600] => rflags[0x800,0x800] +cmpl r32.ud[50] m32.sd[-50] => rflags[0x800,0x000] +cmpl r32.sd[-50] m32.sd[50] => rflags[0x800,0x000] +cmpl r32.sd[-100] m32.sd[2147483600] => rflags[0x800,0x800] +cmpl m32.ud[3] r32.ud[2] => rflags[0x010,0x010] +cmpl m32.ud[2] r32.ud[3] => rflags[0x010,0x000] +cmpl m32.ud[12] r32.ud[12] => rflags[0x044,0x044] +cmpl m32.ud[12] r32.ud[34] => rflags[0x044,0x000] +cmpl m32.ud[34] r32.ud[12] => rflags[0x081,0x081] +cmpl m32.ud[12] r32.ud[34] => rflags[0x081,0x000] +cmpl m32.ud[100] r32.sd[-2147483600] => rflags[0x800,0x800] +cmpl m32.ud[50] r32.sd[-50] => rflags[0x800,0x000] +cmpl m32.sd[-50] r32.sd[50] => rflags[0x800,0x000] +###cmpl m32.sd[-100] r32.sd[2147483600] => rflags[0x800,0x800] +cmpq imm8[3] r64.uq[2] => rflags[0x010,0x010] +cmpq imm8[2] r64.uq[3] => rflags[0x010,0x000] +cmpq imm8[12] r64.uq[12] => rflags[0x044,0x044] +cmpq imm8[12] r64.uq[34] => rflags[0x044,0x000] +cmpq imm8[34] r64.uq[12] => rflags[0x081,0x081] +cmpq imm8[12] r64.uq[34] => rflags[0x081,0x000] +cmpq imm8[100] r64.sq[-9223372036854775800] => rflags[0x800,0x800] +cmpq imm8[50] r64.sq[-50] => rflags[0x800,0x000] +cmpq imm8[-50] r64.sq[50] => rflags[0x800,0x000] +cmpq imm8[-100] r64.sq[9223372036854775800] => rflags[0x800,0x800] +cmpq imm8[3] m64.uq[2] => rflags[0x010,0x010] +cmpq imm8[2] m64.uq[3] => rflags[0x010,0x000] +cmpq imm8[12] m64.uq[12] => rflags[0x044,0x044] +cmpq imm8[12] m64.uq[34] => rflags[0x044,0x000] +cmpq imm8[34] m64.uq[12] => rflags[0x081,0x081] +cmpq imm8[12] m64.uq[34] => rflags[0x081,0x000] +cmpq imm8[100] m64.sq[-9223372036854775800] => rflags[0x800,0x800] +cmpq imm8[50] m64.sq[-50] => rflags[0x800,0x000] +cmpq imm8[-50] m64.sq[50] => rflags[0x800,0x000] +cmpq imm8[-100] m64.sq[9223372036854775800] => rflags[0x800,0x800] +cmpq imm32[3] rax.uq[2] => rflags[0x010,0x010] +cmpq imm32[2] rax.uq[3] => rflags[0x010,0x000] +cmpq imm32[12] rax.uq[12] => rflags[0x044,0x044] +cmpq imm32[12] rax.uq[34] => rflags[0x044,0x000] +cmpq imm32[34] rax.uq[12] => rflags[0x081,0x081] +cmpq imm32[12] rax.uq[34] => rflags[0x081,0x000] +cmpq imm32[100] rax.sq[-9223372036854775800] => rflags[0x800,0x800] +cmpq imm32[50] rax.sq[-50] => rflags[0x800,0x000] +cmpq imm32[-50] rax.sq[50] => rflags[0x800,0x000] +cmpq imm32[-100] rax.sq[9223372036854775800] => rflags[0x800,0x800] +cmpq imm32[3] r64.uq[2] => rflags[0x010,0x010] +cmpq imm32[2] r64.uq[3] => rflags[0x010,0x000] +cmpq imm32[12] r64.uq[12] => rflags[0x044,0x044] +cmpq imm32[12] r64.uq[34] => rflags[0x044,0x000] +cmpq imm32[34] r64.uq[12] => rflags[0x081,0x081] +cmpq imm32[12] r64.uq[... [truncated message content] |
|
From: Diane M <dia...@gm...> - 2017-08-30 16:29:35
|
Ivo, On Aug 24, 2017, at 4:39 AM, Ivo Raisr <iv...@iv...> wrote: Dear Valgrind developers, I had just a thought if it would be possible for Valgrind/Memchek to instrument a binary just once, save the instrumented code in a pre-image and then execute it many times already instrumented. My motivation is a huge binary which takes a lot of time to instrument and which is executed frequently during many many test suite runs without any human intervention. What would be the major challenges here? My preliminary idea was that trans-cache could request blocks either from VEX or from the pre-image. So do you mean that valgrind would store translated blocks in a (memory-mapped) file and then search for them before translating and instrumenting? If so, this is interesting, but I suspect that it will not speed things up much. The search would have to be a lot faster than the disassembly plus instrument in order to make a big difference. If you are considering translating the entire program and caching it, I think that would be much faster, but probably not possible with the way that valgrind works. Diane On Thu, Aug 24, 2017 at 4:39 AM, Ivo Raisr <iv...@iv...> wrote: > Dear Valgrind developers, > > I had just a thought if it would be possible for Valgrind/Memchek to > instrument a binary just once, > save the instrumented code in a pre-image and then execute it many > times already instrumented. > > My motivation is a huge binary which takes a lot of time to instrument and > which > is executed frequently during many many test suite runs without any > human intervention. > > What would be the major challenges here? > My preliminary idea was that trans-cache could request blocks either > from VEX or from the pre-image. > > Please let me know your thoughts! > Thank you, > I. > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |