about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2015-11-16 13:39:29 +0100
committerserpilliere <serpilliere@users.noreply.github.com>2015-11-16 13:39:29 +0100
commitd8d4a99b21559514d8371b46e1d1df459b43a41e (patch)
tree13af39242090b9d400e679ad496ccb440b34eb57
parent1f892fabed6300aeb592121af5b2137ac35c07f6 (diff)
parent35822fc551ce0c881c7e5216e2a2119cbed0a162 (diff)
downloadmiasm-d8d4a99b21559514d8371b46e1d1df459b43a41e.tar.gz
miasm-d8d4a99b21559514d8371b46e1d1df459b43a41e.zip
Merge pull request #274 from commial/test-qemu
Test qemu
-rw-r--r--test/arch/x86/qemu/expected/test_adc.exp150
-rw-r--r--test/arch/x86/qemu/expected/test_add.exp75
-rw-r--r--test/arch/x86/qemu/expected/test_and.exp75
-rw-r--r--test/arch/x86/qemu/expected/test_bcd.exp44
-rw-r--r--test/arch/x86/qemu/expected/test_bsx.exp8
-rw-r--r--test/arch/x86/qemu/expected/test_bt.exp128
-rw-r--r--test/arch/x86/qemu/expected/test_btc.exp128
-rw-r--r--test/arch/x86/qemu/expected/test_btr.exp128
-rw-r--r--test/arch/x86/qemu/expected/test_bts.exp128
-rw-r--r--test/arch/x86/qemu/expected/test_cmp.exp75
-rw-r--r--test/arch/x86/qemu/expected/test_code16.exp3
-rw-r--r--test/arch/x86/qemu/expected/test_conv.exp5
-rw-r--r--test/arch/x86/qemu/expected/test_dec.exp150
-rw-r--r--test/arch/x86/qemu/expected/test_exceptions.exp67
-rw-r--r--test/arch/x86/qemu/expected/test_floats.exp307
-rw-r--r--test/arch/x86/qemu/expected/test_inc.exp150
-rw-r--r--test/arch/x86/qemu/expected/test_jcc.exp168
-rw-r--r--test/arch/x86/qemu/expected/test_lea.exp57
-rw-r--r--test/arch/x86/qemu/expected/test_loop.exp64
-rw-r--r--test/arch/x86/qemu/expected/test_misc.exp5
-rw-r--r--test/arch/x86/qemu/expected/test_mul.exp62
-rw-r--r--test/arch/x86/qemu/expected/test_neg.exp150
-rw-r--r--test/arch/x86/qemu/expected/test_not.exp150
-rw-r--r--test/arch/x86/qemu/expected/test_or.exp75
-rw-r--r--test/arch/x86/qemu/expected/test_rcl.exp384
-rw-r--r--test/arch/x86/qemu/expected/test_rcr.exp384
-rw-r--r--test/arch/x86/qemu/expected/test_rol.exp192
-rw-r--r--test/arch/x86/qemu/expected/test_ror.exp192
-rw-r--r--test/arch/x86/qemu/expected/test_sar.exp192
-rw-r--r--test/arch/x86/qemu/expected/test_sbb.exp150
-rw-r--r--test/arch/x86/qemu/expected/test_segs.exp16
-rw-r--r--test/arch/x86/qemu/expected/test_self_modifying_code.exp8
-rw-r--r--test/arch/x86/qemu/expected/test_shl.exp192
-rw-r--r--test/arch/x86/qemu/expected/test_shld.exp128
-rw-r--r--test/arch/x86/qemu/expected/test_shr.exp192
-rw-r--r--test/arch/x86/qemu/expected/test_shrd.exp128
-rw-r--r--test/arch/x86/qemu/expected/test_single_step.exp48
-rw-r--r--test/arch/x86/qemu/expected/test_string.exp78
-rw-r--r--test/arch/x86/qemu/expected/test_sub.exp75
-rw-r--r--test/arch/x86/qemu/expected/test_xchg.exp27
-rw-r--r--test/arch/x86/qemu/expected/test_xor.exp75
-rwxr-xr-xtest/arch/x86/qemu/test-i386bin0 -> 83724 bytes
-rw-r--r--test/arch/x86/qemu/testqemu.py126
-rw-r--r--test/test_all.py66
44 files changed, 5005 insertions, 0 deletions
diff --git a/test/arch/x86/qemu/expected/test_adc.exp b/test/arch/x86/qemu/expected/test_adc.exp
new file mode 100644
index 00000000..8031a803
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_adc.exp
@@ -0,0 +1,150 @@
+adcl       A=12345678 B=0812fada R=1a475152 CCIN=0000 CC=0010
+adcw       A=12345678 B=0812fada R=12345152 CCIN=0000 CC=0011
+adcb       A=12345678 B=0812fada R=12345652 CCIN=0000 CC=0011
+adcl       A=12345678 B=0812fada R=1a475153 CCIN=0001 CC=0014
+adcw       A=12345678 B=0812fada R=12345153 CCIN=0001 CC=0015
+adcb       A=12345678 B=0812fada R=12345653 CCIN=0001 CC=0015
+adcl       A=00012341 B=00012341 R=00024682 CCIN=0000 CC=0004
+adcw       A=00012341 B=00012341 R=00014682 CCIN=0000 CC=0004
+adcb       A=00012341 B=00012341 R=00012382 CCIN=0000 CC=0884
+adcl       A=00012341 B=00012341 R=00024683 CCIN=0001 CC=0000
+adcw       A=00012341 B=00012341 R=00014683 CCIN=0001 CC=0000
+adcb       A=00012341 B=00012341 R=00012383 CCIN=0001 CC=0880
+adcl       A=00012341 B=fffedcbf R=00000000 CCIN=0000 CC=0055
+adcw       A=00012341 B=fffedcbf R=00010000 CCIN=0000 CC=0055
+adcb       A=00012341 B=fffedcbf R=00012300 CCIN=0000 CC=0055
+adcl       A=00012341 B=fffedcbf R=00000001 CCIN=0001 CC=0011
+adcw       A=00012341 B=fffedcbf R=00010001 CCIN=0001 CC=0011
+adcb       A=00012341 B=fffedcbf R=00012301 CCIN=0001 CC=0011
+adcl       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+adcw       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+adcb       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+adcl       A=ffffffff B=00000000 R=00000000 CCIN=0001 CC=0055
+adcw       A=ffffffff B=00000000 R=ffff0000 CCIN=0001 CC=0055
+adcb       A=ffffffff B=00000000 R=ffffff00 CCIN=0001 CC=0055
+adcl       A=ffffffff B=ffffffff R=fffffffe CCIN=0000 CC=0091
+adcw       A=ffffffff B=ffffffff R=fffffffe CCIN=0000 CC=0091
+adcb       A=ffffffff B=ffffffff R=fffffffe CCIN=0000 CC=0091
+adcl       A=ffffffff B=ffffffff R=ffffffff CCIN=0001 CC=0095
+adcw       A=ffffffff B=ffffffff R=ffffffff CCIN=0001 CC=0095
+adcb       A=ffffffff B=ffffffff R=ffffffff CCIN=0001 CC=0095
+adcl       A=ffffffff B=00000001 R=00000000 CCIN=0000 CC=0055
+adcw       A=ffffffff B=00000001 R=ffff0000 CCIN=0000 CC=0055
+adcb       A=ffffffff B=00000001 R=ffffff00 CCIN=0000 CC=0055
+adcl       A=ffffffff B=00000001 R=00000001 CCIN=0001 CC=0011
+adcw       A=ffffffff B=00000001 R=ffff0001 CCIN=0001 CC=0011
+adcb       A=ffffffff B=00000001 R=ffffff01 CCIN=0001 CC=0011
+adcl       A=ffffffff B=00000002 R=00000001 CCIN=0000 CC=0011
+adcw       A=ffffffff B=00000002 R=ffff0001 CCIN=0000 CC=0011
+adcb       A=ffffffff B=00000002 R=ffffff01 CCIN=0000 CC=0011
+adcl       A=ffffffff B=00000002 R=00000002 CCIN=0001 CC=0011
+adcw       A=ffffffff B=00000002 R=ffff0002 CCIN=0001 CC=0011
+adcb       A=ffffffff B=00000002 R=ffffff02 CCIN=0001 CC=0011
+adcl       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0004
+adcw       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+adcb       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+adcl       A=7fffffff B=00000000 R=80000000 CCIN=0001 CC=0894
+adcw       A=7fffffff B=00000000 R=7fff0000 CCIN=0001 CC=0055
+adcb       A=7fffffff B=00000000 R=7fffff00 CCIN=0001 CC=0055
+adcl       A=7fffffff B=00000001 R=80000000 CCIN=0000 CC=0894
+adcw       A=7fffffff B=00000001 R=7fff0000 CCIN=0000 CC=0055
+adcb       A=7fffffff B=00000001 R=7fffff00 CCIN=0000 CC=0055
+adcl       A=7fffffff B=00000001 R=80000001 CCIN=0001 CC=0890
+adcw       A=7fffffff B=00000001 R=7fff0001 CCIN=0001 CC=0011
+adcb       A=7fffffff B=00000001 R=7fffff01 CCIN=0001 CC=0011
+adcl       A=7fffffff B=ffffffff R=7ffffffe CCIN=0000 CC=0011
+adcw       A=7fffffff B=ffffffff R=7ffffffe CCIN=0000 CC=0091
+adcb       A=7fffffff B=ffffffff R=7ffffffe CCIN=0000 CC=0091
+adcl       A=7fffffff B=ffffffff R=7fffffff CCIN=0001 CC=0015
+adcw       A=7fffffff B=ffffffff R=7fffffff CCIN=0001 CC=0095
+adcb       A=7fffffff B=ffffffff R=7fffffff CCIN=0001 CC=0095
+adcl       A=80000000 B=ffffffff R=7fffffff CCIN=0000 CC=0805
+adcw       A=80000000 B=ffffffff R=8000ffff CCIN=0000 CC=0084
+adcb       A=80000000 B=ffffffff R=800000ff CCIN=0000 CC=0084
+adcl       A=80000000 B=ffffffff R=80000000 CCIN=0001 CC=0095
+adcw       A=80000000 B=ffffffff R=80000000 CCIN=0001 CC=0055
+adcb       A=80000000 B=ffffffff R=80000000 CCIN=0001 CC=0055
+adcl       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0080
+adcw       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0000
+adcb       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0000
+adcl       A=80000000 B=00000001 R=80000002 CCIN=0001 CC=0080
+adcw       A=80000000 B=00000001 R=80000002 CCIN=0001 CC=0000
+adcb       A=80000000 B=00000001 R=80000002 CCIN=0001 CC=0000
+adcl       A=80000000 B=fffffffe R=7ffffffe CCIN=0000 CC=0801
+adcw       A=80000000 B=fffffffe R=8000fffe CCIN=0000 CC=0080
+adcb       A=80000000 B=fffffffe R=800000fe CCIN=0000 CC=0080
+adcl       A=80000000 B=fffffffe R=7fffffff CCIN=0001 CC=0805
+adcw       A=80000000 B=fffffffe R=8000ffff CCIN=0001 CC=0084
+adcb       A=80000000 B=fffffffe R=800000ff CCIN=0001 CC=0084
+adcl       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+adcw       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+adcb       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0084
+adcl       A=12347fff B=00000000 R=12348000 CCIN=0001 CC=0014
+adcw       A=12347fff B=00000000 R=12348000 CCIN=0001 CC=0894
+adcb       A=12347fff B=00000000 R=12347f00 CCIN=0001 CC=0055
+adcl       A=12347fff B=00000001 R=12348000 CCIN=0000 CC=0014
+adcw       A=12347fff B=00000001 R=12348000 CCIN=0000 CC=0894
+adcb       A=12347fff B=00000001 R=12347f00 CCIN=0000 CC=0055
+adcl       A=12347fff B=00000001 R=12348001 CCIN=0001 CC=0010
+adcw       A=12347fff B=00000001 R=12348001 CCIN=0001 CC=0890
+adcb       A=12347fff B=00000001 R=12347f01 CCIN=0001 CC=0011
+adcl       A=12347fff B=ffffffff R=12347ffe CCIN=0000 CC=0011
+adcw       A=12347fff B=ffffffff R=12347ffe CCIN=0000 CC=0011
+adcb       A=12347fff B=ffffffff R=12347ffe CCIN=0000 CC=0091
+adcl       A=12347fff B=ffffffff R=12347fff CCIN=0001 CC=0015
+adcw       A=12347fff B=ffffffff R=12347fff CCIN=0001 CC=0015
+adcb       A=12347fff B=ffffffff R=12347fff CCIN=0001 CC=0095
+adcl       A=12348000 B=ffffffff R=12347fff CCIN=0000 CC=0005
+adcw       A=12348000 B=ffffffff R=12347fff CCIN=0000 CC=0805
+adcb       A=12348000 B=ffffffff R=123480ff CCIN=0000 CC=0084
+adcl       A=12348000 B=ffffffff R=12348000 CCIN=0001 CC=0015
+adcw       A=12348000 B=ffffffff R=12348000 CCIN=0001 CC=0095
+adcb       A=12348000 B=ffffffff R=12348000 CCIN=0001 CC=0055
+adcl       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0000
+adcw       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0080
+adcb       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0000
+adcl       A=12348000 B=00000001 R=12348002 CCIN=0001 CC=0000
+adcw       A=12348000 B=00000001 R=12348002 CCIN=0001 CC=0080
+adcb       A=12348000 B=00000001 R=12348002 CCIN=0001 CC=0000
+adcl       A=12348000 B=fffffffe R=12347ffe CCIN=0000 CC=0001
+adcw       A=12348000 B=fffffffe R=12347ffe CCIN=0000 CC=0801
+adcb       A=12348000 B=fffffffe R=123480fe CCIN=0000 CC=0080
+adcl       A=12348000 B=fffffffe R=12347fff CCIN=0001 CC=0005
+adcw       A=12348000 B=fffffffe R=12347fff CCIN=0001 CC=0805
+adcb       A=12348000 B=fffffffe R=123480ff CCIN=0001 CC=0084
+adcl       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+adcw       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+adcb       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+adcl       A=12347f7f B=00000000 R=12347f80 CCIN=0001 CC=0010
+adcw       A=12347f7f B=00000000 R=12347f80 CCIN=0001 CC=0010
+adcb       A=12347f7f B=00000000 R=12347f80 CCIN=0001 CC=0890
+adcl       A=12347f7f B=00000001 R=12347f80 CCIN=0000 CC=0010
+adcw       A=12347f7f B=00000001 R=12347f80 CCIN=0000 CC=0010
+adcb       A=12347f7f B=00000001 R=12347f80 CCIN=0000 CC=0890
+adcl       A=12347f7f B=00000001 R=12347f81 CCIN=0001 CC=0014
+adcw       A=12347f7f B=00000001 R=12347f81 CCIN=0001 CC=0014
+adcb       A=12347f7f B=00000001 R=12347f81 CCIN=0001 CC=0894
+adcl       A=12347f7f B=ffffffff R=12347f7e CCIN=0000 CC=0015
+adcw       A=12347f7f B=ffffffff R=12347f7e CCIN=0000 CC=0015
+adcb       A=12347f7f B=ffffffff R=12347f7e CCIN=0000 CC=0015
+adcl       A=12347f7f B=ffffffff R=12347f7f CCIN=0001 CC=0011
+adcw       A=12347f7f B=ffffffff R=12347f7f CCIN=0001 CC=0011
+adcb       A=12347f7f B=ffffffff R=12347f7f CCIN=0001 CC=0011
+adcl       A=12348080 B=ffffffff R=1234807f CCIN=0000 CC=0001
+adcw       A=12348080 B=ffffffff R=1234807f CCIN=0000 CC=0081
+adcb       A=12348080 B=ffffffff R=1234807f CCIN=0000 CC=0801
+adcl       A=12348080 B=ffffffff R=12348080 CCIN=0001 CC=0011
+adcw       A=12348080 B=ffffffff R=12348080 CCIN=0001 CC=0091
+adcb       A=12348080 B=ffffffff R=12348080 CCIN=0001 CC=0091
+adcl       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0004
+adcw       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0084
+adcb       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0084
+adcl       A=12348080 B=00000001 R=12348082 CCIN=0001 CC=0004
+adcw       A=12348080 B=00000001 R=12348082 CCIN=0001 CC=0084
+adcb       A=12348080 B=00000001 R=12348082 CCIN=0001 CC=0084
+adcl       A=12348080 B=fffffffe R=1234807e CCIN=0000 CC=0005
+adcw       A=12348080 B=fffffffe R=1234807e CCIN=0000 CC=0085
+adcb       A=12348080 B=fffffffe R=1234807e CCIN=0000 CC=0805
+adcl       A=12348080 B=fffffffe R=1234807f CCIN=0001 CC=0001
+adcw       A=12348080 B=fffffffe R=1234807f CCIN=0001 CC=0081
+adcb       A=12348080 B=fffffffe R=1234807f CCIN=0001 CC=0801
diff --git a/test/arch/x86/qemu/expected/test_add.exp b/test/arch/x86/qemu/expected/test_add.exp
new file mode 100644
index 00000000..79952168
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_add.exp
@@ -0,0 +1,75 @@
+addl       A=12345678 B=0812fada R=1a475152 CCIN=0000 CC=0010
+addw       A=12345678 B=0812fada R=12345152 CCIN=0000 CC=0011
+addb       A=12345678 B=0812fada R=12345652 CCIN=0000 CC=0011
+addl       A=00012341 B=00012341 R=00024682 CCIN=0000 CC=0004
+addw       A=00012341 B=00012341 R=00014682 CCIN=0000 CC=0004
+addb       A=00012341 B=00012341 R=00012382 CCIN=0000 CC=0884
+addl       A=00012341 B=fffedcbf R=00000000 CCIN=0000 CC=0055
+addw       A=00012341 B=fffedcbf R=00010000 CCIN=0000 CC=0055
+addb       A=00012341 B=fffedcbf R=00012300 CCIN=0000 CC=0055
+addl       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+addw       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+addb       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+addl       A=ffffffff B=ffffffff R=fffffffe CCIN=0000 CC=0091
+addw       A=ffffffff B=ffffffff R=fffffffe CCIN=0000 CC=0091
+addb       A=ffffffff B=ffffffff R=fffffffe CCIN=0000 CC=0091
+addl       A=ffffffff B=00000001 R=00000000 CCIN=0000 CC=0055
+addw       A=ffffffff B=00000001 R=ffff0000 CCIN=0000 CC=0055
+addb       A=ffffffff B=00000001 R=ffffff00 CCIN=0000 CC=0055
+addl       A=ffffffff B=00000002 R=00000001 CCIN=0000 CC=0011
+addw       A=ffffffff B=00000002 R=ffff0001 CCIN=0000 CC=0011
+addb       A=ffffffff B=00000002 R=ffffff01 CCIN=0000 CC=0011
+addl       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0004
+addw       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+addb       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+addl       A=7fffffff B=00000001 R=80000000 CCIN=0000 CC=0894
+addw       A=7fffffff B=00000001 R=7fff0000 CCIN=0000 CC=0055
+addb       A=7fffffff B=00000001 R=7fffff00 CCIN=0000 CC=0055
+addl       A=7fffffff B=ffffffff R=7ffffffe CCIN=0000 CC=0011
+addw       A=7fffffff B=ffffffff R=7ffffffe CCIN=0000 CC=0091
+addb       A=7fffffff B=ffffffff R=7ffffffe CCIN=0000 CC=0091
+addl       A=80000000 B=ffffffff R=7fffffff CCIN=0000 CC=0805
+addw       A=80000000 B=ffffffff R=8000ffff CCIN=0000 CC=0084
+addb       A=80000000 B=ffffffff R=800000ff CCIN=0000 CC=0084
+addl       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0080
+addw       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0000
+addb       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0000
+addl       A=80000000 B=fffffffe R=7ffffffe CCIN=0000 CC=0801
+addw       A=80000000 B=fffffffe R=8000fffe CCIN=0000 CC=0080
+addb       A=80000000 B=fffffffe R=800000fe CCIN=0000 CC=0080
+addl       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+addw       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+addb       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0084
+addl       A=12347fff B=00000001 R=12348000 CCIN=0000 CC=0014
+addw       A=12347fff B=00000001 R=12348000 CCIN=0000 CC=0894
+addb       A=12347fff B=00000001 R=12347f00 CCIN=0000 CC=0055
+addl       A=12347fff B=ffffffff R=12347ffe CCIN=0000 CC=0011
+addw       A=12347fff B=ffffffff R=12347ffe CCIN=0000 CC=0011
+addb       A=12347fff B=ffffffff R=12347ffe CCIN=0000 CC=0091
+addl       A=12348000 B=ffffffff R=12347fff CCIN=0000 CC=0005
+addw       A=12348000 B=ffffffff R=12347fff CCIN=0000 CC=0805
+addb       A=12348000 B=ffffffff R=123480ff CCIN=0000 CC=0084
+addl       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0000
+addw       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0080
+addb       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0000
+addl       A=12348000 B=fffffffe R=12347ffe CCIN=0000 CC=0001
+addw       A=12348000 B=fffffffe R=12347ffe CCIN=0000 CC=0801
+addb       A=12348000 B=fffffffe R=123480fe CCIN=0000 CC=0080
+addl       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+addw       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+addb       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+addl       A=12347f7f B=00000001 R=12347f80 CCIN=0000 CC=0010
+addw       A=12347f7f B=00000001 R=12347f80 CCIN=0000 CC=0010
+addb       A=12347f7f B=00000001 R=12347f80 CCIN=0000 CC=0890
+addl       A=12347f7f B=ffffffff R=12347f7e CCIN=0000 CC=0015
+addw       A=12347f7f B=ffffffff R=12347f7e CCIN=0000 CC=0015
+addb       A=12347f7f B=ffffffff R=12347f7e CCIN=0000 CC=0015
+addl       A=12348080 B=ffffffff R=1234807f CCIN=0000 CC=0001
+addw       A=12348080 B=ffffffff R=1234807f CCIN=0000 CC=0081
+addb       A=12348080 B=ffffffff R=1234807f CCIN=0000 CC=0801
+addl       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0004
+addw       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0084
+addb       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0084
+addl       A=12348080 B=fffffffe R=1234807e CCIN=0000 CC=0005
+addw       A=12348080 B=fffffffe R=1234807e CCIN=0000 CC=0085
+addb       A=12348080 B=fffffffe R=1234807e CCIN=0000 CC=0805
diff --git a/test/arch/x86/qemu/expected/test_and.exp b/test/arch/x86/qemu/expected/test_and.exp
new file mode 100644
index 00000000..b4fc4027
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_and.exp
@@ -0,0 +1,75 @@
+andl       A=12345678 B=0812fada R=00105258 CCIN=0000 CC=0000
+andw       A=12345678 B=0812fada R=12345258 CCIN=0000 CC=0000
+andb       A=12345678 B=0812fada R=12345658 CCIN=0000 CC=0000
+andl       A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0004
+andw       A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0004
+andb       A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0004
+andl       A=00012341 B=fffedcbf R=00000001 CCIN=0000 CC=0000
+andw       A=00012341 B=fffedcbf R=00010001 CCIN=0000 CC=0000
+andb       A=00012341 B=fffedcbf R=00012301 CCIN=0000 CC=0000
+andl       A=ffffffff B=00000000 R=00000000 CCIN=0000 CC=0044
+andw       A=ffffffff B=00000000 R=ffff0000 CCIN=0000 CC=0044
+andb       A=ffffffff B=00000000 R=ffffff00 CCIN=0000 CC=0044
+andl       A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0084
+andw       A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0084
+andb       A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0084
+andl       A=ffffffff B=00000001 R=00000001 CCIN=0000 CC=0000
+andw       A=ffffffff B=00000001 R=ffff0001 CCIN=0000 CC=0000
+andb       A=ffffffff B=00000001 R=ffffff01 CCIN=0000 CC=0000
+andl       A=ffffffff B=00000002 R=00000002 CCIN=0000 CC=0000
+andw       A=ffffffff B=00000002 R=ffff0002 CCIN=0000 CC=0000
+andb       A=ffffffff B=00000002 R=ffffff02 CCIN=0000 CC=0000
+andl       A=7fffffff B=00000000 R=00000000 CCIN=0000 CC=0044
+andw       A=7fffffff B=00000000 R=7fff0000 CCIN=0000 CC=0044
+andb       A=7fffffff B=00000000 R=7fffff00 CCIN=0000 CC=0044
+andl       A=7fffffff B=00000001 R=00000001 CCIN=0000 CC=0000
+andw       A=7fffffff B=00000001 R=7fff0001 CCIN=0000 CC=0000
+andb       A=7fffffff B=00000001 R=7fffff01 CCIN=0000 CC=0000
+andl       A=7fffffff B=ffffffff R=7fffffff CCIN=0000 CC=0004
+andw       A=7fffffff B=ffffffff R=7fffffff CCIN=0000 CC=0084
+andb       A=7fffffff B=ffffffff R=7fffffff CCIN=0000 CC=0084
+andl       A=80000000 B=ffffffff R=80000000 CCIN=0000 CC=0084
+andw       A=80000000 B=ffffffff R=80000000 CCIN=0000 CC=0044
+andb       A=80000000 B=ffffffff R=80000000 CCIN=0000 CC=0044
+andl       A=80000000 B=00000001 R=00000000 CCIN=0000 CC=0044
+andw       A=80000000 B=00000001 R=80000000 CCIN=0000 CC=0044
+andb       A=80000000 B=00000001 R=80000000 CCIN=0000 CC=0044
+andl       A=80000000 B=fffffffe R=80000000 CCIN=0000 CC=0084
+andw       A=80000000 B=fffffffe R=80000000 CCIN=0000 CC=0044
+andb       A=80000000 B=fffffffe R=80000000 CCIN=0000 CC=0044
+andl       A=12347fff B=00000000 R=00000000 CCIN=0000 CC=0044
+andw       A=12347fff B=00000000 R=12340000 CCIN=0000 CC=0044
+andb       A=12347fff B=00000000 R=12347f00 CCIN=0000 CC=0044
+andl       A=12347fff B=00000001 R=00000001 CCIN=0000 CC=0000
+andw       A=12347fff B=00000001 R=12340001 CCIN=0000 CC=0000
+andb       A=12347fff B=00000001 R=12347f01 CCIN=0000 CC=0000
+andl       A=12347fff B=ffffffff R=12347fff CCIN=0000 CC=0004
+andw       A=12347fff B=ffffffff R=12347fff CCIN=0000 CC=0004
+andb       A=12347fff B=ffffffff R=12347fff CCIN=0000 CC=0084
+andl       A=12348000 B=ffffffff R=12348000 CCIN=0000 CC=0004
+andw       A=12348000 B=ffffffff R=12348000 CCIN=0000 CC=0084
+andb       A=12348000 B=ffffffff R=12348000 CCIN=0000 CC=0044
+andl       A=12348000 B=00000001 R=00000000 CCIN=0000 CC=0044
+andw       A=12348000 B=00000001 R=12340000 CCIN=0000 CC=0044
+andb       A=12348000 B=00000001 R=12348000 CCIN=0000 CC=0044
+andl       A=12348000 B=fffffffe R=12348000 CCIN=0000 CC=0004
+andw       A=12348000 B=fffffffe R=12348000 CCIN=0000 CC=0084
+andb       A=12348000 B=fffffffe R=12348000 CCIN=0000 CC=0044
+andl       A=12347f7f B=00000000 R=00000000 CCIN=0000 CC=0044
+andw       A=12347f7f B=00000000 R=12340000 CCIN=0000 CC=0044
+andb       A=12347f7f B=00000000 R=12347f00 CCIN=0000 CC=0044
+andl       A=12347f7f B=00000001 R=00000001 CCIN=0000 CC=0000
+andw       A=12347f7f B=00000001 R=12340001 CCIN=0000 CC=0000
+andb       A=12347f7f B=00000001 R=12347f01 CCIN=0000 CC=0000
+andl       A=12347f7f B=ffffffff R=12347f7f CCIN=0000 CC=0000
+andw       A=12347f7f B=ffffffff R=12347f7f CCIN=0000 CC=0000
+andb       A=12347f7f B=ffffffff R=12347f7f CCIN=0000 CC=0000
+andl       A=12348080 B=ffffffff R=12348080 CCIN=0000 CC=0000
+andw       A=12348080 B=ffffffff R=12348080 CCIN=0000 CC=0080
+andb       A=12348080 B=ffffffff R=12348080 CCIN=0000 CC=0080
+andl       A=12348080 B=00000001 R=00000000 CCIN=0000 CC=0044
+andw       A=12348080 B=00000001 R=12340000 CCIN=0000 CC=0044
+andb       A=12348080 B=00000001 R=12348000 CCIN=0000 CC=0044
+andl       A=12348080 B=fffffffe R=12348080 CCIN=0000 CC=0000
+andw       A=12348080 B=fffffffe R=12348080 CCIN=0000 CC=0080
+andb       A=12348080 B=fffffffe R=12348080 CCIN=0000 CC=0080
diff --git a/test/arch/x86/qemu/expected/test_bcd.exp b/test/arch/x86/qemu/expected/test_bcd.exp
new file mode 100644
index 00000000..adb53c68
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_bcd.exp
@@ -0,0 +1,44 @@
+daa        A=12340503 R=12340509 CCIN=0010 CC=0014
+daa        A=12340506 R=1234050c CCIN=0010 CC=0014
+daa        A=12340507 R=1234050d CCIN=0010 CC=0010
+daa        A=12340559 R=1234055f CCIN=0010 CC=0014
+daa        A=12340560 R=12340566 CCIN=0010 CC=0014
+daa        A=1234059f R=12340505 CCIN=0010 CC=0015
+daa        A=123405a0 R=12340506 CCIN=0010 CC=0015
+daa        A=12340503 R=12340503 CCIN=0000 CC=0004
+daa        A=12340506 R=12340506 CCIN=0000 CC=0004
+daa        A=12340503 R=12340563 CCIN=0001 CC=0005
+daa        A=12340506 R=12340566 CCIN=0001 CC=0005
+daa        A=12340503 R=12340569 CCIN=0011 CC=0015
+daa        A=12340506 R=1234056c CCIN=0011 CC=0015
+das        A=12340503 R=123405fd CCIN=0010 CC=0091
+das        A=12340506 R=12340500 CCIN=0010 CC=0054
+das        A=12340507 R=12340501 CCIN=0010 CC=0010
+das        A=12340559 R=12340553 CCIN=0010 CC=0014
+das        A=12340560 R=1234055a CCIN=0010 CC=0014
+das        A=1234059f R=12340539 CCIN=0010 CC=0015
+das        A=123405a0 R=1234053a CCIN=0010 CC=0015
+das        A=12340503 R=12340503 CCIN=0000 CC=0004
+das        A=12340506 R=12340506 CCIN=0000 CC=0004
+das        A=12340503 R=123405a3 CCIN=0001 CC=0085
+das        A=12340506 R=123405a6 CCIN=0001 CC=0085
+das        A=12340503 R=1234059d CCIN=0011 CC=0091
+das        A=12340506 R=123405a0 CCIN=0011 CC=0095
+aaa        A=12340205 R=1234030b CCIN=0010 CC=0011
+aaa        A=12340306 R=1234040c CCIN=0010 CC=0011
+aaa        A=1234040a R=12340500 CCIN=0010 CC=0011
+aaa        A=123405fa R=12340700 CCIN=0010 CC=0011
+aaa        A=12340205 R=12340205 CCIN=0000 CC=0000
+aaa        A=12340306 R=12340306 CCIN=0000 CC=0000
+aaa        A=1234040a R=12340500 CCIN=0000 CC=0011
+aaa        A=123405fa R=12340700 CCIN=0000 CC=0011
+aas        A=12340205 R=1234000f CCIN=0010 CC=0011
+aas        A=12340306 R=12340200 CCIN=0010 CC=0011
+aas        A=1234040a R=12340304 CCIN=0010 CC=0011
+aas        A=123405fa R=12340404 CCIN=0010 CC=0011
+aas        A=12340205 R=12340205 CCIN=0000 CC=0000
+aas        A=12340306 R=12340306 CCIN=0000 CC=0000
+aas        A=1234040a R=12340304 CCIN=0000 CC=0011
+aas        A=123405fa R=12340404 CCIN=0000 CC=0011
+aam        A=12340547 R=12340701 CCIN=0010 CC=0000
+aad        A=12340407 R=1234002f CCIN=0010 CC=0000
diff --git a/test/arch/x86/qemu/expected/test_bsx.exp b/test/arch/x86/qemu/expected/test_bsx.exp
new file mode 100644
index 00000000..cd3e31a6
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_bsx.exp
@@ -0,0 +1,8 @@
+bsrw       A=00000000 R=12345678 1
+bsrw       A=12340128 R=12340008 0
+bsfw       A=00000000 R=12345678 1
+bsfw       A=12340128 R=12340003 0
+bsrl       A=00000000 R=12345678 1
+bsrl       A=00340128 R=00000015 0
+bsfl       A=00000000 R=12345678 1
+bsfl       A=00340128 R=00000003 0
diff --git a/test/arch/x86/qemu/expected/test_bt.exp b/test/arch/x86/qemu/expected/test_bt.exp
new file mode 100644
index 00000000..4b7ccecb
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_bt.exp
@@ -0,0 +1,128 @@
+btl        A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000001 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000001 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000002 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000002 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000003 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000003 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=00000004 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000004 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=00000005 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000005 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=00000006 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000006 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=00000007 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000007 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000008 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000008 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000009 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000009 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=0000000a R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=0000000a R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=0000000b R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=0000000b R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=0000000c R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=0000000c R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=0000000d R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=0000000d R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=0000000e R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=0000000e R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=0000000f R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=0000000f R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000010 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000010 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000011 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000011 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000012 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000012 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000013 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000013 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=00000014 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000014 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=00000015 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000015 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=00000016 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000016 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=00000017 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000017 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000018 R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=00000018 R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=00000019 R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=00000019 R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=0000001a R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=0000001a R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=0000001b R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=0000001b R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=0000001c R=12345678 CCIN=0000 CC=0001
+btw        A=12345678 B=0000001c R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=0000001d R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=0000001d R=12345678 CCIN=0000 CC=0000
+btl        A=12345678 B=0000001e R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=0000001e R=12345678 CCIN=0000 CC=0001
+btl        A=12345678 B=0000001f R=12345678 CCIN=0000 CC=0000
+btw        A=12345678 B=0000001f R=12345678 CCIN=0000 CC=0000
+btl        A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000001 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000001 R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000002 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000002 R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000003 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000003 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000004 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000004 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000005 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000005 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000006 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000006 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000007 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000007 R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000008 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000008 R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000009 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000009 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=0000000a R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=0000000a R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=0000000b R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=0000000b R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=0000000c R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=0000000c R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=0000000d R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=0000000d R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=0000000e R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=0000000e R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=0000000f R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=0000000f R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000010 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000010 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000011 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000011 R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000012 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000012 R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000013 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000013 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000014 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000014 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000015 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000015 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000016 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000016 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=00000017 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000017 R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000018 R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=00000018 R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=00000019 R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=00000019 R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=0000001a R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=0000001a R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=0000001b R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=0000001b R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=0000001c R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=0000001c R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=0000001d R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=0000001d R=82345679 CCIN=0000 CC=0000
+btl        A=82345679 B=0000001e R=82345679 CCIN=0000 CC=0000
+btw        A=82345679 B=0000001e R=82345679 CCIN=0000 CC=0001
+btl        A=82345679 B=0000001f R=82345679 CCIN=0000 CC=0001
+btw        A=82345679 B=0000001f R=82345679 CCIN=0000 CC=0000
diff --git a/test/arch/x86/qemu/expected/test_btc.exp b/test/arch/x86/qemu/expected/test_btc.exp
new file mode 100644
index 00000000..09063cb6
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_btc.exp
@@ -0,0 +1,128 @@
+btcl       A=12345678 B=00000000 R=12345679 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000000 R=12345679 CCIN=0000 CC=0000
+btcl       A=12345678 B=00000001 R=1234567a CCIN=0000 CC=0000
+btcw       A=12345678 B=00000001 R=1234567a CCIN=0000 CC=0000
+btcl       A=12345678 B=00000002 R=1234567c CCIN=0000 CC=0000
+btcw       A=12345678 B=00000002 R=1234567c CCIN=0000 CC=0000
+btcl       A=12345678 B=00000003 R=12345670 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000003 R=12345670 CCIN=0000 CC=0001
+btcl       A=12345678 B=00000004 R=12345668 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000004 R=12345668 CCIN=0000 CC=0001
+btcl       A=12345678 B=00000005 R=12345658 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000005 R=12345658 CCIN=0000 CC=0001
+btcl       A=12345678 B=00000006 R=12345638 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000006 R=12345638 CCIN=0000 CC=0001
+btcl       A=12345678 B=00000007 R=123456f8 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000007 R=123456f8 CCIN=0000 CC=0000
+btcl       A=12345678 B=00000008 R=12345778 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000008 R=12345778 CCIN=0000 CC=0000
+btcl       A=12345678 B=00000009 R=12345478 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000009 R=12345478 CCIN=0000 CC=0001
+btcl       A=12345678 B=0000000a R=12345278 CCIN=0000 CC=0001
+btcw       A=12345678 B=0000000a R=12345278 CCIN=0000 CC=0001
+btcl       A=12345678 B=0000000b R=12345e78 CCIN=0000 CC=0000
+btcw       A=12345678 B=0000000b R=12345e78 CCIN=0000 CC=0000
+btcl       A=12345678 B=0000000c R=12344678 CCIN=0000 CC=0001
+btcw       A=12345678 B=0000000c R=12344678 CCIN=0000 CC=0001
+btcl       A=12345678 B=0000000d R=12347678 CCIN=0000 CC=0000
+btcw       A=12345678 B=0000000d R=12347678 CCIN=0000 CC=0000
+btcl       A=12345678 B=0000000e R=12341678 CCIN=0000 CC=0001
+btcw       A=12345678 B=0000000e R=12341678 CCIN=0000 CC=0001
+btcl       A=12345678 B=0000000f R=1234d678 CCIN=0000 CC=0000
+btcw       A=12345678 B=0000000f R=1234d678 CCIN=0000 CC=0000
+btcl       A=12345678 B=00000010 R=12355678 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000010 R=12345679 CCIN=0000 CC=0000
+btcl       A=12345678 B=00000011 R=12365678 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000011 R=1234567a CCIN=0000 CC=0000
+btcl       A=12345678 B=00000012 R=12305678 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000012 R=1234567c CCIN=0000 CC=0000
+btcl       A=12345678 B=00000013 R=123c5678 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000013 R=12345670 CCIN=0000 CC=0001
+btcl       A=12345678 B=00000014 R=12245678 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000014 R=12345668 CCIN=0000 CC=0001
+btcl       A=12345678 B=00000015 R=12145678 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000015 R=12345658 CCIN=0000 CC=0001
+btcl       A=12345678 B=00000016 R=12745678 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000016 R=12345638 CCIN=0000 CC=0001
+btcl       A=12345678 B=00000017 R=12b45678 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000017 R=123456f8 CCIN=0000 CC=0000
+btcl       A=12345678 B=00000018 R=13345678 CCIN=0000 CC=0000
+btcw       A=12345678 B=00000018 R=12345778 CCIN=0000 CC=0000
+btcl       A=12345678 B=00000019 R=10345678 CCIN=0000 CC=0001
+btcw       A=12345678 B=00000019 R=12345478 CCIN=0000 CC=0001
+btcl       A=12345678 B=0000001a R=16345678 CCIN=0000 CC=0000
+btcw       A=12345678 B=0000001a R=12345278 CCIN=0000 CC=0001
+btcl       A=12345678 B=0000001b R=1a345678 CCIN=0000 CC=0000
+btcw       A=12345678 B=0000001b R=12345e78 CCIN=0000 CC=0000
+btcl       A=12345678 B=0000001c R=02345678 CCIN=0000 CC=0001
+btcw       A=12345678 B=0000001c R=12344678 CCIN=0000 CC=0001
+btcl       A=12345678 B=0000001d R=32345678 CCIN=0000 CC=0000
+btcw       A=12345678 B=0000001d R=12347678 CCIN=0000 CC=0000
+btcl       A=12345678 B=0000001e R=52345678 CCIN=0000 CC=0000
+btcw       A=12345678 B=0000001e R=12341678 CCIN=0000 CC=0001
+btcl       A=12345678 B=0000001f R=92345678 CCIN=0000 CC=0000
+btcw       A=12345678 B=0000001f R=1234d678 CCIN=0000 CC=0000
+btcl       A=82345679 B=00000000 R=82345678 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000000 R=82345678 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000001 R=8234567b CCIN=0000 CC=0000
+btcw       A=82345679 B=00000001 R=8234567b CCIN=0000 CC=0000
+btcl       A=82345679 B=00000002 R=8234567d CCIN=0000 CC=0000
+btcw       A=82345679 B=00000002 R=8234567d CCIN=0000 CC=0000
+btcl       A=82345679 B=00000003 R=82345671 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000003 R=82345671 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000004 R=82345669 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000004 R=82345669 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000005 R=82345659 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000005 R=82345659 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000006 R=82345639 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000006 R=82345639 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000007 R=823456f9 CCIN=0000 CC=0000
+btcw       A=82345679 B=00000007 R=823456f9 CCIN=0000 CC=0000
+btcl       A=82345679 B=00000008 R=82345779 CCIN=0000 CC=0000
+btcw       A=82345679 B=00000008 R=82345779 CCIN=0000 CC=0000
+btcl       A=82345679 B=00000009 R=82345479 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000009 R=82345479 CCIN=0000 CC=0001
+btcl       A=82345679 B=0000000a R=82345279 CCIN=0000 CC=0001
+btcw       A=82345679 B=0000000a R=82345279 CCIN=0000 CC=0001
+btcl       A=82345679 B=0000000b R=82345e79 CCIN=0000 CC=0000
+btcw       A=82345679 B=0000000b R=82345e79 CCIN=0000 CC=0000
+btcl       A=82345679 B=0000000c R=82344679 CCIN=0000 CC=0001
+btcw       A=82345679 B=0000000c R=82344679 CCIN=0000 CC=0001
+btcl       A=82345679 B=0000000d R=82347679 CCIN=0000 CC=0000
+btcw       A=82345679 B=0000000d R=82347679 CCIN=0000 CC=0000
+btcl       A=82345679 B=0000000e R=82341679 CCIN=0000 CC=0001
+btcw       A=82345679 B=0000000e R=82341679 CCIN=0000 CC=0001
+btcl       A=82345679 B=0000000f R=8234d679 CCIN=0000 CC=0000
+btcw       A=82345679 B=0000000f R=8234d679 CCIN=0000 CC=0000
+btcl       A=82345679 B=00000010 R=82355679 CCIN=0000 CC=0000
+btcw       A=82345679 B=00000010 R=82345678 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000011 R=82365679 CCIN=0000 CC=0000
+btcw       A=82345679 B=00000011 R=8234567b CCIN=0000 CC=0000
+btcl       A=82345679 B=00000012 R=82305679 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000012 R=8234567d CCIN=0000 CC=0000
+btcl       A=82345679 B=00000013 R=823c5679 CCIN=0000 CC=0000
+btcw       A=82345679 B=00000013 R=82345671 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000014 R=82245679 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000014 R=82345669 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000015 R=82145679 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000015 R=82345659 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000016 R=82745679 CCIN=0000 CC=0000
+btcw       A=82345679 B=00000016 R=82345639 CCIN=0000 CC=0001
+btcl       A=82345679 B=00000017 R=82b45679 CCIN=0000 CC=0000
+btcw       A=82345679 B=00000017 R=823456f9 CCIN=0000 CC=0000
+btcl       A=82345679 B=00000018 R=83345679 CCIN=0000 CC=0000
+btcw       A=82345679 B=00000018 R=82345779 CCIN=0000 CC=0000
+btcl       A=82345679 B=00000019 R=80345679 CCIN=0000 CC=0001
+btcw       A=82345679 B=00000019 R=82345479 CCIN=0000 CC=0001
+btcl       A=82345679 B=0000001a R=86345679 CCIN=0000 CC=0000
+btcw       A=82345679 B=0000001a R=82345279 CCIN=0000 CC=0001
+btcl       A=82345679 B=0000001b R=8a345679 CCIN=0000 CC=0000
+btcw       A=82345679 B=0000001b R=82345e79 CCIN=0000 CC=0000
+btcl       A=82345679 B=0000001c R=92345679 CCIN=0000 CC=0000
+btcw       A=82345679 B=0000001c R=82344679 CCIN=0000 CC=0001
+btcl       A=82345679 B=0000001d R=a2345679 CCIN=0000 CC=0000
+btcw       A=82345679 B=0000001d R=82347679 CCIN=0000 CC=0000
+btcl       A=82345679 B=0000001e R=c2345679 CCIN=0000 CC=0000
+btcw       A=82345679 B=0000001e R=82341679 CCIN=0000 CC=0001
+btcl       A=82345679 B=0000001f R=02345679 CCIN=0000 CC=0001
+btcw       A=82345679 B=0000001f R=8234d679 CCIN=0000 CC=0000
diff --git a/test/arch/x86/qemu/expected/test_btr.exp b/test/arch/x86/qemu/expected/test_btr.exp
new file mode 100644
index 00000000..5e3688c3
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_btr.exp
@@ -0,0 +1,128 @@
+btrl       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000001 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000001 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000002 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000002 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000003 R=12345670 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000003 R=12345670 CCIN=0000 CC=0001
+btrl       A=12345678 B=00000004 R=12345668 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000004 R=12345668 CCIN=0000 CC=0001
+btrl       A=12345678 B=00000005 R=12345658 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000005 R=12345658 CCIN=0000 CC=0001
+btrl       A=12345678 B=00000006 R=12345638 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000006 R=12345638 CCIN=0000 CC=0001
+btrl       A=12345678 B=00000007 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000007 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000008 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000008 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000009 R=12345478 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000009 R=12345478 CCIN=0000 CC=0001
+btrl       A=12345678 B=0000000a R=12345278 CCIN=0000 CC=0001
+btrw       A=12345678 B=0000000a R=12345278 CCIN=0000 CC=0001
+btrl       A=12345678 B=0000000b R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=0000000b R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=0000000c R=12344678 CCIN=0000 CC=0001
+btrw       A=12345678 B=0000000c R=12344678 CCIN=0000 CC=0001
+btrl       A=12345678 B=0000000d R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=0000000d R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=0000000e R=12341678 CCIN=0000 CC=0001
+btrw       A=12345678 B=0000000e R=12341678 CCIN=0000 CC=0001
+btrl       A=12345678 B=0000000f R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=0000000f R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000010 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000010 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000011 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000011 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000012 R=12305678 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000012 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000013 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000013 R=12345670 CCIN=0000 CC=0001
+btrl       A=12345678 B=00000014 R=12245678 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000014 R=12345668 CCIN=0000 CC=0001
+btrl       A=12345678 B=00000015 R=12145678 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000015 R=12345658 CCIN=0000 CC=0001
+btrl       A=12345678 B=00000016 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000016 R=12345638 CCIN=0000 CC=0001
+btrl       A=12345678 B=00000017 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000017 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000018 R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=00000018 R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=00000019 R=10345678 CCIN=0000 CC=0001
+btrw       A=12345678 B=00000019 R=12345478 CCIN=0000 CC=0001
+btrl       A=12345678 B=0000001a R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=0000001a R=12345278 CCIN=0000 CC=0001
+btrl       A=12345678 B=0000001b R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=0000001b R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=0000001c R=02345678 CCIN=0000 CC=0001
+btrw       A=12345678 B=0000001c R=12344678 CCIN=0000 CC=0001
+btrl       A=12345678 B=0000001d R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=0000001d R=12345678 CCIN=0000 CC=0000
+btrl       A=12345678 B=0000001e R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=0000001e R=12341678 CCIN=0000 CC=0001
+btrl       A=12345678 B=0000001f R=12345678 CCIN=0000 CC=0000
+btrw       A=12345678 B=0000001f R=12345678 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000000 R=82345678 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000000 R=82345678 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000001 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000001 R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000002 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000002 R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000003 R=82345671 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000003 R=82345671 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000004 R=82345669 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000004 R=82345669 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000005 R=82345659 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000005 R=82345659 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000006 R=82345639 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000006 R=82345639 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000007 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000007 R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000008 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000008 R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000009 R=82345479 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000009 R=82345479 CCIN=0000 CC=0001
+btrl       A=82345679 B=0000000a R=82345279 CCIN=0000 CC=0001
+btrw       A=82345679 B=0000000a R=82345279 CCIN=0000 CC=0001
+btrl       A=82345679 B=0000000b R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=0000000b R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=0000000c R=82344679 CCIN=0000 CC=0001
+btrw       A=82345679 B=0000000c R=82344679 CCIN=0000 CC=0001
+btrl       A=82345679 B=0000000d R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=0000000d R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=0000000e R=82341679 CCIN=0000 CC=0001
+btrw       A=82345679 B=0000000e R=82341679 CCIN=0000 CC=0001
+btrl       A=82345679 B=0000000f R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=0000000f R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000010 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000010 R=82345678 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000011 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000011 R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000012 R=82305679 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000012 R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000013 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000013 R=82345671 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000014 R=82245679 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000014 R=82345669 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000015 R=82145679 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000015 R=82345659 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000016 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000016 R=82345639 CCIN=0000 CC=0001
+btrl       A=82345679 B=00000017 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000017 R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000018 R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=00000018 R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=00000019 R=80345679 CCIN=0000 CC=0001
+btrw       A=82345679 B=00000019 R=82345479 CCIN=0000 CC=0001
+btrl       A=82345679 B=0000001a R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=0000001a R=82345279 CCIN=0000 CC=0001
+btrl       A=82345679 B=0000001b R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=0000001b R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=0000001c R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=0000001c R=82344679 CCIN=0000 CC=0001
+btrl       A=82345679 B=0000001d R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=0000001d R=82345679 CCIN=0000 CC=0000
+btrl       A=82345679 B=0000001e R=82345679 CCIN=0000 CC=0000
+btrw       A=82345679 B=0000001e R=82341679 CCIN=0000 CC=0001
+btrl       A=82345679 B=0000001f R=02345679 CCIN=0000 CC=0001
+btrw       A=82345679 B=0000001f R=82345679 CCIN=0000 CC=0000
diff --git a/test/arch/x86/qemu/expected/test_bts.exp b/test/arch/x86/qemu/expected/test_bts.exp
new file mode 100644
index 00000000..9fed7f11
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_bts.exp
@@ -0,0 +1,128 @@
+btsl       A=12345678 B=00000000 R=12345679 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000000 R=12345679 CCIN=0000 CC=0000
+btsl       A=12345678 B=00000001 R=1234567a CCIN=0000 CC=0000
+btsw       A=12345678 B=00000001 R=1234567a CCIN=0000 CC=0000
+btsl       A=12345678 B=00000002 R=1234567c CCIN=0000 CC=0000
+btsw       A=12345678 B=00000002 R=1234567c CCIN=0000 CC=0000
+btsl       A=12345678 B=00000003 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000003 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=00000004 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000004 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=00000005 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000005 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=00000006 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000006 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=00000007 R=123456f8 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000007 R=123456f8 CCIN=0000 CC=0000
+btsl       A=12345678 B=00000008 R=12345778 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000008 R=12345778 CCIN=0000 CC=0000
+btsl       A=12345678 B=00000009 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000009 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=0000000a R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=0000000a R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=0000000b R=12345e78 CCIN=0000 CC=0000
+btsw       A=12345678 B=0000000b R=12345e78 CCIN=0000 CC=0000
+btsl       A=12345678 B=0000000c R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=0000000c R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=0000000d R=12347678 CCIN=0000 CC=0000
+btsw       A=12345678 B=0000000d R=12347678 CCIN=0000 CC=0000
+btsl       A=12345678 B=0000000e R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=0000000e R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=0000000f R=1234d678 CCIN=0000 CC=0000
+btsw       A=12345678 B=0000000f R=1234d678 CCIN=0000 CC=0000
+btsl       A=12345678 B=00000010 R=12355678 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000010 R=12345679 CCIN=0000 CC=0000
+btsl       A=12345678 B=00000011 R=12365678 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000011 R=1234567a CCIN=0000 CC=0000
+btsl       A=12345678 B=00000012 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000012 R=1234567c CCIN=0000 CC=0000
+btsl       A=12345678 B=00000013 R=123c5678 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000013 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=00000014 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000014 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=00000015 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000015 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=00000016 R=12745678 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000016 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=00000017 R=12b45678 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000017 R=123456f8 CCIN=0000 CC=0000
+btsl       A=12345678 B=00000018 R=13345678 CCIN=0000 CC=0000
+btsw       A=12345678 B=00000018 R=12345778 CCIN=0000 CC=0000
+btsl       A=12345678 B=00000019 R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=00000019 R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=0000001a R=16345678 CCIN=0000 CC=0000
+btsw       A=12345678 B=0000001a R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=0000001b R=1a345678 CCIN=0000 CC=0000
+btsw       A=12345678 B=0000001b R=12345e78 CCIN=0000 CC=0000
+btsl       A=12345678 B=0000001c R=12345678 CCIN=0000 CC=0001
+btsw       A=12345678 B=0000001c R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=0000001d R=32345678 CCIN=0000 CC=0000
+btsw       A=12345678 B=0000001d R=12347678 CCIN=0000 CC=0000
+btsl       A=12345678 B=0000001e R=52345678 CCIN=0000 CC=0000
+btsw       A=12345678 B=0000001e R=12345678 CCIN=0000 CC=0001
+btsl       A=12345678 B=0000001f R=92345678 CCIN=0000 CC=0000
+btsw       A=12345678 B=0000001f R=1234d678 CCIN=0000 CC=0000
+btsl       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000001 R=8234567b CCIN=0000 CC=0000
+btsw       A=82345679 B=00000001 R=8234567b CCIN=0000 CC=0000
+btsl       A=82345679 B=00000002 R=8234567d CCIN=0000 CC=0000
+btsw       A=82345679 B=00000002 R=8234567d CCIN=0000 CC=0000
+btsl       A=82345679 B=00000003 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000003 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000004 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000004 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000005 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000005 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000006 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000006 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000007 R=823456f9 CCIN=0000 CC=0000
+btsw       A=82345679 B=00000007 R=823456f9 CCIN=0000 CC=0000
+btsl       A=82345679 B=00000008 R=82345779 CCIN=0000 CC=0000
+btsw       A=82345679 B=00000008 R=82345779 CCIN=0000 CC=0000
+btsl       A=82345679 B=00000009 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000009 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=0000000a R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=0000000a R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=0000000b R=82345e79 CCIN=0000 CC=0000
+btsw       A=82345679 B=0000000b R=82345e79 CCIN=0000 CC=0000
+btsl       A=82345679 B=0000000c R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=0000000c R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=0000000d R=82347679 CCIN=0000 CC=0000
+btsw       A=82345679 B=0000000d R=82347679 CCIN=0000 CC=0000
+btsl       A=82345679 B=0000000e R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=0000000e R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=0000000f R=8234d679 CCIN=0000 CC=0000
+btsw       A=82345679 B=0000000f R=8234d679 CCIN=0000 CC=0000
+btsl       A=82345679 B=00000010 R=82355679 CCIN=0000 CC=0000
+btsw       A=82345679 B=00000010 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000011 R=82365679 CCIN=0000 CC=0000
+btsw       A=82345679 B=00000011 R=8234567b CCIN=0000 CC=0000
+btsl       A=82345679 B=00000012 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000012 R=8234567d CCIN=0000 CC=0000
+btsl       A=82345679 B=00000013 R=823c5679 CCIN=0000 CC=0000
+btsw       A=82345679 B=00000013 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000014 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000014 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000015 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000015 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000016 R=82745679 CCIN=0000 CC=0000
+btsw       A=82345679 B=00000016 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=00000017 R=82b45679 CCIN=0000 CC=0000
+btsw       A=82345679 B=00000017 R=823456f9 CCIN=0000 CC=0000
+btsl       A=82345679 B=00000018 R=83345679 CCIN=0000 CC=0000
+btsw       A=82345679 B=00000018 R=82345779 CCIN=0000 CC=0000
+btsl       A=82345679 B=00000019 R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=00000019 R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=0000001a R=86345679 CCIN=0000 CC=0000
+btsw       A=82345679 B=0000001a R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=0000001b R=8a345679 CCIN=0000 CC=0000
+btsw       A=82345679 B=0000001b R=82345e79 CCIN=0000 CC=0000
+btsl       A=82345679 B=0000001c R=92345679 CCIN=0000 CC=0000
+btsw       A=82345679 B=0000001c R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=0000001d R=a2345679 CCIN=0000 CC=0000
+btsw       A=82345679 B=0000001d R=82347679 CCIN=0000 CC=0000
+btsl       A=82345679 B=0000001e R=c2345679 CCIN=0000 CC=0000
+btsw       A=82345679 B=0000001e R=82345679 CCIN=0000 CC=0001
+btsl       A=82345679 B=0000001f R=82345679 CCIN=0000 CC=0001
+btsw       A=82345679 B=0000001f R=8234d679 CCIN=0000 CC=0000
diff --git a/test/arch/x86/qemu/expected/test_cmp.exp b/test/arch/x86/qemu/expected/test_cmp.exp
new file mode 100644
index 00000000..499aa815
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_cmp.exp
@@ -0,0 +1,75 @@
+cmpl       A=12345678 B=0812fada R=12345678 CCIN=0000 CC=0010
+cmpw       A=12345678 B=0812fada R=12345678 CCIN=0000 CC=0011
+cmpb       A=12345678 B=0812fada R=12345678 CCIN=0000 CC=0891
+cmpl       A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0044
+cmpw       A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0044
+cmpb       A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0044
+cmpl       A=00012341 B=fffedcbf R=00012341 CCIN=0000 CC=0015
+cmpw       A=00012341 B=fffedcbf R=00012341 CCIN=0000 CC=0015
+cmpb       A=00012341 B=fffedcbf R=00012341 CCIN=0000 CC=0895
+cmpl       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+cmpw       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+cmpb       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+cmpl       A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0044
+cmpw       A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0044
+cmpb       A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0044
+cmpl       A=ffffffff B=00000001 R=ffffffff CCIN=0000 CC=0080
+cmpw       A=ffffffff B=00000001 R=ffffffff CCIN=0000 CC=0080
+cmpb       A=ffffffff B=00000001 R=ffffffff CCIN=0000 CC=0080
+cmpl       A=ffffffff B=00000002 R=ffffffff CCIN=0000 CC=0080
+cmpw       A=ffffffff B=00000002 R=ffffffff CCIN=0000 CC=0080
+cmpb       A=ffffffff B=00000002 R=ffffffff CCIN=0000 CC=0080
+cmpl       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0004
+cmpw       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+cmpb       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+cmpl       A=7fffffff B=00000001 R=7fffffff CCIN=0000 CC=0000
+cmpw       A=7fffffff B=00000001 R=7fffffff CCIN=0000 CC=0080
+cmpb       A=7fffffff B=00000001 R=7fffffff CCIN=0000 CC=0080
+cmpl       A=7fffffff B=ffffffff R=7fffffff CCIN=0000 CC=0885
+cmpw       A=7fffffff B=ffffffff R=7fffffff CCIN=0000 CC=0044
+cmpb       A=7fffffff B=ffffffff R=7fffffff CCIN=0000 CC=0044
+cmpl       A=80000000 B=ffffffff R=80000000 CCIN=0000 CC=0091
+cmpw       A=80000000 B=ffffffff R=80000000 CCIN=0000 CC=0011
+cmpb       A=80000000 B=ffffffff R=80000000 CCIN=0000 CC=0011
+cmpl       A=80000000 B=00000001 R=80000000 CCIN=0000 CC=0814
+cmpw       A=80000000 B=00000001 R=80000000 CCIN=0000 CC=0095
+cmpb       A=80000000 B=00000001 R=80000000 CCIN=0000 CC=0095
+cmpl       A=80000000 B=fffffffe R=80000000 CCIN=0000 CC=0091
+cmpw       A=80000000 B=fffffffe R=80000000 CCIN=0000 CC=0011
+cmpb       A=80000000 B=fffffffe R=80000000 CCIN=0000 CC=0011
+cmpl       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+cmpw       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+cmpb       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0084
+cmpl       A=12347fff B=00000001 R=12347fff CCIN=0000 CC=0000
+cmpw       A=12347fff B=00000001 R=12347fff CCIN=0000 CC=0000
+cmpb       A=12347fff B=00000001 R=12347fff CCIN=0000 CC=0080
+cmpl       A=12347fff B=ffffffff R=12347fff CCIN=0000 CC=0005
+cmpw       A=12347fff B=ffffffff R=12347fff CCIN=0000 CC=0885
+cmpb       A=12347fff B=ffffffff R=12347fff CCIN=0000 CC=0044
+cmpl       A=12348000 B=ffffffff R=12348000 CCIN=0000 CC=0011
+cmpw       A=12348000 B=ffffffff R=12348000 CCIN=0000 CC=0091
+cmpb       A=12348000 B=ffffffff R=12348000 CCIN=0000 CC=0011
+cmpl       A=12348000 B=00000001 R=12348000 CCIN=0000 CC=0014
+cmpw       A=12348000 B=00000001 R=12348000 CCIN=0000 CC=0814
+cmpb       A=12348000 B=00000001 R=12348000 CCIN=0000 CC=0095
+cmpl       A=12348000 B=fffffffe R=12348000 CCIN=0000 CC=0011
+cmpw       A=12348000 B=fffffffe R=12348000 CCIN=0000 CC=0091
+cmpb       A=12348000 B=fffffffe R=12348000 CCIN=0000 CC=0011
+cmpl       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+cmpw       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+cmpb       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+cmpl       A=12347f7f B=00000001 R=12347f7f CCIN=0000 CC=0004
+cmpw       A=12347f7f B=00000001 R=12347f7f CCIN=0000 CC=0004
+cmpb       A=12347f7f B=00000001 R=12347f7f CCIN=0000 CC=0004
+cmpl       A=12347f7f B=ffffffff R=12347f7f CCIN=0000 CC=0001
+cmpw       A=12347f7f B=ffffffff R=12347f7f CCIN=0000 CC=0001
+cmpb       A=12347f7f B=ffffffff R=12347f7f CCIN=0000 CC=0881
+cmpl       A=12348080 B=ffffffff R=12348080 CCIN=0000 CC=0015
+cmpw       A=12348080 B=ffffffff R=12348080 CCIN=0000 CC=0095
+cmpb       A=12348080 B=ffffffff R=12348080 CCIN=0000 CC=0095
+cmpl       A=12348080 B=00000001 R=12348080 CCIN=0000 CC=0010
+cmpw       A=12348080 B=00000001 R=12348080 CCIN=0000 CC=0090
+cmpb       A=12348080 B=00000001 R=12348080 CCIN=0000 CC=0810
+cmpl       A=12348080 B=fffffffe R=12348080 CCIN=0000 CC=0015
+cmpw       A=12348080 B=fffffffe R=12348080 CCIN=0000 CC=0095
+cmpb       A=12348080 B=fffffffe R=12348080 CCIN=0000 CC=0095
diff --git a/test/arch/x86/qemu/expected/test_code16.exp b/test/arch/x86/qemu/expected/test_code16.exp
new file mode 100644
index 00000000..ef74e20d
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_code16.exp
@@ -0,0 +1,3 @@
+func1() = 0x00000001
+func2() = 0x00005678 spdec=2
+func3() = 0x00000025
diff --git a/test/arch/x86/qemu/expected/test_conv.exp b/test/arch/x86/qemu/expected/test_conv.exp
new file mode 100644
index 00000000..1d2fac2f
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_conv.exp
@@ -0,0 +1,5 @@
+cbw        A=8234a6f8 R=8234fff8
+cwde       A=8234a6f8 R=ffffa6f8
+cwd        A=8234a6f8 R=8234a6f8:8345ffff
+cdq        A=8234a6f8 R=8234a6f8:ffffffff
+bswapl    : A=12345678 R=78563412
diff --git a/test/arch/x86/qemu/expected/test_dec.exp b/test/arch/x86/qemu/expected/test_dec.exp
new file mode 100644
index 00000000..c3140e73
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_dec.exp
@@ -0,0 +1,150 @@
+decl       A=12345678 R=12345677 CCIN=0000 CC=0004
+decw       A=12345678 R=12345677 CCIN=0000 CC=0004
+decb       A=12345678 R=12345677 CCIN=0000 CC=0004
+decl       A=12345678 R=12345677 CCIN=0001 CC=0005
+decw       A=12345678 R=12345677 CCIN=0001 CC=0005
+decb       A=12345678 R=12345677 CCIN=0001 CC=0005
+decl       A=00012341 R=00012340 CCIN=0000 CC=0000
+decw       A=00012341 R=00012340 CCIN=0000 CC=0000
+decb       A=00012341 R=00012340 CCIN=0000 CC=0000
+decl       A=00012341 R=00012340 CCIN=0001 CC=0001
+decw       A=00012341 R=00012340 CCIN=0001 CC=0001
+decb       A=00012341 R=00012340 CCIN=0001 CC=0001
+decl       A=00012341 R=00012340 CCIN=0000 CC=0000
+decw       A=00012341 R=00012340 CCIN=0000 CC=0000
+decb       A=00012341 R=00012340 CCIN=0000 CC=0000
+decl       A=00012341 R=00012340 CCIN=0001 CC=0001
+decw       A=00012341 R=00012340 CCIN=0001 CC=0001
+decb       A=00012341 R=00012340 CCIN=0001 CC=0001
+decl       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decw       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decb       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decl       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decw       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decb       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decl       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decw       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decb       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decl       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decw       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decb       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decl       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decw       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decb       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decl       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decw       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decb       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decl       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decw       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decb       A=ffffffff R=fffffffe CCIN=0000 CC=0080
+decl       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decw       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decb       A=ffffffff R=fffffffe CCIN=0001 CC=0081
+decl       A=7fffffff R=7ffffffe CCIN=0000 CC=0000
+decw       A=7fffffff R=7ffffffe CCIN=0000 CC=0080
+decb       A=7fffffff R=7ffffffe CCIN=0000 CC=0080
+decl       A=7fffffff R=7ffffffe CCIN=0001 CC=0001
+decw       A=7fffffff R=7ffffffe CCIN=0001 CC=0081
+decb       A=7fffffff R=7ffffffe CCIN=0001 CC=0081
+decl       A=7fffffff R=7ffffffe CCIN=0000 CC=0000
+decw       A=7fffffff R=7ffffffe CCIN=0000 CC=0080
+decb       A=7fffffff R=7ffffffe CCIN=0000 CC=0080
+decl       A=7fffffff R=7ffffffe CCIN=0001 CC=0001
+decw       A=7fffffff R=7ffffffe CCIN=0001 CC=0081
+decb       A=7fffffff R=7ffffffe CCIN=0001 CC=0081
+decl       A=7fffffff R=7ffffffe CCIN=0000 CC=0000
+decw       A=7fffffff R=7ffffffe CCIN=0000 CC=0080
+decb       A=7fffffff R=7ffffffe CCIN=0000 CC=0080
+decl       A=7fffffff R=7ffffffe CCIN=0001 CC=0001
+decw       A=7fffffff R=7ffffffe CCIN=0001 CC=0081
+decb       A=7fffffff R=7ffffffe CCIN=0001 CC=0081
+decl       A=80000000 R=7fffffff CCIN=0000 CC=0814
+decw       A=80000000 R=8000ffff CCIN=0000 CC=0094
+decb       A=80000000 R=800000ff CCIN=0000 CC=0094
+decl       A=80000000 R=7fffffff CCIN=0001 CC=0815
+decw       A=80000000 R=8000ffff CCIN=0001 CC=0095
+decb       A=80000000 R=800000ff CCIN=0001 CC=0095
+decl       A=80000000 R=7fffffff CCIN=0000 CC=0814
+decw       A=80000000 R=8000ffff CCIN=0000 CC=0094
+decb       A=80000000 R=800000ff CCIN=0000 CC=0094
+decl       A=80000000 R=7fffffff CCIN=0001 CC=0815
+decw       A=80000000 R=8000ffff CCIN=0001 CC=0095
+decb       A=80000000 R=800000ff CCIN=0001 CC=0095
+decl       A=80000000 R=7fffffff CCIN=0000 CC=0814
+decw       A=80000000 R=8000ffff CCIN=0000 CC=0094
+decb       A=80000000 R=800000ff CCIN=0000 CC=0094
+decl       A=80000000 R=7fffffff CCIN=0001 CC=0815
+decw       A=80000000 R=8000ffff CCIN=0001 CC=0095
+decb       A=80000000 R=800000ff CCIN=0001 CC=0095
+decl       A=12347fff R=12347ffe CCIN=0000 CC=0000
+decw       A=12347fff R=12347ffe CCIN=0000 CC=0000
+decb       A=12347fff R=12347ffe CCIN=0000 CC=0080
+decl       A=12347fff R=12347ffe CCIN=0001 CC=0001
+decw       A=12347fff R=12347ffe CCIN=0001 CC=0001
+decb       A=12347fff R=12347ffe CCIN=0001 CC=0081
+decl       A=12347fff R=12347ffe CCIN=0000 CC=0000
+decw       A=12347fff R=12347ffe CCIN=0000 CC=0000
+decb       A=12347fff R=12347ffe CCIN=0000 CC=0080
+decl       A=12347fff R=12347ffe CCIN=0001 CC=0001
+decw       A=12347fff R=12347ffe CCIN=0001 CC=0001
+decb       A=12347fff R=12347ffe CCIN=0001 CC=0081
+decl       A=12347fff R=12347ffe CCIN=0000 CC=0000
+decw       A=12347fff R=12347ffe CCIN=0000 CC=0000
+decb       A=12347fff R=12347ffe CCIN=0000 CC=0080
+decl       A=12347fff R=12347ffe CCIN=0001 CC=0001
+decw       A=12347fff R=12347ffe CCIN=0001 CC=0001
+decb       A=12347fff R=12347ffe CCIN=0001 CC=0081
+decl       A=12348000 R=12347fff CCIN=0000 CC=0014
+decw       A=12348000 R=12347fff CCIN=0000 CC=0814
+decb       A=12348000 R=123480ff CCIN=0000 CC=0094
+decl       A=12348000 R=12347fff CCIN=0001 CC=0015
+decw       A=12348000 R=12347fff CCIN=0001 CC=0815
+decb       A=12348000 R=123480ff CCIN=0001 CC=0095
+decl       A=12348000 R=12347fff CCIN=0000 CC=0014
+decw       A=12348000 R=12347fff CCIN=0000 CC=0814
+decb       A=12348000 R=123480ff CCIN=0000 CC=0094
+decl       A=12348000 R=12347fff CCIN=0001 CC=0015
+decw       A=12348000 R=12347fff CCIN=0001 CC=0815
+decb       A=12348000 R=123480ff CCIN=0001 CC=0095
+decl       A=12348000 R=12347fff CCIN=0000 CC=0014
+decw       A=12348000 R=12347fff CCIN=0000 CC=0814
+decb       A=12348000 R=123480ff CCIN=0000 CC=0094
+decl       A=12348000 R=12347fff CCIN=0001 CC=0015
+decw       A=12348000 R=12347fff CCIN=0001 CC=0815
+decb       A=12348000 R=123480ff CCIN=0001 CC=0095
+decl       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decw       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decb       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decl       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decw       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decb       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decl       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decw       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decb       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decl       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decw       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decb       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decl       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decw       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decb       A=12347f7f R=12347f7e CCIN=0000 CC=0004
+decl       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decw       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decb       A=12347f7f R=12347f7e CCIN=0001 CC=0005
+decl       A=12348080 R=1234807f CCIN=0000 CC=0010
+decw       A=12348080 R=1234807f CCIN=0000 CC=0090
+decb       A=12348080 R=1234807f CCIN=0000 CC=0810
+decl       A=12348080 R=1234807f CCIN=0001 CC=0011
+decw       A=12348080 R=1234807f CCIN=0001 CC=0091
+decb       A=12348080 R=1234807f CCIN=0001 CC=0811
+decl       A=12348080 R=1234807f CCIN=0000 CC=0010
+decw       A=12348080 R=1234807f CCIN=0000 CC=0090
+decb       A=12348080 R=1234807f CCIN=0000 CC=0810
+decl       A=12348080 R=1234807f CCIN=0001 CC=0011
+decw       A=12348080 R=1234807f CCIN=0001 CC=0091
+decb       A=12348080 R=1234807f CCIN=0001 CC=0811
+decl       A=12348080 R=1234807f CCIN=0000 CC=0010
+decw       A=12348080 R=1234807f CCIN=0000 CC=0090
+decb       A=12348080 R=1234807f CCIN=0000 CC=0810
+decl       A=12348080 R=1234807f CCIN=0001 CC=0011
+decw       A=12348080 R=1234807f CCIN=0001 CC=0091
+decb       A=12348080 R=1234807f CCIN=0001 CC=0811
diff --git a/test/arch/x86/qemu/expected/test_exceptions.exp b/test/arch/x86/qemu/expected/test_exceptions.exp
new file mode 100644
index 00000000..bcd54f70
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_exceptions.exp
@@ -0,0 +1,67 @@
+DIVZ exception:
+si_signo=8 si_errno=0 si_code=1 si_addr=0x08051781
+trapno=00000000 err=00000000 EIP=08051781
+BOUND exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=00000005 err=00000000 EIP=080517be
+segment exceptions:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=000091a0 EIP=080517e8
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=00000000 EIP=08051802
+si_signo=7 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000b err=0000000c EIP=08051850
+PF exception:
+si_signo=11 si_errno=0 si_code=1 si_addr=0x00001234
+trapno=0000000e err=00000006 EIP=0805187b
+PF exception:
+si_signo=11 si_errno=0 si_code=1 si_addr=0x00001234
+trapno=0000000e err=00000004 EIP=080518aa
+UD2 exception:
+si_signo=4 si_errno=0 si_code=2 si_addr=0x080518d6
+trapno=00000006 err=00000000 EIP=080518d6
+lock nop exception:
+si_signo=4 si_errno=0 si_code=2 si_addr=0x080518f8
+trapno=00000006 err=00000000 EIP=080518f8
+INT exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=000007ea EIP=0805191a
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=0000000a EIP=08051930
+si_signo=5 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=00000003 err=00000000 EIP=08051948
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=00000004 err=00000000 EIP=0805195e
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=0000002a EIP=08051972
+INT3 exception:
+si_signo=5 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=00000003 err=00000000 EIP=08051995
+CLI exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=00000000 EIP=080519b5
+STI exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=00000000 EIP=080519d6
+INTO exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=00000004 err=00000000 EIP=08051a00
+OUTB exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=00000000 EIP=08051a25
+INB exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=00000000 EIP=08051a4b
+REP OUTSB exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=00000000 EIP=08051a7f
+REP INSB exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=00000000 EIP=08051ab0
+HLT exception:
+si_signo=11 si_errno=0 si_code=128 si_addr=0x00000000
+trapno=0000000d err=00000000 EIP=08051ad2
+single step exception:
+si_signo=5 si_errno=0 si_code=2 si_addr=0x08051b41
+trapno=00000001 err=00000000 EIP=08051b41
+val=0xabcd
diff --git a/test/arch/x86/qemu/expected/test_floats.exp b/test/arch/x86/qemu/expected/test_floats.exp
new file mode 100644
index 00000000..6441730b
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_floats.exp
@@ -0,0 +1,307 @@
+a=2.000000 b=3.000000 a+b=5.000000
+a=2.000000 b=3.000000 a-b=-1.000000
+a=2.000000 b=3.000000 a*b=6.000000
+a=2.000000 b=3.000000 a/b=0.666667
+a=2.000000 b=3.000000 fmod(a, b)=2.000000
+a=2.000000 sqrt(a)=1.414214
+a=2.000000 sin(a)=0.909297
+a=2.000000 cos(a)=-0.416147
+a=2.000000 tan(a)=-2.185040
+a=2.000000 log(a)=0.693147
+a=2.000000 exp(a)=7.389056
+a=2.000000 b=3.000000 atan2(a, b)=0.588003
+a=2.000000 asin(sin(a))=1.141593
+a=2.000000 acos(cos(a))=2.000000
+a=2.000000 atan(tan(a))=-1.141593
+a=1.400000 b=-5.000000 a+b=-3.600000
+a=1.400000 b=-5.000000 a-b=6.400000
+a=1.400000 b=-5.000000 a*b=-7.000000
+a=1.400000 b=-5.000000 a/b=-0.280000
+a=1.400000 b=-5.000000 fmod(a, b)=1.400000
+a=1.400000 sqrt(a)=1.183216
+a=1.400000 sin(a)=0.985450
+a=1.400000 cos(a)=0.169967
+a=1.400000 tan(a)=5.797884
+a=1.400000 log(a)=0.336472
+a=1.400000 exp(a)=4.055200
+a=1.400000 b=-5.000000 atan2(a, b)=2.868584
+a=1.400000 asin(sin(a))=1.400000
+a=1.400000 acos(cos(a))=1.400000
+a=1.400000 atan(tan(a))=1.400000
+fcom(2.000000 -1.000000)=0000
+fucom(2.000000 -1.000000)=0000
+fcomi(2.000000 -1.000000)=0000 00
+fucomi(2.000000 -1.000000)=0000 00
+fxam(2.000000)=0400
+fcom(2.000000 2.000000)=4000
+fucom(2.000000 2.000000)=4000
+fcomi(2.000000 2.000000)=0000 40
+fucomi(2.000000 2.000000)=0000 40
+fxam(2.000000)=0400
+fcom(2.000000 3.000000)=0100
+fucom(2.000000 3.000000)=0100
+fcomi(2.000000 3.000000)=0000 01
+fucomi(2.000000 3.000000)=0000 01
+fxam(2.000000)=0400
+fcom(2.000000 -nan)=4500
+fucom(2.000000 -nan)=4500
+fcomi(2.000000 -nan)=0000 45
+fucomi(2.000000 -nan)=0000 45
+fxam(2.000000)=0400
+fcom(-nan -1.000000)=4500
+fucom(-nan -1.000000)=4500
+fcomi(-nan -1.000000)=0000 45
+fucomi(-nan -1.000000)=0000 45
+fxam(-nan)=0300
+fcom(-inf -1.000000)=0100
+fucom(-inf -1.000000)=0100
+fcomi(-inf -1.000000)=0000 01
+fucomi(-inf -1.000000)=0000 01
+fxam(-inf)=0700
+fcom(inf -1.000000)=0000
+fucom(inf -1.000000)=0000
+fcomi(inf -1.000000)=0000 00
+fucomi(inf -1.000000)=0000 00
+fxam(inf)=0500
+(float)0.500000 = 0.500000
+(long double)0.500000 = 0.500000
+a=3fe0000000000000
+la=8000000000000000 3ffe
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = 0.000000
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = 0.000000
+(short)a = 1
+(int)a = 1
+(int64_t)a = 0000000000000001
+rint(a) = 1.000000
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = 0.000000
+(float)-0.500000 = -0.500000
+(long double)-0.500000 = -0.500000
+a=bfe0000000000000
+la=8000000000000000 bffe
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = -0.000000
+(short)a = -1
+(int)a = -1
+(int64_t)a = ffffffffffffffff
+rint(a) = -1.000000
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = -0.000000
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = -0.000000
+(float)0.142857 = 0.142857
+(long double)0.142857 = 0.142857
+a=3fc2492492492492
+la=9249249249249000 3ffc
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = 0.000000
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = 0.000000
+(short)a = 1
+(int)a = 1
+(int64_t)a = 0000000000000001
+rint(a) = 1.000000
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = 0.000000
+(float)-0.111111 = -0.111111
+(long double)-0.111111 = -0.111111
+a=bfbc71c71c71c71c
+la=e38e38e38e38e000 bffb
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = -0.000000
+(short)a = -1
+(int)a = -1
+(int64_t)a = ffffffffffffffff
+rint(a) = -1.000000
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = -0.000000
+(short)a = 0
+(int)a = 0
+(int64_t)a = 0000000000000000
+rint(a) = -0.000000
+(float)32768.000000 = 32768.000000
+(long double)32768.000000 = 32768.000000
+a=40e0000000000000
+la=8000000000000000 400e
+(short)a = -32768
+(int)a = 32768
+(int64_t)a = 0000000000008000
+rint(a) = 32768.000000
+(short)a = -32768
+(int)a = 32768
+(int64_t)a = 0000000000008000
+rint(a) = 32768.000000
+(short)a = -32768
+(int)a = 32768
+(int64_t)a = 0000000000008000
+rint(a) = 32768.000000
+(short)a = -32768
+(int)a = 32768
+(int64_t)a = 0000000000008000
+rint(a) = 32768.000000
+(float)-100000000000000000000.000000 = -100000002004087734272.000000
+(long double)-100000000000000000000.000000 = -100000000000000000000.000000
+a=c415af1d78b58c40
+la=ad78ebc5ac620000 c041
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -100000000000000000000.000000
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -100000000000000000000.000000
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -100000000000000000000.000000
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -100000000000000000000.000000
+(float)-inf = -inf
+(long double)-inf = -inf
+a=fff0000000000000
+la=8000000000000000 ffff
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -inf
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -inf
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -inf
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -inf
+(float)inf = inf
+(long double)inf = inf
+a=7ff0000000000000
+la=8000000000000000 7fff
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = inf
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = inf
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = inf
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = inf
+(float)-nan = -nan
+(long double)-nan = -nan
+a=fff8000000000000
+la=c000000000000000 ffff
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -nan
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -nan
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -nan
+(short)a = -32768
+(int)a = -2147483648
+(int64_t)a = 8000000000000000
+rint(a) = -nan
+fld1= 1.000000
+fldl2t= 3.321928
+fldl2e= 1.442695
+fldpi= 3.141593
+fldlg2= 0.301030
+fldln2= 0.693147
+fldz= 0.000000
+a=1234567890123456.000000 bcd=00001234567890123456 b=1234567890123456.000000
+a=-123451234567890.000000 bcd=80000123451234567890 b=-123451234567890.000000
+res[0]=5.000000
+res[1]=4.000000
+res[2]=3.000000
+res[3]=2.000000
+res[4]=1.000000
+fpuc=037f fpus=1d00 fptag=003f
+res[0]=5.000000
+res[1]=4.000000
+res[2]=3.000000
+res[3]=2.000000
+res[4]=1.000000
+fpuc=037f fpus=1d00 fptag=003f
+res[0]=5.000000
+res[1]=4.000000
+res[2]=3.000000
+res[3]=2.000000
+res[4]=1.000000
+fpuc=037f fpus=1d00 fptag=003f
+res[0]=5.000000
+res[1]=4.000000
+res[2]=3.000000
+res[3]=2.000000
+res[4]=1.000000
+fpuc=037f fpus=1d00 fptag=003f
+fptag=0c3f
+fcmovb eflags=0x0000-> 1.000000
+fcmove eflags=0x0000-> 1.000000
+fcmovbe eflags=0x0000-> 1.000000
+fcmovnb eflags=0x0000-> 2.000000
+fcmovne eflags=0x0000-> 2.000000
+fcmovnbe eflags=0x0000-> 2.000000
+fcmovb eflags=0x0001-> 2.000000
+fcmove eflags=0x0001-> 1.000000
+fcmovbe eflags=0x0001-> 2.000000
+fcmovnb eflags=0x0001-> 1.000000
+fcmovne eflags=0x0001-> 2.000000
+fcmovnbe eflags=0x0001-> 1.000000
+fcmovb eflags=0x0040-> 1.000000
+fcmove eflags=0x0040-> 2.000000
+fcmovbe eflags=0x0040-> 2.000000
+fcmovnb eflags=0x0040-> 2.000000
+fcmovne eflags=0x0040-> 1.000000
+fcmovnbe eflags=0x0040-> 1.000000
+fcmovb eflags=0x0041-> 2.000000
+fcmove eflags=0x0041-> 2.000000
+fcmovbe eflags=0x0041-> 2.000000
+fcmovnb eflags=0x0041-> 1.000000
+fcmovne eflags=0x0041-> 1.000000
+fcmovnbe eflags=0x0041-> 1.000000
+fcmovu eflags=0x0000-> 1.000000
+fcmovu eflags=0x0004-> 2.000000
+fcmovnu eflags=0x0000-> 2.000000
+fcmovnu eflags=0x0004-> 1.000000
diff --git a/test/arch/x86/qemu/expected/test_inc.exp b/test/arch/x86/qemu/expected/test_inc.exp
new file mode 100644
index 00000000..b5567d7d
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_inc.exp
@@ -0,0 +1,150 @@
+incl       A=12345678 R=12345679 CCIN=0000 CC=0000
+incw       A=12345678 R=12345679 CCIN=0000 CC=0000
+incb       A=12345678 R=12345679 CCIN=0000 CC=0000
+incl       A=12345678 R=12345679 CCIN=0001 CC=0001
+incw       A=12345678 R=12345679 CCIN=0001 CC=0001
+incb       A=12345678 R=12345679 CCIN=0001 CC=0001
+incl       A=00012341 R=00012342 CCIN=0000 CC=0004
+incw       A=00012341 R=00012342 CCIN=0000 CC=0004
+incb       A=00012341 R=00012342 CCIN=0000 CC=0004
+incl       A=00012341 R=00012342 CCIN=0001 CC=0005
+incw       A=00012341 R=00012342 CCIN=0001 CC=0005
+incb       A=00012341 R=00012342 CCIN=0001 CC=0005
+incl       A=00012341 R=00012342 CCIN=0000 CC=0004
+incw       A=00012341 R=00012342 CCIN=0000 CC=0004
+incb       A=00012341 R=00012342 CCIN=0000 CC=0004
+incl       A=00012341 R=00012342 CCIN=0001 CC=0005
+incw       A=00012341 R=00012342 CCIN=0001 CC=0005
+incb       A=00012341 R=00012342 CCIN=0001 CC=0005
+incl       A=ffffffff R=00000000 CCIN=0000 CC=0054
+incw       A=ffffffff R=ffff0000 CCIN=0000 CC=0054
+incb       A=ffffffff R=ffffff00 CCIN=0000 CC=0054
+incl       A=ffffffff R=00000000 CCIN=0001 CC=0055
+incw       A=ffffffff R=ffff0000 CCIN=0001 CC=0055
+incb       A=ffffffff R=ffffff00 CCIN=0001 CC=0055
+incl       A=ffffffff R=00000000 CCIN=0000 CC=0054
+incw       A=ffffffff R=ffff0000 CCIN=0000 CC=0054
+incb       A=ffffffff R=ffffff00 CCIN=0000 CC=0054
+incl       A=ffffffff R=00000000 CCIN=0001 CC=0055
+incw       A=ffffffff R=ffff0000 CCIN=0001 CC=0055
+incb       A=ffffffff R=ffffff00 CCIN=0001 CC=0055
+incl       A=ffffffff R=00000000 CCIN=0000 CC=0054
+incw       A=ffffffff R=ffff0000 CCIN=0000 CC=0054
+incb       A=ffffffff R=ffffff00 CCIN=0000 CC=0054
+incl       A=ffffffff R=00000000 CCIN=0001 CC=0055
+incw       A=ffffffff R=ffff0000 CCIN=0001 CC=0055
+incb       A=ffffffff R=ffffff00 CCIN=0001 CC=0055
+incl       A=ffffffff R=00000000 CCIN=0000 CC=0054
+incw       A=ffffffff R=ffff0000 CCIN=0000 CC=0054
+incb       A=ffffffff R=ffffff00 CCIN=0000 CC=0054
+incl       A=ffffffff R=00000000 CCIN=0001 CC=0055
+incw       A=ffffffff R=ffff0000 CCIN=0001 CC=0055
+incb       A=ffffffff R=ffffff00 CCIN=0001 CC=0055
+incl       A=7fffffff R=80000000 CCIN=0000 CC=0894
+incw       A=7fffffff R=7fff0000 CCIN=0000 CC=0054
+incb       A=7fffffff R=7fffff00 CCIN=0000 CC=0054
+incl       A=7fffffff R=80000000 CCIN=0001 CC=0895
+incw       A=7fffffff R=7fff0000 CCIN=0001 CC=0055
+incb       A=7fffffff R=7fffff00 CCIN=0001 CC=0055
+incl       A=7fffffff R=80000000 CCIN=0000 CC=0894
+incw       A=7fffffff R=7fff0000 CCIN=0000 CC=0054
+incb       A=7fffffff R=7fffff00 CCIN=0000 CC=0054
+incl       A=7fffffff R=80000000 CCIN=0001 CC=0895
+incw       A=7fffffff R=7fff0000 CCIN=0001 CC=0055
+incb       A=7fffffff R=7fffff00 CCIN=0001 CC=0055
+incl       A=7fffffff R=80000000 CCIN=0000 CC=0894
+incw       A=7fffffff R=7fff0000 CCIN=0000 CC=0054
+incb       A=7fffffff R=7fffff00 CCIN=0000 CC=0054
+incl       A=7fffffff R=80000000 CCIN=0001 CC=0895
+incw       A=7fffffff R=7fff0000 CCIN=0001 CC=0055
+incb       A=7fffffff R=7fffff00 CCIN=0001 CC=0055
+incl       A=80000000 R=80000001 CCIN=0000 CC=0080
+incw       A=80000000 R=80000001 CCIN=0000 CC=0000
+incb       A=80000000 R=80000001 CCIN=0000 CC=0000
+incl       A=80000000 R=80000001 CCIN=0001 CC=0081
+incw       A=80000000 R=80000001 CCIN=0001 CC=0001
+incb       A=80000000 R=80000001 CCIN=0001 CC=0001
+incl       A=80000000 R=80000001 CCIN=0000 CC=0080
+incw       A=80000000 R=80000001 CCIN=0000 CC=0000
+incb       A=80000000 R=80000001 CCIN=0000 CC=0000
+incl       A=80000000 R=80000001 CCIN=0001 CC=0081
+incw       A=80000000 R=80000001 CCIN=0001 CC=0001
+incb       A=80000000 R=80000001 CCIN=0001 CC=0001
+incl       A=80000000 R=80000001 CCIN=0000 CC=0080
+incw       A=80000000 R=80000001 CCIN=0000 CC=0000
+incb       A=80000000 R=80000001 CCIN=0000 CC=0000
+incl       A=80000000 R=80000001 CCIN=0001 CC=0081
+incw       A=80000000 R=80000001 CCIN=0001 CC=0001
+incb       A=80000000 R=80000001 CCIN=0001 CC=0001
+incl       A=12347fff R=12348000 CCIN=0000 CC=0014
+incw       A=12347fff R=12348000 CCIN=0000 CC=0894
+incb       A=12347fff R=12347f00 CCIN=0000 CC=0054
+incl       A=12347fff R=12348000 CCIN=0001 CC=0015
+incw       A=12347fff R=12348000 CCIN=0001 CC=0895
+incb       A=12347fff R=12347f00 CCIN=0001 CC=0055
+incl       A=12347fff R=12348000 CCIN=0000 CC=0014
+incw       A=12347fff R=12348000 CCIN=0000 CC=0894
+incb       A=12347fff R=12347f00 CCIN=0000 CC=0054
+incl       A=12347fff R=12348000 CCIN=0001 CC=0015
+incw       A=12347fff R=12348000 CCIN=0001 CC=0895
+incb       A=12347fff R=12347f00 CCIN=0001 CC=0055
+incl       A=12347fff R=12348000 CCIN=0000 CC=0014
+incw       A=12347fff R=12348000 CCIN=0000 CC=0894
+incb       A=12347fff R=12347f00 CCIN=0000 CC=0054
+incl       A=12347fff R=12348000 CCIN=0001 CC=0015
+incw       A=12347fff R=12348000 CCIN=0001 CC=0895
+incb       A=12347fff R=12347f00 CCIN=0001 CC=0055
+incl       A=12348000 R=12348001 CCIN=0000 CC=0000
+incw       A=12348000 R=12348001 CCIN=0000 CC=0080
+incb       A=12348000 R=12348001 CCIN=0000 CC=0000
+incl       A=12348000 R=12348001 CCIN=0001 CC=0001
+incw       A=12348000 R=12348001 CCIN=0001 CC=0081
+incb       A=12348000 R=12348001 CCIN=0001 CC=0001
+incl       A=12348000 R=12348001 CCIN=0000 CC=0000
+incw       A=12348000 R=12348001 CCIN=0000 CC=0080
+incb       A=12348000 R=12348001 CCIN=0000 CC=0000
+incl       A=12348000 R=12348001 CCIN=0001 CC=0001
+incw       A=12348000 R=12348001 CCIN=0001 CC=0081
+incb       A=12348000 R=12348001 CCIN=0001 CC=0001
+incl       A=12348000 R=12348001 CCIN=0000 CC=0000
+incw       A=12348000 R=12348001 CCIN=0000 CC=0080
+incb       A=12348000 R=12348001 CCIN=0000 CC=0000
+incl       A=12348000 R=12348001 CCIN=0001 CC=0001
+incw       A=12348000 R=12348001 CCIN=0001 CC=0081
+incb       A=12348000 R=12348001 CCIN=0001 CC=0001
+incl       A=12347f7f R=12347f80 CCIN=0000 CC=0010
+incw       A=12347f7f R=12347f80 CCIN=0000 CC=0010
+incb       A=12347f7f R=12347f80 CCIN=0000 CC=0890
+incl       A=12347f7f R=12347f80 CCIN=0001 CC=0011
+incw       A=12347f7f R=12347f80 CCIN=0001 CC=0011
+incb       A=12347f7f R=12347f80 CCIN=0001 CC=0891
+incl       A=12347f7f R=12347f80 CCIN=0000 CC=0010
+incw       A=12347f7f R=12347f80 CCIN=0000 CC=0010
+incb       A=12347f7f R=12347f80 CCIN=0000 CC=0890
+incl       A=12347f7f R=12347f80 CCIN=0001 CC=0011
+incw       A=12347f7f R=12347f80 CCIN=0001 CC=0011
+incb       A=12347f7f R=12347f80 CCIN=0001 CC=0891
+incl       A=12347f7f R=12347f80 CCIN=0000 CC=0010
+incw       A=12347f7f R=12347f80 CCIN=0000 CC=0010
+incb       A=12347f7f R=12347f80 CCIN=0000 CC=0890
+incl       A=12347f7f R=12347f80 CCIN=0001 CC=0011
+incw       A=12347f7f R=12347f80 CCIN=0001 CC=0011
+incb       A=12347f7f R=12347f80 CCIN=0001 CC=0891
+incl       A=12348080 R=12348081 CCIN=0000 CC=0004
+incw       A=12348080 R=12348081 CCIN=0000 CC=0084
+incb       A=12348080 R=12348081 CCIN=0000 CC=0084
+incl       A=12348080 R=12348081 CCIN=0001 CC=0005
+incw       A=12348080 R=12348081 CCIN=0001 CC=0085
+incb       A=12348080 R=12348081 CCIN=0001 CC=0085
+incl       A=12348080 R=12348081 CCIN=0000 CC=0004
+incw       A=12348080 R=12348081 CCIN=0000 CC=0084
+incb       A=12348080 R=12348081 CCIN=0000 CC=0084
+incl       A=12348080 R=12348081 CCIN=0001 CC=0005
+incw       A=12348080 R=12348081 CCIN=0001 CC=0085
+incb       A=12348080 R=12348081 CCIN=0001 CC=0085
+incl       A=12348080 R=12348081 CCIN=0000 CC=0004
+incw       A=12348080 R=12348081 CCIN=0000 CC=0084
+incb       A=12348080 R=12348081 CCIN=0000 CC=0084
+incl       A=12348080 R=12348081 CCIN=0001 CC=0005
+incw       A=12348080 R=12348081 CCIN=0001 CC=0085
+incb       A=12348080 R=12348081 CCIN=0001 CC=0085
diff --git a/test/arch/x86/qemu/expected/test_jcc.exp b/test/arch/x86/qemu/expected/test_jcc.exp
new file mode 100644
index 00000000..48fb3c8d
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_jcc.exp
@@ -0,0 +1,168 @@
+jne        0
+setne      0
+cmovnel    R=12345678
+cmovnew    R=12345678
+jne        1
+setne      1
+cmovnel    R=00000001
+cmovnew    R=00000001
+je         1
+sete       1
+cmovel     R=00000001
+cmovew     R=00000001
+je         0
+sete       0
+cmovel     R=12345678
+cmovew     R=12345678
+jl         0
+setl       0
+cmovll     R=12345678
+cmovlw     R=12345678
+jl         0
+setl       0
+cmovll     R=12345678
+cmovlw     R=12345678
+jl         0
+setl       0
+cmovll     R=12345678
+cmovlw     R=12345678
+jle        1
+setle      1
+cmovlel    R=00000001
+cmovlew    R=00000001
+jle        0
+setle      0
+cmovlel    R=12345678
+cmovlew    R=12345678
+jle        0
+setle      0
+cmovlel    R=12345678
+cmovlew    R=12345678
+jge        1
+setge      1
+cmovgel    R=00000001
+cmovgew    R=00000001
+jge        1
+setge      1
+cmovgel    R=00000001
+cmovgew    R=00000001
+jge        0
+setge      0
+cmovgel    R=12345678
+cmovgew    R=12345678
+jg         0
+setg       0
+cmovgl     R=12345678
+cmovgw     R=12345678
+jg         1
+setg       1
+cmovgl     R=00000001
+cmovgw     R=00000001
+jg         1
+setg       1
+cmovgl     R=00000001
+cmovgw     R=00000001
+jb         0
+setb       0
+cmovbl     R=12345678
+cmovbw     R=12345678
+jb         0
+setb       0
+cmovbl     R=12345678
+cmovbw     R=12345678
+jb         1
+setb       1
+cmovbl     R=00000001
+cmovbw     R=00000001
+jbe        1
+setbe      1
+cmovbel    R=00000001
+cmovbew    R=00000001
+jbe        0
+setbe      0
+cmovbel    R=12345678
+cmovbew    R=12345678
+jbe        1
+setbe      1
+cmovbel    R=00000001
+cmovbew    R=00000001
+jae        1
+setae      1
+cmovael    R=00000001
+cmovaew    R=00000001
+jae        1
+setae      1
+cmovael    R=00000001
+cmovaew    R=00000001
+jae        0
+setae      0
+cmovael    R=12345678
+cmovaew    R=12345678
+ja         0
+seta       0
+cmoval     R=12345678
+cmovaw     R=12345678
+ja         1
+seta       1
+cmoval     R=00000001
+cmovaw     R=00000001
+ja         0
+seta       0
+cmoval     R=12345678
+cmovaw     R=12345678
+jp         1
+setp       1
+cmovpl     R=00000001
+cmovpw     R=00000001
+jp         0
+setp       0
+cmovpl     R=12345678
+cmovpw     R=12345678
+jnp        0
+setnp      0
+cmovnpl    R=12345678
+cmovnpw    R=12345678
+jnp        1
+setnp      1
+cmovnpl    R=00000001
+cmovnpw    R=00000001
+jo         0
+seto       0
+cmovol     R=12345678
+cmovow     R=12345678
+jo         1
+seto       1
+cmovol     R=00000001
+cmovow     R=00000001
+jno        1
+setno      1
+cmovnol    R=00000001
+cmovnow    R=00000001
+jno        0
+setno      0
+cmovnol    R=12345678
+cmovnow    R=12345678
+js         1
+sets       1
+cmovsl     R=00000001
+cmovsw     R=00000001
+js         0
+sets       0
+cmovsl     R=12345678
+cmovsw     R=12345678
+js         0
+sets       0
+cmovsl     R=12345678
+cmovsw     R=12345678
+jns        1
+setns      0
+cmovnsl    R=12345678
+cmovnsw    R=12345678
+jns        1
+setns      1
+cmovnsl    R=00000001
+cmovnsw    R=00000001
+jns        1
+setns      1
+cmovnsl    R=00000001
+cmovnsw    R=00000001
diff --git a/test/arch/x86/qemu/expected/test_lea.exp b/test/arch/x86/qemu/expected/test_lea.exp
new file mode 100644
index 00000000..dda0830a
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_lea.exp
@@ -0,0 +1,57 @@
+lea 0x4000 = 00004000
+lea (%%eax) = 00000001
+lea (%%ebx) = 00000002
+lea (%%ecx) = 00000004
+lea (%%edx) = 00000008
+lea (%%esi) = 00000010
+lea (%%edi) = 00000020
+lea 0x40(%%eax) = 00000041
+lea 0x40(%%ebx) = 00000042
+lea 0x40(%%ecx) = 00000044
+lea 0x40(%%edx) = 00000048
+lea 0x40(%%esi) = 00000050
+lea 0x40(%%edi) = 00000060
+lea 0x4000(%%eax) = 00004001
+lea 0x4000(%%ebx) = 00004002
+lea 0x4000(%%ecx) = 00004004
+lea 0x4000(%%edx) = 00004008
+lea 0x4000(%%esi) = 00004010
+lea 0x4000(%%edi) = 00004020
+lea (%%eax, %%ecx) = 00000005
+lea (%%ebx, %%edx) = 0000000a
+lea (%%ecx, %%ecx) = 00000008
+lea (%%edx, %%ecx) = 0000000c
+lea (%%esi, %%ecx) = 00000014
+lea (%%edi, %%ecx) = 00000024
+lea 0x40(%%eax, %%ecx) = 00000045
+lea 0x4000(%%ebx, %%edx) = 0000400a
+lea (%%ecx, %%ecx, 2) = 0000000c
+lea (%%edx, %%ecx, 4) = 00000018
+lea (%%esi, %%ecx, 8) = 00000030
+lea (,%%eax, 2) = 00000002
+lea (,%%ebx, 4) = 00000008
+lea (,%%ecx, 8) = 00000020
+lea 0x40(,%%eax, 2) = 00000042
+lea 0x40(,%%ebx, 4) = 00000048
+lea 0x40(,%%ecx, 8) = 00000060
+lea -10(%%ecx, %%ecx, 2) = 00000002
+lea -10(%%edx, %%ecx, 4) = 0000000e
+lea -10(%%esi, %%ecx, 8) = 00000026
+lea 0x4000(%%ecx, %%ecx, 2) = 0000400c
+lea 0x4000(%%edx, %%ecx, 4) = 00004018
+lea 0x4000(%%esi, %%ecx, 8) = 00004030
+lea 0x4000 = 00004000
+lea (%%bx) = 00000002
+lea (%%si) = 00000010
+lea (%%di) = 00000020
+lea 0x40(%%bx) = 00000042
+lea 0x40(%%si) = 00000050
+lea 0x40(%%di) = 00000060
+lea 0x4000(%%bx) = 00004002
+lea 0x4000(%%si) = 00004010
+lea (%%bx,%%si) = 00000012
+lea (%%bx,%%di) = 00000022
+lea 0x40(%%bx,%%si) = 00000052
+lea 0x40(%%bx,%%di) = 00000062
+lea 0x4000(%%bx,%%si) = 00004012
+lea 0x4000(%%bx,%%di) = 00004022
diff --git a/test/arch/x86/qemu/expected/test_loop.exp b/test/arch/x86/qemu/expected/test_loop.exp
new file mode 100644
index 00000000..c2ebbda5
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_loop.exp
@@ -0,0 +1,64 @@
+jcxz       ECX=00000000 ZF=0 r=1
+jcxz       ECX=00000000 ZF=1 r=1
+jcxz       ECX=00000001 ZF=0 r=0
+jcxz       ECX=00000001 ZF=1 r=0
+jcxz       ECX=00010000 ZF=0 r=1
+jcxz       ECX=00010000 ZF=1 r=1
+jcxz       ECX=00010001 ZF=0 r=0
+jcxz       ECX=00010001 ZF=1 r=0
+loopw      ECX=00000000 ZF=0 r=1
+loopw      ECX=00000000 ZF=1 r=1
+loopw      ECX=00000001 ZF=0 r=0
+loopw      ECX=00000001 ZF=1 r=0
+loopw      ECX=00010000 ZF=0 r=1
+loopw      ECX=00010000 ZF=1 r=1
+loopw      ECX=00010001 ZF=0 r=0
+loopw      ECX=00010001 ZF=1 r=0
+loopzw     ECX=00000000 ZF=0 r=0
+loopzw     ECX=00000000 ZF=1 r=1
+loopzw     ECX=00000001 ZF=0 r=0
+loopzw     ECX=00000001 ZF=1 r=0
+loopzw     ECX=00010000 ZF=0 r=0
+loopzw     ECX=00010000 ZF=1 r=1
+loopzw     ECX=00010001 ZF=0 r=0
+loopzw     ECX=00010001 ZF=1 r=0
+loopnzw    ECX=00000000 ZF=0 r=1
+loopnzw    ECX=00000000 ZF=1 r=0
+loopnzw    ECX=00000001 ZF=0 r=0
+loopnzw    ECX=00000001 ZF=1 r=0
+loopnzw    ECX=00010000 ZF=0 r=1
+loopnzw    ECX=00010000 ZF=1 r=0
+loopnzw    ECX=00010001 ZF=0 r=0
+loopnzw    ECX=00010001 ZF=1 r=0
+jecxz      ECX=00000000 ZF=0 r=1
+jecxz      ECX=00000000 ZF=1 r=1
+jecxz      ECX=00000001 ZF=0 r=0
+jecxz      ECX=00000001 ZF=1 r=0
+jecxz      ECX=00010000 ZF=0 r=0
+jecxz      ECX=00010000 ZF=1 r=0
+jecxz      ECX=00010001 ZF=0 r=0
+jecxz      ECX=00010001 ZF=1 r=0
+loopl      ECX=00000000 ZF=0 r=1
+loopl      ECX=00000000 ZF=1 r=1
+loopl      ECX=00000001 ZF=0 r=0
+loopl      ECX=00000001 ZF=1 r=0
+loopl      ECX=00010000 ZF=0 r=1
+loopl      ECX=00010000 ZF=1 r=1
+loopl      ECX=00010001 ZF=0 r=1
+loopl      ECX=00010001 ZF=1 r=1
+loopzl     ECX=00000000 ZF=0 r=0
+loopzl     ECX=00000000 ZF=1 r=1
+loopzl     ECX=00000001 ZF=0 r=0
+loopzl     ECX=00000001 ZF=1 r=0
+loopzl     ECX=00010000 ZF=0 r=0
+loopzl     ECX=00010000 ZF=1 r=1
+loopzl     ECX=00010001 ZF=0 r=0
+loopzl     ECX=00010001 ZF=1 r=1
+loopnzl    ECX=00000000 ZF=0 r=1
+loopnzl    ECX=00000000 ZF=1 r=0
+loopnzl    ECX=00000001 ZF=0 r=0
+loopnzl    ECX=00000001 ZF=1 r=0
+loopnzl    ECX=00010000 ZF=0 r=1
+loopnzl    ECX=00010000 ZF=1 r=0
+loopnzl    ECX=00010001 ZF=0 r=1
+loopnzl    ECX=00010001 ZF=1 r=0
diff --git a/test/arch/x86/qemu/expected/test_misc.exp b/test/arch/x86/qemu/expected/test_misc.exp
new file mode 100644
index 00000000..125c17c6
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_misc.exp
@@ -0,0 +1,5 @@
+xlat: EAX=12345688
+func_lret=87654321
+func_iret=abcd4321
+popl esp=09abcdef
+popw esp=00bc6058
diff --git a/test/arch/x86/qemu/expected/test_mul.exp b/test/arch/x86/qemu/expected/test_mul.exp
new file mode 100644
index 00000000..c6acd9f7
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_mul.exp
@@ -0,0 +1,62 @@
+imulb      A=1234561d B=00000004 R=12340074 CC=0000
+imulb      A=00000003 B=fffffffc R=0000fff4 CC=0000
+imulb      A=00000080 B=00000080 R=00004000 CC=0801
+imulb      A=00000010 B=00000010 R=00000100 CC=0801
+imulw      AH=00000000 AL=1234001d B=0000002d RH=00000000 RL=12340519 CC=0000
+imulw      AH=00000000 AL=00000017 B=ffffffd3 RH=0000ffff RL=0000fbf5 CC=0000
+imulw      AH=00000000 AL=00008000 B=00008000 RH=00004000 RL=00000000 CC=0801
+imulw      AH=00000000 AL=00000100 B=00000100 RH=00000001 RL=00000000 CC=0801
+imull      AH=00000000 AL=1234001d B=0000002d RH=00000003 RL=33240519 CC=0801
+imull      AH=00000000 AL=00000017 B=ffffffd3 RH=ffffffff RL=fffffbf5 CC=0000
+imull      AH=00000000 AL=80000000 B=80000000 RH=40000000 RL=00000000 CC=0801
+imull      AH=00000000 AL=00010000 B=00010000 RH=00000001 RL=00000000 CC=0801
+mulb       A=1234561d B=00000004 R=12340074 CC=0000
+mulb       A=00000003 B=fffffffc R=000002f4 CC=0801
+mulb       A=00000080 B=00000080 R=00004000 CC=0801
+mulb       A=00000010 B=00000010 R=00000100 CC=0801
+mulw       AH=00000000 AL=1234001d B=0000002d RH=00000000 RL=12340519 CC=0000
+mulw       AH=00000000 AL=00000017 B=ffffffd3 RH=00000016 RL=0000fbf5 CC=0801
+mulw       AH=00000000 AL=00008000 B=00008000 RH=00004000 RL=00000000 CC=0801
+mulw       AH=00000000 AL=00000100 B=00000100 RH=00000001 RL=00000000 CC=0801
+mull       AH=00000000 AL=1234001d B=0000002d RH=00000003 RL=33240519 CC=0801
+mull       AH=00000000 AL=00000017 B=ffffffd3 RH=00000016 RL=fffffbf5 CC=0801
+mull       AH=00000000 AL=80000000 B=80000000 RH=40000000 RL=00000000 CC=0801
+mull       AH=00000000 AL=00010000 B=00010000 RH=00000001 RL=00000000 CC=0801
+imulw      A=1234001d B=0000002d R=12340519 CC=0000
+imulw      A=00000017 B=ffffffd3 R=0000fbf5 CC=0000
+imulw      A=00008000 B=00008000 R=00000000 CC=0801
+imulw      A=00000100 B=00000100 R=00000000 CC=0801
+imull      A=1234001d B=0000002d R=33240519 CC=0801
+imull      A=00000017 B=ffffffd3 R=fffffbf5 CC=0000
+imull      A=80000000 B=80000000 R=00000000 CC=0801
+imull      A=00010000 B=00010000 R=00000000 CC=0801
+imulw im   A=0000002d B=00001234 R=00003324 CC=0000
+imulw im   A=ffffffd3 B=00000017 R=0000fbf5 CC=0000
+imulw im   A=00008000 B=80000000 R=00000000 CC=0000
+imulw im   A=00007fff B=00001000 R=0000f000 CC=0000
+imull im   A=0000002d B=00001234 R=00033324 CC=0000
+imull im   A=ffffffd3 B=00000017 R=fffffbf5 CC=0000
+imull im   A=00008000 B=80000000 R=00000000 CC=0000
+imull im   A=00007fff B=00001000 R=07fff000 CC=0000
+idivb      A=12341678 B=0000127e R=1234522d CC=0000
+idivb      A=43210123 B=fffffffb R=432101c6 CC=0000
+idivb      A=12340004 B=ffffffff R=123400fc CC=0000
+idivw      AH=00000000 AL=12345678 B=0000303b RH=0000263d RL=12340001 CC=0000
+idivw      AH=00000000 AL=ffffa549 B=ffffffd3 RH=0000000d RL=fffffc54 CC=0000
+idivw      AH=00000000 AL=12348000 B=ffffffff RH=00000000 RL=12348000 CC=0000
+idivw      AH=00012343 AL=12345678 B=81238567 RH=000120a6 RL=1234b65e CC=0000
+idivl      AH=00000000 AL=12345678 B=0000303b RH=00001198 RL=000060a0 CC=0000
+idivl      AH=00000000 AL=fffc70f9 B=ffffffd3 RH=0000002b RL=fa4fb93a CC=0000
+idivl      AH=00000000 AL=80000000 B=ffffffff RH=00000000 RL=80000000 CC=0000
+idivl      AH=00012343 AL=12345678 B=81234567 RH=4ba84b51 RL=fffdb441 CC=0000
+divb       A=12341678 B=0000127e R=1234522d CC=0000
+divb       A=43210123 B=fffffffb R=43212801 CC=0000
+divb       A=12340004 B=ffffffff R=12340400 CC=0000
+divw       AH=00000000 AL=12345678 B=0000303b RH=0000263d RL=12340001 CC=0000
+divw       AH=00000000 AL=ffffa549 B=ffffffd3 RH=0000a549 RL=ffff0000 CC=0000
+divw       AH=00000000 AL=12348000 B=ffffffff RH=00008000 RL=12340000 CC=0000
+divw       AH=00012343 AL=12345678 B=81238567 RH=000145ab RL=123443ab CC=0000
+divl       AH=00000000 AL=12345678 B=0000303b RH=00001198 RL=000060a0 CC=0000
+divl       AH=00000000 AL=fffc70f9 B=ffffffd3 RH=fffc70f9 RL=00000000 CC=0000
+divl       AH=00000000 AL=80000000 B=ffffffff RH=80000000 RL=00000000 CC=0000
+divl       AH=00012343 AL=12345678 B=81234567 RH=2100133c RL=00024164 CC=0000
diff --git a/test/arch/x86/qemu/expected/test_neg.exp b/test/arch/x86/qemu/expected/test_neg.exp
new file mode 100644
index 00000000..f0365a96
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_neg.exp
@@ -0,0 +1,150 @@
+negl       A=12345678 R=edcba988 CCIN=0000 CC=0095
+negw       A=12345678 R=1234a988 CCIN=0000 CC=0095
+negb       A=12345678 R=12345688 CCIN=0000 CC=0095
+negl       A=12345678 R=edcba988 CCIN=0001 CC=0095
+negw       A=12345678 R=1234a988 CCIN=0001 CC=0095
+negb       A=12345678 R=12345688 CCIN=0001 CC=0095
+negl       A=00012341 R=fffedcbf CCIN=0000 CC=0091
+negw       A=00012341 R=0001dcbf CCIN=0000 CC=0091
+negb       A=00012341 R=000123bf CCIN=0000 CC=0091
+negl       A=00012341 R=fffedcbf CCIN=0001 CC=0091
+negw       A=00012341 R=0001dcbf CCIN=0001 CC=0091
+negb       A=00012341 R=000123bf CCIN=0001 CC=0091
+negl       A=00012341 R=fffedcbf CCIN=0000 CC=0091
+negw       A=00012341 R=0001dcbf CCIN=0000 CC=0091
+negb       A=00012341 R=000123bf CCIN=0000 CC=0091
+negl       A=00012341 R=fffedcbf CCIN=0001 CC=0091
+negw       A=00012341 R=0001dcbf CCIN=0001 CC=0091
+negb       A=00012341 R=000123bf CCIN=0001 CC=0091
+negl       A=ffffffff R=00000001 CCIN=0000 CC=0011
+negw       A=ffffffff R=ffff0001 CCIN=0000 CC=0011
+negb       A=ffffffff R=ffffff01 CCIN=0000 CC=0011
+negl       A=ffffffff R=00000001 CCIN=0001 CC=0011
+negw       A=ffffffff R=ffff0001 CCIN=0001 CC=0011
+negb       A=ffffffff R=ffffff01 CCIN=0001 CC=0011
+negl       A=ffffffff R=00000001 CCIN=0000 CC=0011
+negw       A=ffffffff R=ffff0001 CCIN=0000 CC=0011
+negb       A=ffffffff R=ffffff01 CCIN=0000 CC=0011
+negl       A=ffffffff R=00000001 CCIN=0001 CC=0011
+negw       A=ffffffff R=ffff0001 CCIN=0001 CC=0011
+negb       A=ffffffff R=ffffff01 CCIN=0001 CC=0011
+negl       A=ffffffff R=00000001 CCIN=0000 CC=0011
+negw       A=ffffffff R=ffff0001 CCIN=0000 CC=0011
+negb       A=ffffffff R=ffffff01 CCIN=0000 CC=0011
+negl       A=ffffffff R=00000001 CCIN=0001 CC=0011
+negw       A=ffffffff R=ffff0001 CCIN=0001 CC=0011
+negb       A=ffffffff R=ffffff01 CCIN=0001 CC=0011
+negl       A=ffffffff R=00000001 CCIN=0000 CC=0011
+negw       A=ffffffff R=ffff0001 CCIN=0000 CC=0011
+negb       A=ffffffff R=ffffff01 CCIN=0000 CC=0011
+negl       A=ffffffff R=00000001 CCIN=0001 CC=0011
+negw       A=ffffffff R=ffff0001 CCIN=0001 CC=0011
+negb       A=ffffffff R=ffffff01 CCIN=0001 CC=0011
+negl       A=7fffffff R=80000001 CCIN=0000 CC=0091
+negw       A=7fffffff R=7fff0001 CCIN=0000 CC=0011
+negb       A=7fffffff R=7fffff01 CCIN=0000 CC=0011
+negl       A=7fffffff R=80000001 CCIN=0001 CC=0091
+negw       A=7fffffff R=7fff0001 CCIN=0001 CC=0011
+negb       A=7fffffff R=7fffff01 CCIN=0001 CC=0011
+negl       A=7fffffff R=80000001 CCIN=0000 CC=0091
+negw       A=7fffffff R=7fff0001 CCIN=0000 CC=0011
+negb       A=7fffffff R=7fffff01 CCIN=0000 CC=0011
+negl       A=7fffffff R=80000001 CCIN=0001 CC=0091
+negw       A=7fffffff R=7fff0001 CCIN=0001 CC=0011
+negb       A=7fffffff R=7fffff01 CCIN=0001 CC=0011
+negl       A=7fffffff R=80000001 CCIN=0000 CC=0091
+negw       A=7fffffff R=7fff0001 CCIN=0000 CC=0011
+negb       A=7fffffff R=7fffff01 CCIN=0000 CC=0011
+negl       A=7fffffff R=80000001 CCIN=0001 CC=0091
+negw       A=7fffffff R=7fff0001 CCIN=0001 CC=0011
+negb       A=7fffffff R=7fffff01 CCIN=0001 CC=0011
+negl       A=80000000 R=80000000 CCIN=0000 CC=0885
+negw       A=80000000 R=80000000 CCIN=0000 CC=0044
+negb       A=80000000 R=80000000 CCIN=0000 CC=0044
+negl       A=80000000 R=80000000 CCIN=0001 CC=0885
+negw       A=80000000 R=80000000 CCIN=0001 CC=0044
+negb       A=80000000 R=80000000 CCIN=0001 CC=0044
+negl       A=80000000 R=80000000 CCIN=0000 CC=0885
+negw       A=80000000 R=80000000 CCIN=0000 CC=0044
+negb       A=80000000 R=80000000 CCIN=0000 CC=0044
+negl       A=80000000 R=80000000 CCIN=0001 CC=0885
+negw       A=80000000 R=80000000 CCIN=0001 CC=0044
+negb       A=80000000 R=80000000 CCIN=0001 CC=0044
+negl       A=80000000 R=80000000 CCIN=0000 CC=0885
+negw       A=80000000 R=80000000 CCIN=0000 CC=0044
+negb       A=80000000 R=80000000 CCIN=0000 CC=0044
+negl       A=80000000 R=80000000 CCIN=0001 CC=0885
+negw       A=80000000 R=80000000 CCIN=0001 CC=0044
+negb       A=80000000 R=80000000 CCIN=0001 CC=0044
+negl       A=12347fff R=edcb8001 CCIN=0000 CC=0091
+negw       A=12347fff R=12348001 CCIN=0000 CC=0091
+negb       A=12347fff R=12347f01 CCIN=0000 CC=0011
+negl       A=12347fff R=edcb8001 CCIN=0001 CC=0091
+negw       A=12347fff R=12348001 CCIN=0001 CC=0091
+negb       A=12347fff R=12347f01 CCIN=0001 CC=0011
+negl       A=12347fff R=edcb8001 CCIN=0000 CC=0091
+negw       A=12347fff R=12348001 CCIN=0000 CC=0091
+negb       A=12347fff R=12347f01 CCIN=0000 CC=0011
+negl       A=12347fff R=edcb8001 CCIN=0001 CC=0091
+negw       A=12347fff R=12348001 CCIN=0001 CC=0091
+negb       A=12347fff R=12347f01 CCIN=0001 CC=0011
+negl       A=12347fff R=edcb8001 CCIN=0000 CC=0091
+negw       A=12347fff R=12348001 CCIN=0000 CC=0091
+negb       A=12347fff R=12347f01 CCIN=0000 CC=0011
+negl       A=12347fff R=edcb8001 CCIN=0001 CC=0091
+negw       A=12347fff R=12348001 CCIN=0001 CC=0091
+negb       A=12347fff R=12347f01 CCIN=0001 CC=0011
+negl       A=12348000 R=edcb8000 CCIN=0000 CC=0085
+negw       A=12348000 R=12348000 CCIN=0000 CC=0885
+negb       A=12348000 R=12348000 CCIN=0000 CC=0044
+negl       A=12348000 R=edcb8000 CCIN=0001 CC=0085
+negw       A=12348000 R=12348000 CCIN=0001 CC=0885
+negb       A=12348000 R=12348000 CCIN=0001 CC=0044
+negl       A=12348000 R=edcb8000 CCIN=0000 CC=0085
+negw       A=12348000 R=12348000 CCIN=0000 CC=0885
+negb       A=12348000 R=12348000 CCIN=0000 CC=0044
+negl       A=12348000 R=edcb8000 CCIN=0001 CC=0085
+negw       A=12348000 R=12348000 CCIN=0001 CC=0885
+negb       A=12348000 R=12348000 CCIN=0001 CC=0044
+negl       A=12348000 R=edcb8000 CCIN=0000 CC=0085
+negw       A=12348000 R=12348000 CCIN=0000 CC=0885
+negb       A=12348000 R=12348000 CCIN=0000 CC=0044
+negl       A=12348000 R=edcb8000 CCIN=0001 CC=0085
+negw       A=12348000 R=12348000 CCIN=0001 CC=0885
+negb       A=12348000 R=12348000 CCIN=0001 CC=0044
+negl       A=12347f7f R=edcb8081 CCIN=0000 CC=0095
+negw       A=12347f7f R=12348081 CCIN=0000 CC=0095
+negb       A=12347f7f R=12347f81 CCIN=0000 CC=0095
+negl       A=12347f7f R=edcb8081 CCIN=0001 CC=0095
+negw       A=12347f7f R=12348081 CCIN=0001 CC=0095
+negb       A=12347f7f R=12347f81 CCIN=0001 CC=0095
+negl       A=12347f7f R=edcb8081 CCIN=0000 CC=0095
+negw       A=12347f7f R=12348081 CCIN=0000 CC=0095
+negb       A=12347f7f R=12347f81 CCIN=0000 CC=0095
+negl       A=12347f7f R=edcb8081 CCIN=0001 CC=0095
+negw       A=12347f7f R=12348081 CCIN=0001 CC=0095
+negb       A=12347f7f R=12347f81 CCIN=0001 CC=0095
+negl       A=12347f7f R=edcb8081 CCIN=0000 CC=0095
+negw       A=12347f7f R=12348081 CCIN=0000 CC=0095
+negb       A=12347f7f R=12347f81 CCIN=0000 CC=0095
+negl       A=12347f7f R=edcb8081 CCIN=0001 CC=0095
+negw       A=12347f7f R=12348081 CCIN=0001 CC=0095
+negb       A=12347f7f R=12347f81 CCIN=0001 CC=0095
+negl       A=12348080 R=edcb7f80 CCIN=0000 CC=0081
+negw       A=12348080 R=12347f80 CCIN=0000 CC=0001
+negb       A=12348080 R=12348080 CCIN=0000 CC=0881
+negl       A=12348080 R=edcb7f80 CCIN=0001 CC=0081
+negw       A=12348080 R=12347f80 CCIN=0001 CC=0001
+negb       A=12348080 R=12348080 CCIN=0001 CC=0881
+negl       A=12348080 R=edcb7f80 CCIN=0000 CC=0081
+negw       A=12348080 R=12347f80 CCIN=0000 CC=0001
+negb       A=12348080 R=12348080 CCIN=0000 CC=0881
+negl       A=12348080 R=edcb7f80 CCIN=0001 CC=0081
+negw       A=12348080 R=12347f80 CCIN=0001 CC=0001
+negb       A=12348080 R=12348080 CCIN=0001 CC=0881
+negl       A=12348080 R=edcb7f80 CCIN=0000 CC=0081
+negw       A=12348080 R=12347f80 CCIN=0000 CC=0001
+negb       A=12348080 R=12348080 CCIN=0000 CC=0881
+negl       A=12348080 R=edcb7f80 CCIN=0001 CC=0081
+negw       A=12348080 R=12347f80 CCIN=0001 CC=0001
+negb       A=12348080 R=12348080 CCIN=0001 CC=0881
diff --git a/test/arch/x86/qemu/expected/test_not.exp b/test/arch/x86/qemu/expected/test_not.exp
new file mode 100644
index 00000000..d9d15fda
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_not.exp
@@ -0,0 +1,150 @@
+notl       A=12345678 R=edcba987 CCIN=0000 CC=0000
+notw       A=12345678 R=1234a987 CCIN=0000 CC=0000
+notb       A=12345678 R=12345687 CCIN=0000 CC=0000
+notl       A=12345678 R=edcba987 CCIN=0001 CC=0001
+notw       A=12345678 R=1234a987 CCIN=0001 CC=0001
+notb       A=12345678 R=12345687 CCIN=0001 CC=0001
+notl       A=00012341 R=fffedcbe CCIN=0000 CC=0000
+notw       A=00012341 R=0001dcbe CCIN=0000 CC=0000
+notb       A=00012341 R=000123be CCIN=0000 CC=0000
+notl       A=00012341 R=fffedcbe CCIN=0001 CC=0001
+notw       A=00012341 R=0001dcbe CCIN=0001 CC=0001
+notb       A=00012341 R=000123be CCIN=0001 CC=0001
+notl       A=00012341 R=fffedcbe CCIN=0000 CC=0000
+notw       A=00012341 R=0001dcbe CCIN=0000 CC=0000
+notb       A=00012341 R=000123be CCIN=0000 CC=0000
+notl       A=00012341 R=fffedcbe CCIN=0001 CC=0001
+notw       A=00012341 R=0001dcbe CCIN=0001 CC=0001
+notb       A=00012341 R=000123be CCIN=0001 CC=0001
+notl       A=ffffffff R=00000000 CCIN=0000 CC=0000
+notw       A=ffffffff R=ffff0000 CCIN=0000 CC=0000
+notb       A=ffffffff R=ffffff00 CCIN=0000 CC=0000
+notl       A=ffffffff R=00000000 CCIN=0001 CC=0001
+notw       A=ffffffff R=ffff0000 CCIN=0001 CC=0001
+notb       A=ffffffff R=ffffff00 CCIN=0001 CC=0001
+notl       A=ffffffff R=00000000 CCIN=0000 CC=0000
+notw       A=ffffffff R=ffff0000 CCIN=0000 CC=0000
+notb       A=ffffffff R=ffffff00 CCIN=0000 CC=0000
+notl       A=ffffffff R=00000000 CCIN=0001 CC=0001
+notw       A=ffffffff R=ffff0000 CCIN=0001 CC=0001
+notb       A=ffffffff R=ffffff00 CCIN=0001 CC=0001
+notl       A=ffffffff R=00000000 CCIN=0000 CC=0000
+notw       A=ffffffff R=ffff0000 CCIN=0000 CC=0000
+notb       A=ffffffff R=ffffff00 CCIN=0000 CC=0000
+notl       A=ffffffff R=00000000 CCIN=0001 CC=0001
+notw       A=ffffffff R=ffff0000 CCIN=0001 CC=0001
+notb       A=ffffffff R=ffffff00 CCIN=0001 CC=0001
+notl       A=ffffffff R=00000000 CCIN=0000 CC=0000
+notw       A=ffffffff R=ffff0000 CCIN=0000 CC=0000
+notb       A=ffffffff R=ffffff00 CCIN=0000 CC=0000
+notl       A=ffffffff R=00000000 CCIN=0001 CC=0001
+notw       A=ffffffff R=ffff0000 CCIN=0001 CC=0001
+notb       A=ffffffff R=ffffff00 CCIN=0001 CC=0001
+notl       A=7fffffff R=80000000 CCIN=0000 CC=0000
+notw       A=7fffffff R=7fff0000 CCIN=0000 CC=0000
+notb       A=7fffffff R=7fffff00 CCIN=0000 CC=0000
+notl       A=7fffffff R=80000000 CCIN=0001 CC=0001
+notw       A=7fffffff R=7fff0000 CCIN=0001 CC=0001
+notb       A=7fffffff R=7fffff00 CCIN=0001 CC=0001
+notl       A=7fffffff R=80000000 CCIN=0000 CC=0000
+notw       A=7fffffff R=7fff0000 CCIN=0000 CC=0000
+notb       A=7fffffff R=7fffff00 CCIN=0000 CC=0000
+notl       A=7fffffff R=80000000 CCIN=0001 CC=0001
+notw       A=7fffffff R=7fff0000 CCIN=0001 CC=0001
+notb       A=7fffffff R=7fffff00 CCIN=0001 CC=0001
+notl       A=7fffffff R=80000000 CCIN=0000 CC=0000
+notw       A=7fffffff R=7fff0000 CCIN=0000 CC=0000
+notb       A=7fffffff R=7fffff00 CCIN=0000 CC=0000
+notl       A=7fffffff R=80000000 CCIN=0001 CC=0001
+notw       A=7fffffff R=7fff0000 CCIN=0001 CC=0001
+notb       A=7fffffff R=7fffff00 CCIN=0001 CC=0001
+notl       A=80000000 R=7fffffff CCIN=0000 CC=0000
+notw       A=80000000 R=8000ffff CCIN=0000 CC=0000
+notb       A=80000000 R=800000ff CCIN=0000 CC=0000
+notl       A=80000000 R=7fffffff CCIN=0001 CC=0001
+notw       A=80000000 R=8000ffff CCIN=0001 CC=0001
+notb       A=80000000 R=800000ff CCIN=0001 CC=0001
+notl       A=80000000 R=7fffffff CCIN=0000 CC=0000
+notw       A=80000000 R=8000ffff CCIN=0000 CC=0000
+notb       A=80000000 R=800000ff CCIN=0000 CC=0000
+notl       A=80000000 R=7fffffff CCIN=0001 CC=0001
+notw       A=80000000 R=8000ffff CCIN=0001 CC=0001
+notb       A=80000000 R=800000ff CCIN=0001 CC=0001
+notl       A=80000000 R=7fffffff CCIN=0000 CC=0000
+notw       A=80000000 R=8000ffff CCIN=0000 CC=0000
+notb       A=80000000 R=800000ff CCIN=0000 CC=0000
+notl       A=80000000 R=7fffffff CCIN=0001 CC=0001
+notw       A=80000000 R=8000ffff CCIN=0001 CC=0001
+notb       A=80000000 R=800000ff CCIN=0001 CC=0001
+notl       A=12347fff R=edcb8000 CCIN=0000 CC=0000
+notw       A=12347fff R=12348000 CCIN=0000 CC=0000
+notb       A=12347fff R=12347f00 CCIN=0000 CC=0000
+notl       A=12347fff R=edcb8000 CCIN=0001 CC=0001
+notw       A=12347fff R=12348000 CCIN=0001 CC=0001
+notb       A=12347fff R=12347f00 CCIN=0001 CC=0001
+notl       A=12347fff R=edcb8000 CCIN=0000 CC=0000
+notw       A=12347fff R=12348000 CCIN=0000 CC=0000
+notb       A=12347fff R=12347f00 CCIN=0000 CC=0000
+notl       A=12347fff R=edcb8000 CCIN=0001 CC=0001
+notw       A=12347fff R=12348000 CCIN=0001 CC=0001
+notb       A=12347fff R=12347f00 CCIN=0001 CC=0001
+notl       A=12347fff R=edcb8000 CCIN=0000 CC=0000
+notw       A=12347fff R=12348000 CCIN=0000 CC=0000
+notb       A=12347fff R=12347f00 CCIN=0000 CC=0000
+notl       A=12347fff R=edcb8000 CCIN=0001 CC=0001
+notw       A=12347fff R=12348000 CCIN=0001 CC=0001
+notb       A=12347fff R=12347f00 CCIN=0001 CC=0001
+notl       A=12348000 R=edcb7fff CCIN=0000 CC=0000
+notw       A=12348000 R=12347fff CCIN=0000 CC=0000
+notb       A=12348000 R=123480ff CCIN=0000 CC=0000
+notl       A=12348000 R=edcb7fff CCIN=0001 CC=0001
+notw       A=12348000 R=12347fff CCIN=0001 CC=0001
+notb       A=12348000 R=123480ff CCIN=0001 CC=0001
+notl       A=12348000 R=edcb7fff CCIN=0000 CC=0000
+notw       A=12348000 R=12347fff CCIN=0000 CC=0000
+notb       A=12348000 R=123480ff CCIN=0000 CC=0000
+notl       A=12348000 R=edcb7fff CCIN=0001 CC=0001
+notw       A=12348000 R=12347fff CCIN=0001 CC=0001
+notb       A=12348000 R=123480ff CCIN=0001 CC=0001
+notl       A=12348000 R=edcb7fff CCIN=0000 CC=0000
+notw       A=12348000 R=12347fff CCIN=0000 CC=0000
+notb       A=12348000 R=123480ff CCIN=0000 CC=0000
+notl       A=12348000 R=edcb7fff CCIN=0001 CC=0001
+notw       A=12348000 R=12347fff CCIN=0001 CC=0001
+notb       A=12348000 R=123480ff CCIN=0001 CC=0001
+notl       A=12347f7f R=edcb8080 CCIN=0000 CC=0000
+notw       A=12347f7f R=12348080 CCIN=0000 CC=0000
+notb       A=12347f7f R=12347f80 CCIN=0000 CC=0000
+notl       A=12347f7f R=edcb8080 CCIN=0001 CC=0001
+notw       A=12347f7f R=12348080 CCIN=0001 CC=0001
+notb       A=12347f7f R=12347f80 CCIN=0001 CC=0001
+notl       A=12347f7f R=edcb8080 CCIN=0000 CC=0000
+notw       A=12347f7f R=12348080 CCIN=0000 CC=0000
+notb       A=12347f7f R=12347f80 CCIN=0000 CC=0000
+notl       A=12347f7f R=edcb8080 CCIN=0001 CC=0001
+notw       A=12347f7f R=12348080 CCIN=0001 CC=0001
+notb       A=12347f7f R=12347f80 CCIN=0001 CC=0001
+notl       A=12347f7f R=edcb8080 CCIN=0000 CC=0000
+notw       A=12347f7f R=12348080 CCIN=0000 CC=0000
+notb       A=12347f7f R=12347f80 CCIN=0000 CC=0000
+notl       A=12347f7f R=edcb8080 CCIN=0001 CC=0001
+notw       A=12347f7f R=12348080 CCIN=0001 CC=0001
+notb       A=12347f7f R=12347f80 CCIN=0001 CC=0001
+notl       A=12348080 R=edcb7f7f CCIN=0000 CC=0000
+notw       A=12348080 R=12347f7f CCIN=0000 CC=0000
+notb       A=12348080 R=1234807f CCIN=0000 CC=0000
+notl       A=12348080 R=edcb7f7f CCIN=0001 CC=0001
+notw       A=12348080 R=12347f7f CCIN=0001 CC=0001
+notb       A=12348080 R=1234807f CCIN=0001 CC=0001
+notl       A=12348080 R=edcb7f7f CCIN=0000 CC=0000
+notw       A=12348080 R=12347f7f CCIN=0000 CC=0000
+notb       A=12348080 R=1234807f CCIN=0000 CC=0000
+notl       A=12348080 R=edcb7f7f CCIN=0001 CC=0001
+notw       A=12348080 R=12347f7f CCIN=0001 CC=0001
+notb       A=12348080 R=1234807f CCIN=0001 CC=0001
+notl       A=12348080 R=edcb7f7f CCIN=0000 CC=0000
+notw       A=12348080 R=12347f7f CCIN=0000 CC=0000
+notb       A=12348080 R=1234807f CCIN=0000 CC=0000
+notl       A=12348080 R=edcb7f7f CCIN=0001 CC=0001
+notw       A=12348080 R=12347f7f CCIN=0001 CC=0001
+notb       A=12348080 R=1234807f CCIN=0001 CC=0001
diff --git a/test/arch/x86/qemu/expected/test_or.exp b/test/arch/x86/qemu/expected/test_or.exp
new file mode 100644
index 00000000..b8bd19fa
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_or.exp
@@ -0,0 +1,75 @@
+orl        A=12345678 B=0812fada R=1a36fefa CCIN=0000 CC=0004
+orw        A=12345678 B=0812fada R=1234fefa CCIN=0000 CC=0084
+orb        A=12345678 B=0812fada R=123456fa CCIN=0000 CC=0084
+orl        A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0004
+orw        A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0004
+orb        A=00012341 B=00012341 R=00012341 CCIN=0000 CC=0004
+orl        A=00012341 B=fffedcbf R=ffffffff CCIN=0000 CC=0084
+orw        A=00012341 B=fffedcbf R=0001ffff CCIN=0000 CC=0084
+orb        A=00012341 B=fffedcbf R=000123ff CCIN=0000 CC=0084
+orl        A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+orw        A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+orb        A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+orl        A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orw        A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orb        A=ffffffff B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orl        A=ffffffff B=00000001 R=ffffffff CCIN=0000 CC=0084
+orw        A=ffffffff B=00000001 R=ffffffff CCIN=0000 CC=0084
+orb        A=ffffffff B=00000001 R=ffffffff CCIN=0000 CC=0084
+orl        A=ffffffff B=00000002 R=ffffffff CCIN=0000 CC=0084
+orw        A=ffffffff B=00000002 R=ffffffff CCIN=0000 CC=0084
+orb        A=ffffffff B=00000002 R=ffffffff CCIN=0000 CC=0084
+orl        A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0004
+orw        A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+orb        A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+orl        A=7fffffff B=00000001 R=7fffffff CCIN=0000 CC=0004
+orw        A=7fffffff B=00000001 R=7fffffff CCIN=0000 CC=0084
+orb        A=7fffffff B=00000001 R=7fffffff CCIN=0000 CC=0084
+orl        A=7fffffff B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orw        A=7fffffff B=ffffffff R=7fffffff CCIN=0000 CC=0084
+orb        A=7fffffff B=ffffffff R=7fffffff CCIN=0000 CC=0084
+orl        A=80000000 B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orw        A=80000000 B=ffffffff R=8000ffff CCIN=0000 CC=0084
+orb        A=80000000 B=ffffffff R=800000ff CCIN=0000 CC=0084
+orl        A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0080
+orw        A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0000
+orb        A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0000
+orl        A=80000000 B=fffffffe R=fffffffe CCIN=0000 CC=0080
+orw        A=80000000 B=fffffffe R=8000fffe CCIN=0000 CC=0080
+orb        A=80000000 B=fffffffe R=800000fe CCIN=0000 CC=0080
+orl        A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+orw        A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+orb        A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0084
+orl        A=12347fff B=00000001 R=12347fff CCIN=0000 CC=0004
+orw        A=12347fff B=00000001 R=12347fff CCIN=0000 CC=0004
+orb        A=12347fff B=00000001 R=12347fff CCIN=0000 CC=0084
+orl        A=12347fff B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orw        A=12347fff B=ffffffff R=1234ffff CCIN=0000 CC=0084
+orb        A=12347fff B=ffffffff R=12347fff CCIN=0000 CC=0084
+orl        A=12348000 B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orw        A=12348000 B=ffffffff R=1234ffff CCIN=0000 CC=0084
+orb        A=12348000 B=ffffffff R=123480ff CCIN=0000 CC=0084
+orl        A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0000
+orw        A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0080
+orb        A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0000
+orl        A=12348000 B=fffffffe R=fffffffe CCIN=0000 CC=0080
+orw        A=12348000 B=fffffffe R=1234fffe CCIN=0000 CC=0080
+orb        A=12348000 B=fffffffe R=123480fe CCIN=0000 CC=0080
+orl        A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+orw        A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+orb        A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+orl        A=12347f7f B=00000001 R=12347f7f CCIN=0000 CC=0000
+orw        A=12347f7f B=00000001 R=12347f7f CCIN=0000 CC=0000
+orb        A=12347f7f B=00000001 R=12347f7f CCIN=0000 CC=0000
+orl        A=12347f7f B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orw        A=12347f7f B=ffffffff R=1234ffff CCIN=0000 CC=0084
+orb        A=12347f7f B=ffffffff R=12347fff CCIN=0000 CC=0084
+orl        A=12348080 B=ffffffff R=ffffffff CCIN=0000 CC=0084
+orw        A=12348080 B=ffffffff R=1234ffff CCIN=0000 CC=0084
+orb        A=12348080 B=ffffffff R=123480ff CCIN=0000 CC=0084
+orl        A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0004
+orw        A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0084
+orb        A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0084
+orl        A=12348080 B=fffffffe R=fffffffe CCIN=0000 CC=0080
+orw        A=12348080 B=fffffffe R=1234fffe CCIN=0000 CC=0080
+orb        A=12348080 B=fffffffe R=123480fe CCIN=0000 CC=0080
diff --git a/test/arch/x86/qemu/expected/test_rcl.exp b/test/arch/x86/qemu/expected/test_rcl.exp
new file mode 100644
index 00000000..1c412afd
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_rcl.exp
@@ -0,0 +1,384 @@
+rcll       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rclb       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rcll       A=12345678 B=00000000 R=12345678 CCIN=0001 CC=0001
+rclw       A=12345678 B=00000000 R=12345678 CCIN=0001 CC=0001
+rclb       A=12345678 B=00000000 R=12345678 CCIN=0001 CC=0001
+rcll       A=12345678 B=00000001 R=2468acf0 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000001 R=1234acf0 CCIN=0000 CC=0800
+rclb       A=12345678 B=00000001 R=123456f0 CCIN=0000 CC=0800
+rcll       A=12345678 B=00000001 R=2468acf1 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000001 R=1234acf1 CCIN=0001 CC=0800
+rclb       A=12345678 B=00000001 R=123456f1 CCIN=0001 CC=0800
+rcll       A=12345678 B=00000002 R=48d159e0 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000002 R=123459e0 CCIN=0000 CC=0001
+rclb       A=12345678 B=00000002 R=123456e0 CCIN=0000 CC=0001
+rcll       A=12345678 B=00000002 R=48d159e2 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000002 R=123459e2 CCIN=0001 CC=0001
+rclb       A=12345678 B=00000002 R=123456e2 CCIN=0001 CC=0001
+rcll       A=12345678 B=00000003 R=91a2b3c0 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000003 R=1234b3c1 CCIN=0000 CC=0000
+rclb       A=12345678 B=00000003 R=123456c1 CCIN=0000 CC=0001
+rcll       A=12345678 B=00000003 R=91a2b3c4 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000003 R=1234b3c5 CCIN=0001 CC=0000
+rclb       A=12345678 B=00000003 R=123456c5 CCIN=0001 CC=0001
+rcll       A=12345678 B=00000004 R=23456780 CCIN=0000 CC=0001
+rclw       A=12345678 B=00000004 R=12346782 CCIN=0000 CC=0001
+rclb       A=12345678 B=00000004 R=12345683 CCIN=0000 CC=0001
+rcll       A=12345678 B=00000004 R=23456788 CCIN=0001 CC=0001
+rclw       A=12345678 B=00000004 R=1234678a CCIN=0001 CC=0001
+rclb       A=12345678 B=00000004 R=1234568b CCIN=0001 CC=0001
+rcll       A=12345678 B=00000005 R=468acf01 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000005 R=1234cf05 CCIN=0000 CC=0000
+rclb       A=12345678 B=00000005 R=12345607 CCIN=0000 CC=0001
+rcll       A=12345678 B=00000005 R=468acf11 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000005 R=1234cf15 CCIN=0001 CC=0000
+rclb       A=12345678 B=00000005 R=12345617 CCIN=0001 CC=0001
+rcll       A=12345678 B=00000006 R=8d159e02 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000006 R=12349e0a CCIN=0000 CC=0001
+rclb       A=12345678 B=00000006 R=1234560f CCIN=0000 CC=0000
+rcll       A=12345678 B=00000006 R=8d159e22 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000006 R=12349e2a CCIN=0001 CC=0001
+rclb       A=12345678 B=00000006 R=1234562f CCIN=0001 CC=0000
+rcll       A=12345678 B=00000007 R=1a2b3c04 CCIN=0000 CC=0001
+rclw       A=12345678 B=00000007 R=12343c15 CCIN=0000 CC=0001
+rclb       A=12345678 B=00000007 R=1234561e CCIN=0000 CC=0000
+rcll       A=12345678 B=00000007 R=1a2b3c44 CCIN=0001 CC=0001
+rclw       A=12345678 B=00000007 R=12343c55 CCIN=0001 CC=0001
+rclb       A=12345678 B=00000007 R=1234565e CCIN=0001 CC=0000
+rcll       A=12345678 B=00000008 R=34567809 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000008 R=1234782b CCIN=0000 CC=0000
+rclb       A=12345678 B=00000008 R=1234563c CCIN=0000 CC=0000
+rcll       A=12345678 B=00000008 R=34567889 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000008 R=123478ab CCIN=0001 CC=0000
+rclb       A=12345678 B=00000008 R=123456bc CCIN=0001 CC=0000
+rcll       A=12345678 B=00000009 R=68acf012 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000009 R=1234f056 CCIN=0000 CC=0000
+rclb       A=12345678 B=00000009 R=12345678 CCIN=0000 CC=0000
+rcll       A=12345678 B=00000009 R=68acf112 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000009 R=1234f156 CCIN=0001 CC=0000
+rclb       A=12345678 B=00000009 R=12345678 CCIN=0001 CC=0001
+rcll       A=12345678 B=0000000a R=d159e024 CCIN=0000 CC=0000
+rclw       A=12345678 B=0000000a R=1234e0ac CCIN=0000 CC=0001
+rclb       A=12345678 B=0000000a R=123456f0 CCIN=0000 CC=0000
+rcll       A=12345678 B=0000000a R=d159e224 CCIN=0001 CC=0000
+rclw       A=12345678 B=0000000a R=1234e2ac CCIN=0001 CC=0001
+rclb       A=12345678 B=0000000a R=123456f1 CCIN=0001 CC=0000
+rcll       A=12345678 B=0000000b R=a2b3c048 CCIN=0000 CC=0001
+rclw       A=12345678 B=0000000b R=1234c159 CCIN=0000 CC=0001
+rclb       A=12345678 B=0000000b R=123456e0 CCIN=0000 CC=0001
+rcll       A=12345678 B=0000000b R=a2b3c448 CCIN=0001 CC=0001
+rclw       A=12345678 B=0000000b R=1234c559 CCIN=0001 CC=0001
+rclb       A=12345678 B=0000000b R=123456e2 CCIN=0001 CC=0001
+rcll       A=12345678 B=0000000c R=45678091 CCIN=0000 CC=0001
+rclw       A=12345678 B=0000000c R=123482b3 CCIN=0000 CC=0001
+rclb       A=12345678 B=0000000c R=123456c1 CCIN=0000 CC=0001
+rcll       A=12345678 B=0000000c R=45678891 CCIN=0001 CC=0001
+rclw       A=12345678 B=0000000c R=12348ab3 CCIN=0001 CC=0001
+rclb       A=12345678 B=0000000c R=123456c5 CCIN=0001 CC=0001
+rcll       A=12345678 B=0000000d R=8acf0123 CCIN=0000 CC=0000
+rclw       A=12345678 B=0000000d R=12340567 CCIN=0000 CC=0001
+rclb       A=12345678 B=0000000d R=12345683 CCIN=0000 CC=0001
+rcll       A=12345678 B=0000000d R=8acf1123 CCIN=0001 CC=0000
+rclw       A=12345678 B=0000000d R=12341567 CCIN=0001 CC=0001
+rclb       A=12345678 B=0000000d R=1234568b CCIN=0001 CC=0001
+rcll       A=12345678 B=0000000e R=159e0246 CCIN=0000 CC=0001
+rclw       A=12345678 B=0000000e R=12340acf CCIN=0000 CC=0000
+rclb       A=12345678 B=0000000e R=12345607 CCIN=0000 CC=0001
+rcll       A=12345678 B=0000000e R=159e2246 CCIN=0001 CC=0001
+rclw       A=12345678 B=0000000e R=12342acf CCIN=0001 CC=0000
+rclb       A=12345678 B=0000000e R=12345617 CCIN=0001 CC=0001
+rcll       A=12345678 B=0000000f R=2b3c048d CCIN=0000 CC=0000
+rclw       A=12345678 B=0000000f R=1234159e CCIN=0000 CC=0000
+rclb       A=12345678 B=0000000f R=1234560f CCIN=0000 CC=0000
+rcll       A=12345678 B=0000000f R=2b3c448d CCIN=0001 CC=0000
+rclw       A=12345678 B=0000000f R=1234559e CCIN=0001 CC=0000
+rclb       A=12345678 B=0000000f R=1234562f CCIN=0001 CC=0000
+rcll       A=12345678 B=00000010 R=5678091a CCIN=0000 CC=0000
+rclw       A=12345678 B=00000010 R=12342b3c CCIN=0000 CC=0000
+rclb       A=12345678 B=00000010 R=1234561e CCIN=0000 CC=0000
+rcll       A=12345678 B=00000010 R=5678891a CCIN=0001 CC=0000
+rclw       A=12345678 B=00000010 R=1234ab3c CCIN=0001 CC=0000
+rclb       A=12345678 B=00000010 R=1234565e CCIN=0001 CC=0000
+rcll       A=12345678 B=00000011 R=acf01234 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000011 R=12345678 CCIN=0000 CC=0000
+rclb       A=12345678 B=00000011 R=1234563c CCIN=0000 CC=0000
+rcll       A=12345678 B=00000011 R=acf11234 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000011 R=12345678 CCIN=0001 CC=0001
+rclb       A=12345678 B=00000011 R=123456bc CCIN=0001 CC=0000
+rcll       A=12345678 B=00000012 R=59e02468 CCIN=0000 CC=0001
+rclw       A=12345678 B=00000012 R=1234acf0 CCIN=0000 CC=0000
+rclb       A=12345678 B=00000012 R=12345678 CCIN=0000 CC=0000
+rcll       A=12345678 B=00000012 R=59e22468 CCIN=0001 CC=0001
+rclw       A=12345678 B=00000012 R=1234acf1 CCIN=0001 CC=0000
+rclb       A=12345678 B=00000012 R=12345678 CCIN=0001 CC=0001
+rcll       A=12345678 B=00000013 R=b3c048d1 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000013 R=123459e0 CCIN=0000 CC=0001
+rclb       A=12345678 B=00000013 R=123456f0 CCIN=0000 CC=0000
+rcll       A=12345678 B=00000013 R=b3c448d1 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000013 R=123459e2 CCIN=0001 CC=0001
+rclb       A=12345678 B=00000013 R=123456f1 CCIN=0001 CC=0000
+rcll       A=12345678 B=00000014 R=678091a2 CCIN=0000 CC=0001
+rclw       A=12345678 B=00000014 R=1234b3c1 CCIN=0000 CC=0000
+rclb       A=12345678 B=00000014 R=123456e0 CCIN=0000 CC=0001
+rcll       A=12345678 B=00000014 R=678891a2 CCIN=0001 CC=0001
+rclw       A=12345678 B=00000014 R=1234b3c5 CCIN=0001 CC=0000
+rclb       A=12345678 B=00000014 R=123456e2 CCIN=0001 CC=0001
+rcll       A=12345678 B=00000015 R=cf012345 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000015 R=12346782 CCIN=0000 CC=0001
+rclb       A=12345678 B=00000015 R=123456c1 CCIN=0000 CC=0001
+rcll       A=12345678 B=00000015 R=cf112345 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000015 R=1234678a CCIN=0001 CC=0001
+rclb       A=12345678 B=00000015 R=123456c5 CCIN=0001 CC=0001
+rcll       A=12345678 B=00000016 R=9e02468a CCIN=0000 CC=0001
+rclw       A=12345678 B=00000016 R=1234cf05 CCIN=0000 CC=0000
+rclb       A=12345678 B=00000016 R=12345683 CCIN=0000 CC=0001
+rcll       A=12345678 B=00000016 R=9e22468a CCIN=0001 CC=0001
+rclw       A=12345678 B=00000016 R=1234cf15 CCIN=0001 CC=0000
+rclb       A=12345678 B=00000016 R=1234568b CCIN=0001 CC=0001
+rcll       A=12345678 B=00000017 R=3c048d15 CCIN=0000 CC=0001
+rclw       A=12345678 B=00000017 R=12349e0a CCIN=0000 CC=0001
+rclb       A=12345678 B=00000017 R=12345607 CCIN=0000 CC=0001
+rcll       A=12345678 B=00000017 R=3c448d15 CCIN=0001 CC=0001
+rclw       A=12345678 B=00000017 R=12349e2a CCIN=0001 CC=0001
+rclb       A=12345678 B=00000017 R=12345617 CCIN=0001 CC=0001
+rcll       A=12345678 B=00000018 R=78091a2b CCIN=0000 CC=0000
+rclw       A=12345678 B=00000018 R=12343c15 CCIN=0000 CC=0001
+rclb       A=12345678 B=00000018 R=1234560f CCIN=0000 CC=0000
+rcll       A=12345678 B=00000018 R=78891a2b CCIN=0001 CC=0000
+rclw       A=12345678 B=00000018 R=12343c55 CCIN=0001 CC=0001
+rclb       A=12345678 B=00000018 R=1234562f CCIN=0001 CC=0000
+rcll       A=12345678 B=00000019 R=f0123456 CCIN=0000 CC=0000
+rclw       A=12345678 B=00000019 R=1234782b CCIN=0000 CC=0000
+rclb       A=12345678 B=00000019 R=1234561e CCIN=0000 CC=0000
+rcll       A=12345678 B=00000019 R=f1123456 CCIN=0001 CC=0000
+rclw       A=12345678 B=00000019 R=123478ab CCIN=0001 CC=0000
+rclb       A=12345678 B=00000019 R=1234565e CCIN=0001 CC=0000
+rcll       A=12345678 B=0000001a R=e02468ac CCIN=0000 CC=0001
+rclw       A=12345678 B=0000001a R=1234f056 CCIN=0000 CC=0000
+rclb       A=12345678 B=0000001a R=1234563c CCIN=0000 CC=0000
+rcll       A=12345678 B=0000001a R=e22468ac CCIN=0001 CC=0001
+rclw       A=12345678 B=0000001a R=1234f156 CCIN=0001 CC=0000
+rclb       A=12345678 B=0000001a R=123456bc CCIN=0001 CC=0000
+rcll       A=12345678 B=0000001b R=c048d159 CCIN=0000 CC=0001
+rclw       A=12345678 B=0000001b R=1234e0ac CCIN=0000 CC=0001
+rclb       A=12345678 B=0000001b R=12345678 CCIN=0000 CC=0000
+rcll       A=12345678 B=0000001b R=c448d159 CCIN=0001 CC=0001
+rclw       A=12345678 B=0000001b R=1234e2ac CCIN=0001 CC=0001
+rclb       A=12345678 B=0000001b R=12345678 CCIN=0001 CC=0001
+rcll       A=12345678 B=0000001c R=8091a2b3 CCIN=0000 CC=0001
+rclw       A=12345678 B=0000001c R=1234c159 CCIN=0000 CC=0001
+rclb       A=12345678 B=0000001c R=123456f0 CCIN=0000 CC=0000
+rcll       A=12345678 B=0000001c R=8891a2b3 CCIN=0001 CC=0001
+rclw       A=12345678 B=0000001c R=1234c559 CCIN=0001 CC=0001
+rclb       A=12345678 B=0000001c R=123456f1 CCIN=0001 CC=0000
+rcll       A=12345678 B=0000001d R=01234567 CCIN=0000 CC=0001
+rclw       A=12345678 B=0000001d R=123482b3 CCIN=0000 CC=0001
+rclb       A=12345678 B=0000001d R=123456e0 CCIN=0000 CC=0001
+rcll       A=12345678 B=0000001d R=11234567 CCIN=0001 CC=0001
+rclw       A=12345678 B=0000001d R=12348ab3 CCIN=0001 CC=0001
+rclb       A=12345678 B=0000001d R=123456e2 CCIN=0001 CC=0001
+rcll       A=12345678 B=0000001e R=02468acf CCIN=0000 CC=0000
+rclw       A=12345678 B=0000001e R=12340567 CCIN=0000 CC=0001
+rclb       A=12345678 B=0000001e R=123456c1 CCIN=0000 CC=0001
+rcll       A=12345678 B=0000001e R=22468acf CCIN=0001 CC=0000
+rclw       A=12345678 B=0000001e R=12341567 CCIN=0001 CC=0001
+rclb       A=12345678 B=0000001e R=123456c5 CCIN=0001 CC=0001
+rcll       A=12345678 B=0000001f R=048d159e CCIN=0000 CC=0000
+rclw       A=12345678 B=0000001f R=12340acf CCIN=0000 CC=0000
+rclb       A=12345678 B=0000001f R=12345683 CCIN=0000 CC=0001
+rcll       A=12345678 B=0000001f R=448d159e CCIN=0001 CC=0000
+rclw       A=12345678 B=0000001f R=12342acf CCIN=0001 CC=0000
+rclb       A=12345678 B=0000001f R=1234568b CCIN=0001 CC=0001
+rcll       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rclb       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rcll       A=82345679 B=00000000 R=82345679 CCIN=0001 CC=0001
+rclw       A=82345679 B=00000000 R=82345679 CCIN=0001 CC=0001
+rclb       A=82345679 B=00000000 R=82345679 CCIN=0001 CC=0001
+rcll       A=82345679 B=00000001 R=0468acf2 CCIN=0000 CC=0801
+rclw       A=82345679 B=00000001 R=8234acf2 CCIN=0000 CC=0800
+rclb       A=82345679 B=00000001 R=823456f2 CCIN=0000 CC=0800
+rcll       A=82345679 B=00000001 R=0468acf3 CCIN=0001 CC=0801
+rclw       A=82345679 B=00000001 R=8234acf3 CCIN=0001 CC=0800
+rclb       A=82345679 B=00000001 R=823456f3 CCIN=0001 CC=0800
+rcll       A=82345679 B=00000002 R=08d159e5 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000002 R=823459e4 CCIN=0000 CC=0001
+rclb       A=82345679 B=00000002 R=823456e4 CCIN=0000 CC=0001
+rcll       A=82345679 B=00000002 R=08d159e7 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000002 R=823459e6 CCIN=0001 CC=0001
+rclb       A=82345679 B=00000002 R=823456e6 CCIN=0001 CC=0001
+rcll       A=82345679 B=00000003 R=11a2b3ca CCIN=0000 CC=0000
+rclw       A=82345679 B=00000003 R=8234b3c9 CCIN=0000 CC=0000
+rclb       A=82345679 B=00000003 R=823456c9 CCIN=0000 CC=0001
+rcll       A=82345679 B=00000003 R=11a2b3ce CCIN=0001 CC=0000
+rclw       A=82345679 B=00000003 R=8234b3cd CCIN=0001 CC=0000
+rclb       A=82345679 B=00000003 R=823456cd CCIN=0001 CC=0001
+rcll       A=82345679 B=00000004 R=23456794 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000004 R=82346792 CCIN=0000 CC=0001
+rclb       A=82345679 B=00000004 R=82345693 CCIN=0000 CC=0001
+rcll       A=82345679 B=00000004 R=2345679c CCIN=0001 CC=0000
+rclw       A=82345679 B=00000004 R=8234679a CCIN=0001 CC=0001
+rclb       A=82345679 B=00000004 R=8234569b CCIN=0001 CC=0001
+rcll       A=82345679 B=00000005 R=468acf28 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000005 R=8234cf25 CCIN=0000 CC=0000
+rclb       A=82345679 B=00000005 R=82345627 CCIN=0000 CC=0001
+rcll       A=82345679 B=00000005 R=468acf38 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000005 R=8234cf35 CCIN=0001 CC=0000
+rclb       A=82345679 B=00000005 R=82345637 CCIN=0001 CC=0001
+rcll       A=82345679 B=00000006 R=8d159e50 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000006 R=82349e4a CCIN=0000 CC=0001
+rclb       A=82345679 B=00000006 R=8234564f CCIN=0000 CC=0000
+rcll       A=82345679 B=00000006 R=8d159e70 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000006 R=82349e6a CCIN=0001 CC=0001
+rclb       A=82345679 B=00000006 R=8234566f CCIN=0001 CC=0000
+rcll       A=82345679 B=00000007 R=1a2b3ca0 CCIN=0000 CC=0001
+rclw       A=82345679 B=00000007 R=82343c95 CCIN=0000 CC=0001
+rclb       A=82345679 B=00000007 R=8234569e CCIN=0000 CC=0000
+rcll       A=82345679 B=00000007 R=1a2b3ce0 CCIN=0001 CC=0001
+rclw       A=82345679 B=00000007 R=82343cd5 CCIN=0001 CC=0001
+rclb       A=82345679 B=00000007 R=823456de CCIN=0001 CC=0000
+rcll       A=82345679 B=00000008 R=34567941 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000008 R=8234792b CCIN=0000 CC=0000
+rclb       A=82345679 B=00000008 R=8234563c CCIN=0000 CC=0001
+rcll       A=82345679 B=00000008 R=345679c1 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000008 R=823479ab CCIN=0001 CC=0000
+rclb       A=82345679 B=00000008 R=823456bc CCIN=0001 CC=0001
+rcll       A=82345679 B=00000009 R=68acf282 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000009 R=8234f256 CCIN=0000 CC=0000
+rclb       A=82345679 B=00000009 R=82345679 CCIN=0000 CC=0000
+rcll       A=82345679 B=00000009 R=68acf382 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000009 R=8234f356 CCIN=0001 CC=0000
+rclb       A=82345679 B=00000009 R=82345679 CCIN=0001 CC=0001
+rcll       A=82345679 B=0000000a R=d159e504 CCIN=0000 CC=0000
+rclw       A=82345679 B=0000000a R=8234e4ac CCIN=0000 CC=0001
+rclb       A=82345679 B=0000000a R=823456f2 CCIN=0000 CC=0000
+rcll       A=82345679 B=0000000a R=d159e704 CCIN=0001 CC=0000
+rclw       A=82345679 B=0000000a R=8234e6ac CCIN=0001 CC=0001
+rclb       A=82345679 B=0000000a R=823456f3 CCIN=0001 CC=0000
+rcll       A=82345679 B=0000000b R=a2b3ca08 CCIN=0000 CC=0001
+rclw       A=82345679 B=0000000b R=8234c959 CCIN=0000 CC=0001
+rclb       A=82345679 B=0000000b R=823456e4 CCIN=0000 CC=0001
+rcll       A=82345679 B=0000000b R=a2b3ce08 CCIN=0001 CC=0001
+rclw       A=82345679 B=0000000b R=8234cd59 CCIN=0001 CC=0001
+rclb       A=82345679 B=0000000b R=823456e6 CCIN=0001 CC=0001
+rcll       A=82345679 B=0000000c R=45679411 CCIN=0000 CC=0001
+rclw       A=82345679 B=0000000c R=823492b3 CCIN=0000 CC=0001
+rclb       A=82345679 B=0000000c R=823456c9 CCIN=0000 CC=0001
+rcll       A=82345679 B=0000000c R=45679c11 CCIN=0001 CC=0001
+rclw       A=82345679 B=0000000c R=82349ab3 CCIN=0001 CC=0001
+rclb       A=82345679 B=0000000c R=823456cd CCIN=0001 CC=0001
+rcll       A=82345679 B=0000000d R=8acf2823 CCIN=0000 CC=0000
+rclw       A=82345679 B=0000000d R=82342567 CCIN=0000 CC=0001
+rclb       A=82345679 B=0000000d R=82345693 CCIN=0000 CC=0001
+rcll       A=82345679 B=0000000d R=8acf3823 CCIN=0001 CC=0000
+rclw       A=82345679 B=0000000d R=82343567 CCIN=0001 CC=0001
+rclb       A=82345679 B=0000000d R=8234569b CCIN=0001 CC=0001
+rcll       A=82345679 B=0000000e R=159e5046 CCIN=0000 CC=0001
+rclw       A=82345679 B=0000000e R=82344acf CCIN=0000 CC=0000
+rclb       A=82345679 B=0000000e R=82345627 CCIN=0000 CC=0001
+rcll       A=82345679 B=0000000e R=159e7046 CCIN=0001 CC=0001
+rclw       A=82345679 B=0000000e R=82346acf CCIN=0001 CC=0000
+rclb       A=82345679 B=0000000e R=82345637 CCIN=0001 CC=0001
+rcll       A=82345679 B=0000000f R=2b3ca08d CCIN=0000 CC=0000
+rclw       A=82345679 B=0000000f R=8234959e CCIN=0000 CC=0000
+rclb       A=82345679 B=0000000f R=8234564f CCIN=0000 CC=0000
+rcll       A=82345679 B=0000000f R=2b3ce08d CCIN=0001 CC=0000
+rclw       A=82345679 B=0000000f R=8234d59e CCIN=0001 CC=0000
+rclb       A=82345679 B=0000000f R=8234566f CCIN=0001 CC=0000
+rcll       A=82345679 B=00000010 R=5679411a CCIN=0000 CC=0000
+rclw       A=82345679 B=00000010 R=82342b3c CCIN=0000 CC=0001
+rclb       A=82345679 B=00000010 R=8234569e CCIN=0000 CC=0000
+rcll       A=82345679 B=00000010 R=5679c11a CCIN=0001 CC=0000
+rclw       A=82345679 B=00000010 R=8234ab3c CCIN=0001 CC=0001
+rclb       A=82345679 B=00000010 R=823456de CCIN=0001 CC=0000
+rcll       A=82345679 B=00000011 R=acf28234 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000011 R=82345679 CCIN=0000 CC=0000
+rclb       A=82345679 B=00000011 R=8234563c CCIN=0000 CC=0001
+rcll       A=82345679 B=00000011 R=acf38234 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000011 R=82345679 CCIN=0001 CC=0001
+rclb       A=82345679 B=00000011 R=823456bc CCIN=0001 CC=0001
+rcll       A=82345679 B=00000012 R=59e50468 CCIN=0000 CC=0001
+rclw       A=82345679 B=00000012 R=8234acf2 CCIN=0000 CC=0000
+rclb       A=82345679 B=00000012 R=82345679 CCIN=0000 CC=0000
+rcll       A=82345679 B=00000012 R=59e70468 CCIN=0001 CC=0001
+rclw       A=82345679 B=00000012 R=8234acf3 CCIN=0001 CC=0000
+rclb       A=82345679 B=00000012 R=82345679 CCIN=0001 CC=0001
+rcll       A=82345679 B=00000013 R=b3ca08d1 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000013 R=823459e4 CCIN=0000 CC=0001
+rclb       A=82345679 B=00000013 R=823456f2 CCIN=0000 CC=0000
+rcll       A=82345679 B=00000013 R=b3ce08d1 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000013 R=823459e6 CCIN=0001 CC=0001
+rclb       A=82345679 B=00000013 R=823456f3 CCIN=0001 CC=0000
+rcll       A=82345679 B=00000014 R=679411a2 CCIN=0000 CC=0001
+rclw       A=82345679 B=00000014 R=8234b3c9 CCIN=0000 CC=0000
+rclb       A=82345679 B=00000014 R=823456e4 CCIN=0000 CC=0001
+rcll       A=82345679 B=00000014 R=679c11a2 CCIN=0001 CC=0001
+rclw       A=82345679 B=00000014 R=8234b3cd CCIN=0001 CC=0000
+rclb       A=82345679 B=00000014 R=823456e6 CCIN=0001 CC=0001
+rcll       A=82345679 B=00000015 R=cf282345 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000015 R=82346792 CCIN=0000 CC=0001
+rclb       A=82345679 B=00000015 R=823456c9 CCIN=0000 CC=0001
+rcll       A=82345679 B=00000015 R=cf382345 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000015 R=8234679a CCIN=0001 CC=0001
+rclb       A=82345679 B=00000015 R=823456cd CCIN=0001 CC=0001
+rcll       A=82345679 B=00000016 R=9e50468a CCIN=0000 CC=0001
+rclw       A=82345679 B=00000016 R=8234cf25 CCIN=0000 CC=0000
+rclb       A=82345679 B=00000016 R=82345693 CCIN=0000 CC=0001
+rcll       A=82345679 B=00000016 R=9e70468a CCIN=0001 CC=0001
+rclw       A=82345679 B=00000016 R=8234cf35 CCIN=0001 CC=0000
+rclb       A=82345679 B=00000016 R=8234569b CCIN=0001 CC=0001
+rcll       A=82345679 B=00000017 R=3ca08d15 CCIN=0000 CC=0001
+rclw       A=82345679 B=00000017 R=82349e4a CCIN=0000 CC=0001
+rclb       A=82345679 B=00000017 R=82345627 CCIN=0000 CC=0001
+rcll       A=82345679 B=00000017 R=3ce08d15 CCIN=0001 CC=0001
+rclw       A=82345679 B=00000017 R=82349e6a CCIN=0001 CC=0001
+rclb       A=82345679 B=00000017 R=82345637 CCIN=0001 CC=0001
+rcll       A=82345679 B=00000018 R=79411a2b CCIN=0000 CC=0000
+rclw       A=82345679 B=00000018 R=82343c95 CCIN=0000 CC=0001
+rclb       A=82345679 B=00000018 R=8234564f CCIN=0000 CC=0000
+rcll       A=82345679 B=00000018 R=79c11a2b CCIN=0001 CC=0000
+rclw       A=82345679 B=00000018 R=82343cd5 CCIN=0001 CC=0001
+rclb       A=82345679 B=00000018 R=8234566f CCIN=0001 CC=0000
+rcll       A=82345679 B=00000019 R=f2823456 CCIN=0000 CC=0000
+rclw       A=82345679 B=00000019 R=8234792b CCIN=0000 CC=0000
+rclb       A=82345679 B=00000019 R=8234569e CCIN=0000 CC=0000
+rcll       A=82345679 B=00000019 R=f3823456 CCIN=0001 CC=0000
+rclw       A=82345679 B=00000019 R=823479ab CCIN=0001 CC=0000
+rclb       A=82345679 B=00000019 R=823456de CCIN=0001 CC=0000
+rcll       A=82345679 B=0000001a R=e50468ac CCIN=0000 CC=0001
+rclw       A=82345679 B=0000001a R=8234f256 CCIN=0000 CC=0000
+rclb       A=82345679 B=0000001a R=8234563c CCIN=0000 CC=0001
+rcll       A=82345679 B=0000001a R=e70468ac CCIN=0001 CC=0001
+rclw       A=82345679 B=0000001a R=8234f356 CCIN=0001 CC=0000
+rclb       A=82345679 B=0000001a R=823456bc CCIN=0001 CC=0001
+rcll       A=82345679 B=0000001b R=ca08d159 CCIN=0000 CC=0001
+rclw       A=82345679 B=0000001b R=8234e4ac CCIN=0000 CC=0001
+rclb       A=82345679 B=0000001b R=82345679 CCIN=0000 CC=0000
+rcll       A=82345679 B=0000001b R=ce08d159 CCIN=0001 CC=0001
+rclw       A=82345679 B=0000001b R=8234e6ac CCIN=0001 CC=0001
+rclb       A=82345679 B=0000001b R=82345679 CCIN=0001 CC=0001
+rcll       A=82345679 B=0000001c R=9411a2b3 CCIN=0000 CC=0001
+rclw       A=82345679 B=0000001c R=8234c959 CCIN=0000 CC=0001
+rclb       A=82345679 B=0000001c R=823456f2 CCIN=0000 CC=0000
+rcll       A=82345679 B=0000001c R=9c11a2b3 CCIN=0001 CC=0001
+rclw       A=82345679 B=0000001c R=8234cd59 CCIN=0001 CC=0001
+rclb       A=82345679 B=0000001c R=823456f3 CCIN=0001 CC=0000
+rcll       A=82345679 B=0000001d R=28234567 CCIN=0000 CC=0001
+rclw       A=82345679 B=0000001d R=823492b3 CCIN=0000 CC=0001
+rclb       A=82345679 B=0000001d R=823456e4 CCIN=0000 CC=0001
+rcll       A=82345679 B=0000001d R=38234567 CCIN=0001 CC=0001
+rclw       A=82345679 B=0000001d R=82349ab3 CCIN=0001 CC=0001
+rclb       A=82345679 B=0000001d R=823456e6 CCIN=0001 CC=0001
+rcll       A=82345679 B=0000001e R=50468acf CCIN=0000 CC=0000
+rclw       A=82345679 B=0000001e R=82342567 CCIN=0000 CC=0001
+rclb       A=82345679 B=0000001e R=823456c9 CCIN=0000 CC=0001
+rcll       A=82345679 B=0000001e R=70468acf CCIN=0001 CC=0000
+rclw       A=82345679 B=0000001e R=82343567 CCIN=0001 CC=0001
+rclb       A=82345679 B=0000001e R=823456cd CCIN=0001 CC=0001
+rcll       A=82345679 B=0000001f R=a08d159e CCIN=0000 CC=0000
+rclw       A=82345679 B=0000001f R=82344acf CCIN=0000 CC=0000
+rclb       A=82345679 B=0000001f R=82345693 CCIN=0000 CC=0001
+rcll       A=82345679 B=0000001f R=e08d159e CCIN=0001 CC=0000
+rclw       A=82345679 B=0000001f R=82346acf CCIN=0001 CC=0000
+rclb       A=82345679 B=0000001f R=8234569b CCIN=0001 CC=0001
diff --git a/test/arch/x86/qemu/expected/test_rcr.exp b/test/arch/x86/qemu/expected/test_rcr.exp
new file mode 100644
index 00000000..49243d8e
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_rcr.exp
@@ -0,0 +1,384 @@
+rcrl       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000000 R=12345678 CCIN=0001 CC=0001
+rcrw       A=12345678 B=00000000 R=12345678 CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000000 R=12345678 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000001 R=091a2b3c CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000001 R=12342b3c CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000001 R=1234563c CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000001 R=891a2b3c CCIN=0001 CC=0800
+rcrw       A=12345678 B=00000001 R=1234ab3c CCIN=0001 CC=0800
+rcrb       A=12345678 B=00000001 R=123456bc CCIN=0001 CC=0800
+rcrl       A=12345678 B=00000002 R=048d159e CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000002 R=1234159e CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000002 R=1234561e CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000002 R=448d159e CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000002 R=1234559e CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000002 R=1234565e CCIN=0001 CC=0000
+rcrl       A=12345678 B=00000003 R=02468acf CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000003 R=12340acf CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000003 R=1234560f CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000003 R=22468acf CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000003 R=12342acf CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000003 R=1234562f CCIN=0001 CC=0000
+rcrl       A=12345678 B=00000004 R=01234567 CCIN=0000 CC=0001
+rcrw       A=12345678 B=00000004 R=12340567 CCIN=0000 CC=0001
+rcrb       A=12345678 B=00000004 R=12345607 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000004 R=11234567 CCIN=0001 CC=0001
+rcrw       A=12345678 B=00000004 R=12341567 CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000004 R=12345617 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000005 R=8091a2b3 CCIN=0000 CC=0001
+rcrw       A=12345678 B=00000005 R=123482b3 CCIN=0000 CC=0001
+rcrb       A=12345678 B=00000005 R=12345683 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000005 R=8891a2b3 CCIN=0001 CC=0001
+rcrw       A=12345678 B=00000005 R=12348ab3 CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000005 R=1234568b CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000006 R=c048d159 CCIN=0000 CC=0001
+rcrw       A=12345678 B=00000006 R=1234c159 CCIN=0000 CC=0001
+rcrb       A=12345678 B=00000006 R=123456c1 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000006 R=c448d159 CCIN=0001 CC=0001
+rcrw       A=12345678 B=00000006 R=1234c559 CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000006 R=123456c5 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000007 R=e02468ac CCIN=0000 CC=0001
+rcrw       A=12345678 B=00000007 R=1234e0ac CCIN=0000 CC=0001
+rcrb       A=12345678 B=00000007 R=123456e0 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000007 R=e22468ac CCIN=0001 CC=0001
+rcrw       A=12345678 B=00000007 R=1234e2ac CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000007 R=123456e2 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000008 R=f0123456 CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000008 R=1234f056 CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000008 R=123456f0 CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000008 R=f1123456 CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000008 R=1234f156 CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000008 R=123456f1 CCIN=0001 CC=0000
+rcrl       A=12345678 B=00000009 R=78091a2b CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000009 R=1234782b CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000009 R=12345678 CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000009 R=78891a2b CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000009 R=123478ab CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000009 R=12345678 CCIN=0001 CC=0001
+rcrl       A=12345678 B=0000000a R=3c048d15 CCIN=0000 CC=0001
+rcrw       A=12345678 B=0000000a R=12343c15 CCIN=0000 CC=0001
+rcrb       A=12345678 B=0000000a R=1234563c CCIN=0000 CC=0000
+rcrl       A=12345678 B=0000000a R=3c448d15 CCIN=0001 CC=0001
+rcrw       A=12345678 B=0000000a R=12343c55 CCIN=0001 CC=0001
+rcrb       A=12345678 B=0000000a R=123456bc CCIN=0001 CC=0000
+rcrl       A=12345678 B=0000000b R=9e02468a CCIN=0000 CC=0001
+rcrw       A=12345678 B=0000000b R=12349e0a CCIN=0000 CC=0001
+rcrb       A=12345678 B=0000000b R=1234561e CCIN=0000 CC=0000
+rcrl       A=12345678 B=0000000b R=9e22468a CCIN=0001 CC=0001
+rcrw       A=12345678 B=0000000b R=12349e2a CCIN=0001 CC=0001
+rcrb       A=12345678 B=0000000b R=1234565e CCIN=0001 CC=0000
+rcrl       A=12345678 B=0000000c R=cf012345 CCIN=0000 CC=0000
+rcrw       A=12345678 B=0000000c R=1234cf05 CCIN=0000 CC=0000
+rcrb       A=12345678 B=0000000c R=1234560f CCIN=0000 CC=0000
+rcrl       A=12345678 B=0000000c R=cf112345 CCIN=0001 CC=0000
+rcrw       A=12345678 B=0000000c R=1234cf15 CCIN=0001 CC=0000
+rcrb       A=12345678 B=0000000c R=1234562f CCIN=0001 CC=0000
+rcrl       A=12345678 B=0000000d R=678091a2 CCIN=0000 CC=0001
+rcrw       A=12345678 B=0000000d R=12346782 CCIN=0000 CC=0001
+rcrb       A=12345678 B=0000000d R=12345607 CCIN=0000 CC=0001
+rcrl       A=12345678 B=0000000d R=678891a2 CCIN=0001 CC=0001
+rcrw       A=12345678 B=0000000d R=1234678a CCIN=0001 CC=0001
+rcrb       A=12345678 B=0000000d R=12345617 CCIN=0001 CC=0001
+rcrl       A=12345678 B=0000000e R=b3c048d1 CCIN=0000 CC=0000
+rcrw       A=12345678 B=0000000e R=1234b3c1 CCIN=0000 CC=0000
+rcrb       A=12345678 B=0000000e R=12345683 CCIN=0000 CC=0001
+rcrl       A=12345678 B=0000000e R=b3c448d1 CCIN=0001 CC=0000
+rcrw       A=12345678 B=0000000e R=1234b3c5 CCIN=0001 CC=0000
+rcrb       A=12345678 B=0000000e R=1234568b CCIN=0001 CC=0001
+rcrl       A=12345678 B=0000000f R=59e02468 CCIN=0000 CC=0001
+rcrw       A=12345678 B=0000000f R=123459e0 CCIN=0000 CC=0001
+rcrb       A=12345678 B=0000000f R=123456c1 CCIN=0000 CC=0001
+rcrl       A=12345678 B=0000000f R=59e22468 CCIN=0001 CC=0001
+rcrw       A=12345678 B=0000000f R=123459e2 CCIN=0001 CC=0001
+rcrb       A=12345678 B=0000000f R=123456c5 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000010 R=acf01234 CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000010 R=1234acf0 CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000010 R=123456e0 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000010 R=acf11234 CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000010 R=1234acf1 CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000010 R=123456e2 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000011 R=5678091a CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000011 R=12345678 CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000011 R=123456f0 CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000011 R=5678891a CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000011 R=12345678 CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000011 R=123456f1 CCIN=0001 CC=0000
+rcrl       A=12345678 B=00000012 R=2b3c048d CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000012 R=12342b3c CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000012 R=12345678 CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000012 R=2b3c448d CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000012 R=1234ab3c CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000012 R=12345678 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000013 R=159e0246 CCIN=0000 CC=0001
+rcrw       A=12345678 B=00000013 R=1234159e CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000013 R=1234563c CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000013 R=159e2246 CCIN=0001 CC=0001
+rcrw       A=12345678 B=00000013 R=1234559e CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000013 R=123456bc CCIN=0001 CC=0000
+rcrl       A=12345678 B=00000014 R=8acf0123 CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000014 R=12340acf CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000014 R=1234561e CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000014 R=8acf1123 CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000014 R=12342acf CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000014 R=1234565e CCIN=0001 CC=0000
+rcrl       A=12345678 B=00000015 R=45678091 CCIN=0000 CC=0001
+rcrw       A=12345678 B=00000015 R=12340567 CCIN=0000 CC=0001
+rcrb       A=12345678 B=00000015 R=1234560f CCIN=0000 CC=0000
+rcrl       A=12345678 B=00000015 R=45678891 CCIN=0001 CC=0001
+rcrw       A=12345678 B=00000015 R=12341567 CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000015 R=1234562f CCIN=0001 CC=0000
+rcrl       A=12345678 B=00000016 R=a2b3c048 CCIN=0000 CC=0001
+rcrw       A=12345678 B=00000016 R=123482b3 CCIN=0000 CC=0001
+rcrb       A=12345678 B=00000016 R=12345607 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000016 R=a2b3c448 CCIN=0001 CC=0001
+rcrw       A=12345678 B=00000016 R=12348ab3 CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000016 R=12345617 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000017 R=d159e024 CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000017 R=1234c159 CCIN=0000 CC=0001
+rcrb       A=12345678 B=00000017 R=12345683 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000017 R=d159e224 CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000017 R=1234c559 CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000017 R=1234568b CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000018 R=68acf012 CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000018 R=1234e0ac CCIN=0000 CC=0001
+rcrb       A=12345678 B=00000018 R=123456c1 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000018 R=68acf112 CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000018 R=1234e2ac CCIN=0001 CC=0001
+rcrb       A=12345678 B=00000018 R=123456c5 CCIN=0001 CC=0001
+rcrl       A=12345678 B=00000019 R=34567809 CCIN=0000 CC=0000
+rcrw       A=12345678 B=00000019 R=1234f056 CCIN=0000 CC=0000
+rcrb       A=12345678 B=00000019 R=123456e0 CCIN=0000 CC=0001
+rcrl       A=12345678 B=00000019 R=34567889 CCIN=0001 CC=0000
+rcrw       A=12345678 B=00000019 R=1234f156 CCIN=0001 CC=0000
+rcrb       A=12345678 B=00000019 R=123456e2 CCIN=0001 CC=0001
+rcrl       A=12345678 B=0000001a R=1a2b3c04 CCIN=0000 CC=0001
+rcrw       A=12345678 B=0000001a R=1234782b CCIN=0000 CC=0000
+rcrb       A=12345678 B=0000001a R=123456f0 CCIN=0000 CC=0000
+rcrl       A=12345678 B=0000001a R=1a2b3c44 CCIN=0001 CC=0001
+rcrw       A=12345678 B=0000001a R=123478ab CCIN=0001 CC=0000
+rcrb       A=12345678 B=0000001a R=123456f1 CCIN=0001 CC=0000
+rcrl       A=12345678 B=0000001b R=8d159e02 CCIN=0000 CC=0000
+rcrw       A=12345678 B=0000001b R=12343c15 CCIN=0000 CC=0001
+rcrb       A=12345678 B=0000001b R=12345678 CCIN=0000 CC=0000
+rcrl       A=12345678 B=0000001b R=8d159e22 CCIN=0001 CC=0000
+rcrw       A=12345678 B=0000001b R=12343c55 CCIN=0001 CC=0001
+rcrb       A=12345678 B=0000001b R=12345678 CCIN=0001 CC=0001
+rcrl       A=12345678 B=0000001c R=468acf01 CCIN=0000 CC=0000
+rcrw       A=12345678 B=0000001c R=12349e0a CCIN=0000 CC=0001
+rcrb       A=12345678 B=0000001c R=1234563c CCIN=0000 CC=0000
+rcrl       A=12345678 B=0000001c R=468acf11 CCIN=0001 CC=0000
+rcrw       A=12345678 B=0000001c R=12349e2a CCIN=0001 CC=0001
+rcrb       A=12345678 B=0000001c R=123456bc CCIN=0001 CC=0000
+rcrl       A=12345678 B=0000001d R=23456780 CCIN=0000 CC=0001
+rcrw       A=12345678 B=0000001d R=1234cf05 CCIN=0000 CC=0000
+rcrb       A=12345678 B=0000001d R=1234561e CCIN=0000 CC=0000
+rcrl       A=12345678 B=0000001d R=23456788 CCIN=0001 CC=0001
+rcrw       A=12345678 B=0000001d R=1234cf15 CCIN=0001 CC=0000
+rcrb       A=12345678 B=0000001d R=1234565e CCIN=0001 CC=0000
+rcrl       A=12345678 B=0000001e R=91a2b3c0 CCIN=0000 CC=0000
+rcrw       A=12345678 B=0000001e R=12346782 CCIN=0000 CC=0001
+rcrb       A=12345678 B=0000001e R=1234560f CCIN=0000 CC=0000
+rcrl       A=12345678 B=0000001e R=91a2b3c4 CCIN=0001 CC=0000
+rcrw       A=12345678 B=0000001e R=1234678a CCIN=0001 CC=0001
+rcrb       A=12345678 B=0000001e R=1234562f CCIN=0001 CC=0000
+rcrl       A=12345678 B=0000001f R=48d159e0 CCIN=0000 CC=0000
+rcrw       A=12345678 B=0000001f R=1234b3c1 CCIN=0000 CC=0000
+rcrb       A=12345678 B=0000001f R=12345607 CCIN=0000 CC=0001
+rcrl       A=12345678 B=0000001f R=48d159e2 CCIN=0001 CC=0000
+rcrw       A=12345678 B=0000001f R=1234b3c5 CCIN=0001 CC=0000
+rcrb       A=12345678 B=0000001f R=12345617 CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000000 R=82345679 CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000000 R=82345679 CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000000 R=82345679 CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000001 R=411a2b3c CCIN=0000 CC=0801
+rcrw       A=82345679 B=00000001 R=82342b3c CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000001 R=8234563c CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000001 R=c11a2b3c CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000001 R=8234ab3c CCIN=0001 CC=0801
+rcrb       A=82345679 B=00000001 R=823456bc CCIN=0001 CC=0801
+rcrl       A=82345679 B=00000002 R=a08d159e CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000002 R=8234959e CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000002 R=8234569e CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000002 R=e08d159e CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000002 R=8234d59e CCIN=0001 CC=0000
+rcrb       A=82345679 B=00000002 R=823456de CCIN=0001 CC=0000
+rcrl       A=82345679 B=00000003 R=50468acf CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000003 R=82344acf CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000003 R=8234564f CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000003 R=70468acf CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000003 R=82346acf CCIN=0001 CC=0000
+rcrb       A=82345679 B=00000003 R=8234566f CCIN=0001 CC=0000
+rcrl       A=82345679 B=00000004 R=28234567 CCIN=0000 CC=0001
+rcrw       A=82345679 B=00000004 R=82342567 CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000004 R=82345627 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000004 R=38234567 CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000004 R=82343567 CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000004 R=82345637 CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000005 R=9411a2b3 CCIN=0000 CC=0001
+rcrw       A=82345679 B=00000005 R=823492b3 CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000005 R=82345693 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000005 R=9c11a2b3 CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000005 R=82349ab3 CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000005 R=8234569b CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000006 R=ca08d159 CCIN=0000 CC=0001
+rcrw       A=82345679 B=00000006 R=8234c959 CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000006 R=823456c9 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000006 R=ce08d159 CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000006 R=8234cd59 CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000006 R=823456cd CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000007 R=e50468ac CCIN=0000 CC=0001
+rcrw       A=82345679 B=00000007 R=8234e4ac CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000007 R=823456e4 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000007 R=e70468ac CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000007 R=8234e6ac CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000007 R=823456e6 CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000008 R=f2823456 CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000008 R=8234f256 CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000008 R=823456f2 CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000008 R=f3823456 CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000008 R=8234f356 CCIN=0001 CC=0000
+rcrb       A=82345679 B=00000008 R=823456f3 CCIN=0001 CC=0000
+rcrl       A=82345679 B=00000009 R=79411a2b CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000009 R=8234792b CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000009 R=82345679 CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000009 R=79c11a2b CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000009 R=823479ab CCIN=0001 CC=0000
+rcrb       A=82345679 B=00000009 R=82345679 CCIN=0001 CC=0001
+rcrl       A=82345679 B=0000000a R=3ca08d15 CCIN=0000 CC=0001
+rcrw       A=82345679 B=0000000a R=82343c95 CCIN=0000 CC=0001
+rcrb       A=82345679 B=0000000a R=8234563c CCIN=0000 CC=0001
+rcrl       A=82345679 B=0000000a R=3ce08d15 CCIN=0001 CC=0001
+rcrw       A=82345679 B=0000000a R=82343cd5 CCIN=0001 CC=0001
+rcrb       A=82345679 B=0000000a R=823456bc CCIN=0001 CC=0001
+rcrl       A=82345679 B=0000000b R=9e50468a CCIN=0000 CC=0001
+rcrw       A=82345679 B=0000000b R=82349e4a CCIN=0000 CC=0001
+rcrb       A=82345679 B=0000000b R=8234569e CCIN=0000 CC=0000
+rcrl       A=82345679 B=0000000b R=9e70468a CCIN=0001 CC=0001
+rcrw       A=82345679 B=0000000b R=82349e6a CCIN=0001 CC=0001
+rcrb       A=82345679 B=0000000b R=823456de CCIN=0001 CC=0000
+rcrl       A=82345679 B=0000000c R=cf282345 CCIN=0000 CC=0000
+rcrw       A=82345679 B=0000000c R=8234cf25 CCIN=0000 CC=0000
+rcrb       A=82345679 B=0000000c R=8234564f CCIN=0000 CC=0000
+rcrl       A=82345679 B=0000000c R=cf382345 CCIN=0001 CC=0000
+rcrw       A=82345679 B=0000000c R=8234cf35 CCIN=0001 CC=0000
+rcrb       A=82345679 B=0000000c R=8234566f CCIN=0001 CC=0000
+rcrl       A=82345679 B=0000000d R=679411a2 CCIN=0000 CC=0001
+rcrw       A=82345679 B=0000000d R=82346792 CCIN=0000 CC=0001
+rcrb       A=82345679 B=0000000d R=82345627 CCIN=0000 CC=0001
+rcrl       A=82345679 B=0000000d R=679c11a2 CCIN=0001 CC=0001
+rcrw       A=82345679 B=0000000d R=8234679a CCIN=0001 CC=0001
+rcrb       A=82345679 B=0000000d R=82345637 CCIN=0001 CC=0001
+rcrl       A=82345679 B=0000000e R=b3ca08d1 CCIN=0000 CC=0000
+rcrw       A=82345679 B=0000000e R=8234b3c9 CCIN=0000 CC=0000
+rcrb       A=82345679 B=0000000e R=82345693 CCIN=0000 CC=0001
+rcrl       A=82345679 B=0000000e R=b3ce08d1 CCIN=0001 CC=0000
+rcrw       A=82345679 B=0000000e R=8234b3cd CCIN=0001 CC=0000
+rcrb       A=82345679 B=0000000e R=8234569b CCIN=0001 CC=0001
+rcrl       A=82345679 B=0000000f R=59e50468 CCIN=0000 CC=0001
+rcrw       A=82345679 B=0000000f R=823459e4 CCIN=0000 CC=0001
+rcrb       A=82345679 B=0000000f R=823456c9 CCIN=0000 CC=0001
+rcrl       A=82345679 B=0000000f R=59e70468 CCIN=0001 CC=0001
+rcrw       A=82345679 B=0000000f R=823459e6 CCIN=0001 CC=0001
+rcrb       A=82345679 B=0000000f R=823456cd CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000010 R=acf28234 CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000010 R=8234acf2 CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000010 R=823456e4 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000010 R=acf38234 CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000010 R=8234acf3 CCIN=0001 CC=0000
+rcrb       A=82345679 B=00000010 R=823456e6 CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000011 R=5679411a CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000011 R=82345679 CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000011 R=823456f2 CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000011 R=5679c11a CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000011 R=82345679 CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000011 R=823456f3 CCIN=0001 CC=0000
+rcrl       A=82345679 B=00000012 R=2b3ca08d CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000012 R=82342b3c CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000012 R=82345679 CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000012 R=2b3ce08d CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000012 R=8234ab3c CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000012 R=82345679 CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000013 R=159e5046 CCIN=0000 CC=0001
+rcrw       A=82345679 B=00000013 R=8234959e CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000013 R=8234563c CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000013 R=159e7046 CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000013 R=8234d59e CCIN=0001 CC=0000
+rcrb       A=82345679 B=00000013 R=823456bc CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000014 R=8acf2823 CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000014 R=82344acf CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000014 R=8234569e CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000014 R=8acf3823 CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000014 R=82346acf CCIN=0001 CC=0000
+rcrb       A=82345679 B=00000014 R=823456de CCIN=0001 CC=0000
+rcrl       A=82345679 B=00000015 R=45679411 CCIN=0000 CC=0001
+rcrw       A=82345679 B=00000015 R=82342567 CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000015 R=8234564f CCIN=0000 CC=0000
+rcrl       A=82345679 B=00000015 R=45679c11 CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000015 R=82343567 CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000015 R=8234566f CCIN=0001 CC=0000
+rcrl       A=82345679 B=00000016 R=a2b3ca08 CCIN=0000 CC=0001
+rcrw       A=82345679 B=00000016 R=823492b3 CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000016 R=82345627 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000016 R=a2b3ce08 CCIN=0001 CC=0001
+rcrw       A=82345679 B=00000016 R=82349ab3 CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000016 R=82345637 CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000017 R=d159e504 CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000017 R=8234c959 CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000017 R=82345693 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000017 R=d159e704 CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000017 R=8234cd59 CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000017 R=8234569b CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000018 R=68acf282 CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000018 R=8234e4ac CCIN=0000 CC=0001
+rcrb       A=82345679 B=00000018 R=823456c9 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000018 R=68acf382 CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000018 R=8234e6ac CCIN=0001 CC=0001
+rcrb       A=82345679 B=00000018 R=823456cd CCIN=0001 CC=0001
+rcrl       A=82345679 B=00000019 R=34567941 CCIN=0000 CC=0000
+rcrw       A=82345679 B=00000019 R=8234f256 CCIN=0000 CC=0000
+rcrb       A=82345679 B=00000019 R=823456e4 CCIN=0000 CC=0001
+rcrl       A=82345679 B=00000019 R=345679c1 CCIN=0001 CC=0000
+rcrw       A=82345679 B=00000019 R=8234f356 CCIN=0001 CC=0000
+rcrb       A=82345679 B=00000019 R=823456e6 CCIN=0001 CC=0001
+rcrl       A=82345679 B=0000001a R=1a2b3ca0 CCIN=0000 CC=0001
+rcrw       A=82345679 B=0000001a R=8234792b CCIN=0000 CC=0000
+rcrb       A=82345679 B=0000001a R=823456f2 CCIN=0000 CC=0000
+rcrl       A=82345679 B=0000001a R=1a2b3ce0 CCIN=0001 CC=0001
+rcrw       A=82345679 B=0000001a R=823479ab CCIN=0001 CC=0000
+rcrb       A=82345679 B=0000001a R=823456f3 CCIN=0001 CC=0000
+rcrl       A=82345679 B=0000001b R=8d159e50 CCIN=0000 CC=0000
+rcrw       A=82345679 B=0000001b R=82343c95 CCIN=0000 CC=0001
+rcrb       A=82345679 B=0000001b R=82345679 CCIN=0000 CC=0000
+rcrl       A=82345679 B=0000001b R=8d159e70 CCIN=0001 CC=0000
+rcrw       A=82345679 B=0000001b R=82343cd5 CCIN=0001 CC=0001
+rcrb       A=82345679 B=0000001b R=82345679 CCIN=0001 CC=0001
+rcrl       A=82345679 B=0000001c R=468acf28 CCIN=0000 CC=0000
+rcrw       A=82345679 B=0000001c R=82349e4a CCIN=0000 CC=0001
+rcrb       A=82345679 B=0000001c R=8234563c CCIN=0000 CC=0001
+rcrl       A=82345679 B=0000001c R=468acf38 CCIN=0001 CC=0000
+rcrw       A=82345679 B=0000001c R=82349e6a CCIN=0001 CC=0001
+rcrb       A=82345679 B=0000001c R=823456bc CCIN=0001 CC=0001
+rcrl       A=82345679 B=0000001d R=23456794 CCIN=0000 CC=0000
+rcrw       A=82345679 B=0000001d R=8234cf25 CCIN=0000 CC=0000
+rcrb       A=82345679 B=0000001d R=8234569e CCIN=0000 CC=0000
+rcrl       A=82345679 B=0000001d R=2345679c CCIN=0001 CC=0000
+rcrw       A=82345679 B=0000001d R=8234cf35 CCIN=0001 CC=0000
+rcrb       A=82345679 B=0000001d R=823456de CCIN=0001 CC=0000
+rcrl       A=82345679 B=0000001e R=11a2b3ca CCIN=0000 CC=0000
+rcrw       A=82345679 B=0000001e R=82346792 CCIN=0000 CC=0001
+rcrb       A=82345679 B=0000001e R=8234564f CCIN=0000 CC=0000
+rcrl       A=82345679 B=0000001e R=11a2b3ce CCIN=0001 CC=0000
+rcrw       A=82345679 B=0000001e R=8234679a CCIN=0001 CC=0001
+rcrb       A=82345679 B=0000001e R=8234566f CCIN=0001 CC=0000
+rcrl       A=82345679 B=0000001f R=08d159e5 CCIN=0000 CC=0000
+rcrw       A=82345679 B=0000001f R=8234b3c9 CCIN=0000 CC=0000
+rcrb       A=82345679 B=0000001f R=82345627 CCIN=0000 CC=0001
+rcrl       A=82345679 B=0000001f R=08d159e7 CCIN=0001 CC=0000
+rcrw       A=82345679 B=0000001f R=8234b3cd CCIN=0001 CC=0000
+rcrb       A=82345679 B=0000001f R=82345637 CCIN=0001 CC=0001
diff --git a/test/arch/x86/qemu/expected/test_rol.exp b/test/arch/x86/qemu/expected/test_rol.exp
new file mode 100644
index 00000000..88b02252
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_rol.exp
@@ -0,0 +1,192 @@
+roll       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rolb       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+roll       A=12345678 B=00000001 R=2468acf0 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000001 R=1234acf0 CCIN=0000 CC=0800
+rolb       A=12345678 B=00000001 R=123456f0 CCIN=0000 CC=0800
+roll       A=12345678 B=00000002 R=48d159e0 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000002 R=123459e1 CCIN=0000 CC=0001
+rolb       A=12345678 B=00000002 R=123456e1 CCIN=0000 CC=0001
+roll       A=12345678 B=00000003 R=91a2b3c0 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000003 R=1234b3c2 CCIN=0000 CC=0000
+rolb       A=12345678 B=00000003 R=123456c3 CCIN=0000 CC=0001
+roll       A=12345678 B=00000004 R=23456781 CCIN=0000 CC=0001
+rolw       A=12345678 B=00000004 R=12346785 CCIN=0000 CC=0001
+rolb       A=12345678 B=00000004 R=12345687 CCIN=0000 CC=0001
+roll       A=12345678 B=00000005 R=468acf02 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000005 R=1234cf0a CCIN=0000 CC=0000
+rolb       A=12345678 B=00000005 R=1234560f CCIN=0000 CC=0001
+roll       A=12345678 B=00000006 R=8d159e04 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000006 R=12349e15 CCIN=0000 CC=0001
+rolb       A=12345678 B=00000006 R=1234561e CCIN=0000 CC=0000
+roll       A=12345678 B=00000007 R=1a2b3c09 CCIN=0000 CC=0001
+rolw       A=12345678 B=00000007 R=12343c2b CCIN=0000 CC=0001
+rolb       A=12345678 B=00000007 R=1234563c CCIN=0000 CC=0000
+roll       A=12345678 B=00000008 R=34567812 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000008 R=12347856 CCIN=0000 CC=0000
+rolb       A=12345678 B=00000008 R=12345678 CCIN=0000 CC=0000
+roll       A=12345678 B=00000009 R=68acf024 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000009 R=1234f0ac CCIN=0000 CC=0000
+rolb       A=12345678 B=00000009 R=123456f0 CCIN=0000 CC=0000
+roll       A=12345678 B=0000000a R=d159e048 CCIN=0000 CC=0000
+rolw       A=12345678 B=0000000a R=1234e159 CCIN=0000 CC=0001
+rolb       A=12345678 B=0000000a R=123456e1 CCIN=0000 CC=0001
+roll       A=12345678 B=0000000b R=a2b3c091 CCIN=0000 CC=0001
+rolw       A=12345678 B=0000000b R=1234c2b3 CCIN=0000 CC=0001
+rolb       A=12345678 B=0000000b R=123456c3 CCIN=0000 CC=0001
+roll       A=12345678 B=0000000c R=45678123 CCIN=0000 CC=0001
+rolw       A=12345678 B=0000000c R=12348567 CCIN=0000 CC=0001
+rolb       A=12345678 B=0000000c R=12345687 CCIN=0000 CC=0001
+roll       A=12345678 B=0000000d R=8acf0246 CCIN=0000 CC=0000
+rolw       A=12345678 B=0000000d R=12340acf CCIN=0000 CC=0001
+rolb       A=12345678 B=0000000d R=1234560f CCIN=0000 CC=0001
+roll       A=12345678 B=0000000e R=159e048d CCIN=0000 CC=0001
+rolw       A=12345678 B=0000000e R=1234159e CCIN=0000 CC=0000
+rolb       A=12345678 B=0000000e R=1234561e CCIN=0000 CC=0000
+roll       A=12345678 B=0000000f R=2b3c091a CCIN=0000 CC=0000
+rolw       A=12345678 B=0000000f R=12342b3c CCIN=0000 CC=0000
+rolb       A=12345678 B=0000000f R=1234563c CCIN=0000 CC=0000
+roll       A=12345678 B=00000010 R=56781234 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000010 R=12345678 CCIN=0000 CC=0000
+rolb       A=12345678 B=00000010 R=12345678 CCIN=0000 CC=0000
+roll       A=12345678 B=00000011 R=acf02468 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000011 R=1234acf0 CCIN=0000 CC=0000
+rolb       A=12345678 B=00000011 R=123456f0 CCIN=0000 CC=0000
+roll       A=12345678 B=00000012 R=59e048d1 CCIN=0000 CC=0001
+rolw       A=12345678 B=00000012 R=123459e1 CCIN=0000 CC=0001
+rolb       A=12345678 B=00000012 R=123456e1 CCIN=0000 CC=0001
+roll       A=12345678 B=00000013 R=b3c091a2 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000013 R=1234b3c2 CCIN=0000 CC=0000
+rolb       A=12345678 B=00000013 R=123456c3 CCIN=0000 CC=0001
+roll       A=12345678 B=00000014 R=67812345 CCIN=0000 CC=0001
+rolw       A=12345678 B=00000014 R=12346785 CCIN=0000 CC=0001
+rolb       A=12345678 B=00000014 R=12345687 CCIN=0000 CC=0001
+roll       A=12345678 B=00000015 R=cf02468a CCIN=0000 CC=0000
+rolw       A=12345678 B=00000015 R=1234cf0a CCIN=0000 CC=0000
+rolb       A=12345678 B=00000015 R=1234560f CCIN=0000 CC=0001
+roll       A=12345678 B=00000016 R=9e048d15 CCIN=0000 CC=0001
+rolw       A=12345678 B=00000016 R=12349e15 CCIN=0000 CC=0001
+rolb       A=12345678 B=00000016 R=1234561e CCIN=0000 CC=0000
+roll       A=12345678 B=00000017 R=3c091a2b CCIN=0000 CC=0001
+rolw       A=12345678 B=00000017 R=12343c2b CCIN=0000 CC=0001
+rolb       A=12345678 B=00000017 R=1234563c CCIN=0000 CC=0000
+roll       A=12345678 B=00000018 R=78123456 CCIN=0000 CC=0000
+rolw       A=12345678 B=00000018 R=12347856 CCIN=0000 CC=0000
+rolb       A=12345678 B=00000018 R=12345678 CCIN=0000 CC=0000
+roll       A=12345678 B=00000019 R=f02468ac CCIN=0000 CC=0000
+rolw       A=12345678 B=00000019 R=1234f0ac CCIN=0000 CC=0000
+rolb       A=12345678 B=00000019 R=123456f0 CCIN=0000 CC=0000
+roll       A=12345678 B=0000001a R=e048d159 CCIN=0000 CC=0001
+rolw       A=12345678 B=0000001a R=1234e159 CCIN=0000 CC=0001
+rolb       A=12345678 B=0000001a R=123456e1 CCIN=0000 CC=0001
+roll       A=12345678 B=0000001b R=c091a2b3 CCIN=0000 CC=0001
+rolw       A=12345678 B=0000001b R=1234c2b3 CCIN=0000 CC=0001
+rolb       A=12345678 B=0000001b R=123456c3 CCIN=0000 CC=0001
+roll       A=12345678 B=0000001c R=81234567 CCIN=0000 CC=0001
+rolw       A=12345678 B=0000001c R=12348567 CCIN=0000 CC=0001
+rolb       A=12345678 B=0000001c R=12345687 CCIN=0000 CC=0001
+roll       A=12345678 B=0000001d R=02468acf CCIN=0000 CC=0001
+rolw       A=12345678 B=0000001d R=12340acf CCIN=0000 CC=0001
+rolb       A=12345678 B=0000001d R=1234560f CCIN=0000 CC=0001
+roll       A=12345678 B=0000001e R=048d159e CCIN=0000 CC=0000
+rolw       A=12345678 B=0000001e R=1234159e CCIN=0000 CC=0000
+rolb       A=12345678 B=0000001e R=1234561e CCIN=0000 CC=0000
+roll       A=12345678 B=0000001f R=091a2b3c CCIN=0000 CC=0000
+rolw       A=12345678 B=0000001f R=12342b3c CCIN=0000 CC=0000
+rolb       A=12345678 B=0000001f R=1234563c CCIN=0000 CC=0000
+roll       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rolb       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+roll       A=82345679 B=00000001 R=0468acf3 CCIN=0000 CC=0801
+rolw       A=82345679 B=00000001 R=8234acf2 CCIN=0000 CC=0800
+rolb       A=82345679 B=00000001 R=823456f2 CCIN=0000 CC=0800
+roll       A=82345679 B=00000002 R=08d159e6 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000002 R=823459e5 CCIN=0000 CC=0001
+rolb       A=82345679 B=00000002 R=823456e5 CCIN=0000 CC=0001
+roll       A=82345679 B=00000003 R=11a2b3cc CCIN=0000 CC=0000
+rolw       A=82345679 B=00000003 R=8234b3ca CCIN=0000 CC=0000
+rolb       A=82345679 B=00000003 R=823456cb CCIN=0000 CC=0001
+roll       A=82345679 B=00000004 R=23456798 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000004 R=82346795 CCIN=0000 CC=0001
+rolb       A=82345679 B=00000004 R=82345697 CCIN=0000 CC=0001
+roll       A=82345679 B=00000005 R=468acf30 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000005 R=8234cf2a CCIN=0000 CC=0000
+rolb       A=82345679 B=00000005 R=8234562f CCIN=0000 CC=0001
+roll       A=82345679 B=00000006 R=8d159e60 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000006 R=82349e55 CCIN=0000 CC=0001
+rolb       A=82345679 B=00000006 R=8234565e CCIN=0000 CC=0000
+roll       A=82345679 B=00000007 R=1a2b3cc1 CCIN=0000 CC=0001
+rolw       A=82345679 B=00000007 R=82343cab CCIN=0000 CC=0001
+rolb       A=82345679 B=00000007 R=823456bc CCIN=0000 CC=0000
+roll       A=82345679 B=00000008 R=34567982 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000008 R=82347956 CCIN=0000 CC=0000
+rolb       A=82345679 B=00000008 R=82345679 CCIN=0000 CC=0001
+roll       A=82345679 B=00000009 R=68acf304 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000009 R=8234f2ac CCIN=0000 CC=0000
+rolb       A=82345679 B=00000009 R=823456f2 CCIN=0000 CC=0000
+roll       A=82345679 B=0000000a R=d159e608 CCIN=0000 CC=0000
+rolw       A=82345679 B=0000000a R=8234e559 CCIN=0000 CC=0001
+rolb       A=82345679 B=0000000a R=823456e5 CCIN=0000 CC=0001
+roll       A=82345679 B=0000000b R=a2b3cc11 CCIN=0000 CC=0001
+rolw       A=82345679 B=0000000b R=8234cab3 CCIN=0000 CC=0001
+rolb       A=82345679 B=0000000b R=823456cb CCIN=0000 CC=0001
+roll       A=82345679 B=0000000c R=45679823 CCIN=0000 CC=0001
+rolw       A=82345679 B=0000000c R=82349567 CCIN=0000 CC=0001
+rolb       A=82345679 B=0000000c R=82345697 CCIN=0000 CC=0001
+roll       A=82345679 B=0000000d R=8acf3046 CCIN=0000 CC=0000
+rolw       A=82345679 B=0000000d R=82342acf CCIN=0000 CC=0001
+rolb       A=82345679 B=0000000d R=8234562f CCIN=0000 CC=0001
+roll       A=82345679 B=0000000e R=159e608d CCIN=0000 CC=0001
+rolw       A=82345679 B=0000000e R=8234559e CCIN=0000 CC=0000
+rolb       A=82345679 B=0000000e R=8234565e CCIN=0000 CC=0000
+roll       A=82345679 B=0000000f R=2b3cc11a CCIN=0000 CC=0000
+rolw       A=82345679 B=0000000f R=8234ab3c CCIN=0000 CC=0000
+rolb       A=82345679 B=0000000f R=823456bc CCIN=0000 CC=0000
+roll       A=82345679 B=00000010 R=56798234 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000010 R=82345679 CCIN=0000 CC=0001
+rolb       A=82345679 B=00000010 R=82345679 CCIN=0000 CC=0001
+roll       A=82345679 B=00000011 R=acf30468 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000011 R=8234acf2 CCIN=0000 CC=0000
+rolb       A=82345679 B=00000011 R=823456f2 CCIN=0000 CC=0000
+roll       A=82345679 B=00000012 R=59e608d1 CCIN=0000 CC=0001
+rolw       A=82345679 B=00000012 R=823459e5 CCIN=0000 CC=0001
+rolb       A=82345679 B=00000012 R=823456e5 CCIN=0000 CC=0001
+roll       A=82345679 B=00000013 R=b3cc11a2 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000013 R=8234b3ca CCIN=0000 CC=0000
+rolb       A=82345679 B=00000013 R=823456cb CCIN=0000 CC=0001
+roll       A=82345679 B=00000014 R=67982345 CCIN=0000 CC=0001
+rolw       A=82345679 B=00000014 R=82346795 CCIN=0000 CC=0001
+rolb       A=82345679 B=00000014 R=82345697 CCIN=0000 CC=0001
+roll       A=82345679 B=00000015 R=cf30468a CCIN=0000 CC=0000
+rolw       A=82345679 B=00000015 R=8234cf2a CCIN=0000 CC=0000
+rolb       A=82345679 B=00000015 R=8234562f CCIN=0000 CC=0001
+roll       A=82345679 B=00000016 R=9e608d15 CCIN=0000 CC=0001
+rolw       A=82345679 B=00000016 R=82349e55 CCIN=0000 CC=0001
+rolb       A=82345679 B=00000016 R=8234565e CCIN=0000 CC=0000
+roll       A=82345679 B=00000017 R=3cc11a2b CCIN=0000 CC=0001
+rolw       A=82345679 B=00000017 R=82343cab CCIN=0000 CC=0001
+rolb       A=82345679 B=00000017 R=823456bc CCIN=0000 CC=0000
+roll       A=82345679 B=00000018 R=79823456 CCIN=0000 CC=0000
+rolw       A=82345679 B=00000018 R=82347956 CCIN=0000 CC=0000
+rolb       A=82345679 B=00000018 R=82345679 CCIN=0000 CC=0001
+roll       A=82345679 B=00000019 R=f30468ac CCIN=0000 CC=0000
+rolw       A=82345679 B=00000019 R=8234f2ac CCIN=0000 CC=0000
+rolb       A=82345679 B=00000019 R=823456f2 CCIN=0000 CC=0000
+roll       A=82345679 B=0000001a R=e608d159 CCIN=0000 CC=0001
+rolw       A=82345679 B=0000001a R=8234e559 CCIN=0000 CC=0001
+rolb       A=82345679 B=0000001a R=823456e5 CCIN=0000 CC=0001
+roll       A=82345679 B=0000001b R=cc11a2b3 CCIN=0000 CC=0001
+rolw       A=82345679 B=0000001b R=8234cab3 CCIN=0000 CC=0001
+rolb       A=82345679 B=0000001b R=823456cb CCIN=0000 CC=0001
+roll       A=82345679 B=0000001c R=98234567 CCIN=0000 CC=0001
+rolw       A=82345679 B=0000001c R=82349567 CCIN=0000 CC=0001
+rolb       A=82345679 B=0000001c R=82345697 CCIN=0000 CC=0001
+roll       A=82345679 B=0000001d R=30468acf CCIN=0000 CC=0001
+rolw       A=82345679 B=0000001d R=82342acf CCIN=0000 CC=0001
+rolb       A=82345679 B=0000001d R=8234562f CCIN=0000 CC=0001
+roll       A=82345679 B=0000001e R=608d159e CCIN=0000 CC=0000
+rolw       A=82345679 B=0000001e R=8234559e CCIN=0000 CC=0000
+rolb       A=82345679 B=0000001e R=8234565e CCIN=0000 CC=0000
+roll       A=82345679 B=0000001f R=c11a2b3c CCIN=0000 CC=0000
+rolw       A=82345679 B=0000001f R=8234ab3c CCIN=0000 CC=0000
+rolb       A=82345679 B=0000001f R=823456bc CCIN=0000 CC=0000
diff --git a/test/arch/x86/qemu/expected/test_ror.exp b/test/arch/x86/qemu/expected/test_ror.exp
new file mode 100644
index 00000000..817679f6
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_ror.exp
@@ -0,0 +1,192 @@
+rorl       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rorw       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rorb       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+rorl       A=12345678 B=00000001 R=091a2b3c CCIN=0000 CC=0000
+rorw       A=12345678 B=00000001 R=12342b3c CCIN=0000 CC=0000
+rorb       A=12345678 B=00000001 R=1234563c CCIN=0000 CC=0000
+rorl       A=12345678 B=00000002 R=048d159e CCIN=0000 CC=0000
+rorw       A=12345678 B=00000002 R=1234159e CCIN=0000 CC=0000
+rorb       A=12345678 B=00000002 R=1234561e CCIN=0000 CC=0000
+rorl       A=12345678 B=00000003 R=02468acf CCIN=0000 CC=0000
+rorw       A=12345678 B=00000003 R=12340acf CCIN=0000 CC=0000
+rorb       A=12345678 B=00000003 R=1234560f CCIN=0000 CC=0000
+rorl       A=12345678 B=00000004 R=81234567 CCIN=0000 CC=0001
+rorw       A=12345678 B=00000004 R=12348567 CCIN=0000 CC=0001
+rorb       A=12345678 B=00000004 R=12345687 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000005 R=c091a2b3 CCIN=0000 CC=0001
+rorw       A=12345678 B=00000005 R=1234c2b3 CCIN=0000 CC=0001
+rorb       A=12345678 B=00000005 R=123456c3 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000006 R=e048d159 CCIN=0000 CC=0001
+rorw       A=12345678 B=00000006 R=1234e159 CCIN=0000 CC=0001
+rorb       A=12345678 B=00000006 R=123456e1 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000007 R=f02468ac CCIN=0000 CC=0001
+rorw       A=12345678 B=00000007 R=1234f0ac CCIN=0000 CC=0001
+rorb       A=12345678 B=00000007 R=123456f0 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000008 R=78123456 CCIN=0000 CC=0000
+rorw       A=12345678 B=00000008 R=12347856 CCIN=0000 CC=0000
+rorb       A=12345678 B=00000008 R=12345678 CCIN=0000 CC=0000
+rorl       A=12345678 B=00000009 R=3c091a2b CCIN=0000 CC=0000
+rorw       A=12345678 B=00000009 R=12343c2b CCIN=0000 CC=0000
+rorb       A=12345678 B=00000009 R=1234563c CCIN=0000 CC=0000
+rorl       A=12345678 B=0000000a R=9e048d15 CCIN=0000 CC=0001
+rorw       A=12345678 B=0000000a R=12349e15 CCIN=0000 CC=0001
+rorb       A=12345678 B=0000000a R=1234561e CCIN=0000 CC=0000
+rorl       A=12345678 B=0000000b R=cf02468a CCIN=0000 CC=0001
+rorw       A=12345678 B=0000000b R=1234cf0a CCIN=0000 CC=0001
+rorb       A=12345678 B=0000000b R=1234560f CCIN=0000 CC=0000
+rorl       A=12345678 B=0000000c R=67812345 CCIN=0000 CC=0000
+rorw       A=12345678 B=0000000c R=12346785 CCIN=0000 CC=0000
+rorb       A=12345678 B=0000000c R=12345687 CCIN=0000 CC=0001
+rorl       A=12345678 B=0000000d R=b3c091a2 CCIN=0000 CC=0001
+rorw       A=12345678 B=0000000d R=1234b3c2 CCIN=0000 CC=0001
+rorb       A=12345678 B=0000000d R=123456c3 CCIN=0000 CC=0001
+rorl       A=12345678 B=0000000e R=59e048d1 CCIN=0000 CC=0000
+rorw       A=12345678 B=0000000e R=123459e1 CCIN=0000 CC=0000
+rorb       A=12345678 B=0000000e R=123456e1 CCIN=0000 CC=0001
+rorl       A=12345678 B=0000000f R=acf02468 CCIN=0000 CC=0001
+rorw       A=12345678 B=0000000f R=1234acf0 CCIN=0000 CC=0001
+rorb       A=12345678 B=0000000f R=123456f0 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000010 R=56781234 CCIN=0000 CC=0000
+rorw       A=12345678 B=00000010 R=12345678 CCIN=0000 CC=0000
+rorb       A=12345678 B=00000010 R=12345678 CCIN=0000 CC=0000
+rorl       A=12345678 B=00000011 R=2b3c091a CCIN=0000 CC=0000
+rorw       A=12345678 B=00000011 R=12342b3c CCIN=0000 CC=0000
+rorb       A=12345678 B=00000011 R=1234563c CCIN=0000 CC=0000
+rorl       A=12345678 B=00000012 R=159e048d CCIN=0000 CC=0000
+rorw       A=12345678 B=00000012 R=1234159e CCIN=0000 CC=0000
+rorb       A=12345678 B=00000012 R=1234561e CCIN=0000 CC=0000
+rorl       A=12345678 B=00000013 R=8acf0246 CCIN=0000 CC=0001
+rorw       A=12345678 B=00000013 R=12340acf CCIN=0000 CC=0000
+rorb       A=12345678 B=00000013 R=1234560f CCIN=0000 CC=0000
+rorl       A=12345678 B=00000014 R=45678123 CCIN=0000 CC=0000
+rorw       A=12345678 B=00000014 R=12348567 CCIN=0000 CC=0001
+rorb       A=12345678 B=00000014 R=12345687 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000015 R=a2b3c091 CCIN=0000 CC=0001
+rorw       A=12345678 B=00000015 R=1234c2b3 CCIN=0000 CC=0001
+rorb       A=12345678 B=00000015 R=123456c3 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000016 R=d159e048 CCIN=0000 CC=0001
+rorw       A=12345678 B=00000016 R=1234e159 CCIN=0000 CC=0001
+rorb       A=12345678 B=00000016 R=123456e1 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000017 R=68acf024 CCIN=0000 CC=0000
+rorw       A=12345678 B=00000017 R=1234f0ac CCIN=0000 CC=0001
+rorb       A=12345678 B=00000017 R=123456f0 CCIN=0000 CC=0001
+rorl       A=12345678 B=00000018 R=34567812 CCIN=0000 CC=0000
+rorw       A=12345678 B=00000018 R=12347856 CCIN=0000 CC=0000
+rorb       A=12345678 B=00000018 R=12345678 CCIN=0000 CC=0000
+rorl       A=12345678 B=00000019 R=1a2b3c09 CCIN=0000 CC=0000
+rorw       A=12345678 B=00000019 R=12343c2b CCIN=0000 CC=0000
+rorb       A=12345678 B=00000019 R=1234563c CCIN=0000 CC=0000
+rorl       A=12345678 B=0000001a R=8d159e04 CCIN=0000 CC=0001
+rorw       A=12345678 B=0000001a R=12349e15 CCIN=0000 CC=0001
+rorb       A=12345678 B=0000001a R=1234561e CCIN=0000 CC=0000
+rorl       A=12345678 B=0000001b R=468acf02 CCIN=0000 CC=0000
+rorw       A=12345678 B=0000001b R=1234cf0a CCIN=0000 CC=0001
+rorb       A=12345678 B=0000001b R=1234560f CCIN=0000 CC=0000
+rorl       A=12345678 B=0000001c R=23456781 CCIN=0000 CC=0000
+rorw       A=12345678 B=0000001c R=12346785 CCIN=0000 CC=0000
+rorb       A=12345678 B=0000001c R=12345687 CCIN=0000 CC=0001
+rorl       A=12345678 B=0000001d R=91a2b3c0 CCIN=0000 CC=0001
+rorw       A=12345678 B=0000001d R=1234b3c2 CCIN=0000 CC=0001
+rorb       A=12345678 B=0000001d R=123456c3 CCIN=0000 CC=0001
+rorl       A=12345678 B=0000001e R=48d159e0 CCIN=0000 CC=0000
+rorw       A=12345678 B=0000001e R=123459e1 CCIN=0000 CC=0000
+rorb       A=12345678 B=0000001e R=123456e1 CCIN=0000 CC=0001
+rorl       A=12345678 B=0000001f R=2468acf0 CCIN=0000 CC=0000
+rorw       A=12345678 B=0000001f R=1234acf0 CCIN=0000 CC=0001
+rorb       A=12345678 B=0000001f R=123456f0 CCIN=0000 CC=0001
+rorl       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rorw       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rorb       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+rorl       A=82345679 B=00000001 R=c11a2b3c CCIN=0000 CC=0001
+rorw       A=82345679 B=00000001 R=8234ab3c CCIN=0000 CC=0801
+rorb       A=82345679 B=00000001 R=823456bc CCIN=0000 CC=0801
+rorl       A=82345679 B=00000002 R=608d159e CCIN=0000 CC=0000
+rorw       A=82345679 B=00000002 R=8234559e CCIN=0000 CC=0000
+rorb       A=82345679 B=00000002 R=8234565e CCIN=0000 CC=0000
+rorl       A=82345679 B=00000003 R=30468acf CCIN=0000 CC=0000
+rorw       A=82345679 B=00000003 R=82342acf CCIN=0000 CC=0000
+rorb       A=82345679 B=00000003 R=8234562f CCIN=0000 CC=0000
+rorl       A=82345679 B=00000004 R=98234567 CCIN=0000 CC=0001
+rorw       A=82345679 B=00000004 R=82349567 CCIN=0000 CC=0001
+rorb       A=82345679 B=00000004 R=82345697 CCIN=0000 CC=0001
+rorl       A=82345679 B=00000005 R=cc11a2b3 CCIN=0000 CC=0001
+rorw       A=82345679 B=00000005 R=8234cab3 CCIN=0000 CC=0001
+rorb       A=82345679 B=00000005 R=823456cb CCIN=0000 CC=0001
+rorl       A=82345679 B=00000006 R=e608d159 CCIN=0000 CC=0001
+rorw       A=82345679 B=00000006 R=8234e559 CCIN=0000 CC=0001
+rorb       A=82345679 B=00000006 R=823456e5 CCIN=0000 CC=0001
+rorl       A=82345679 B=00000007 R=f30468ac CCIN=0000 CC=0001
+rorw       A=82345679 B=00000007 R=8234f2ac CCIN=0000 CC=0001
+rorb       A=82345679 B=00000007 R=823456f2 CCIN=0000 CC=0001
+rorl       A=82345679 B=00000008 R=79823456 CCIN=0000 CC=0000
+rorw       A=82345679 B=00000008 R=82347956 CCIN=0000 CC=0000
+rorb       A=82345679 B=00000008 R=82345679 CCIN=0000 CC=0000
+rorl       A=82345679 B=00000009 R=3cc11a2b CCIN=0000 CC=0000
+rorw       A=82345679 B=00000009 R=82343cab CCIN=0000 CC=0000
+rorb       A=82345679 B=00000009 R=823456bc CCIN=0000 CC=0001
+rorl       A=82345679 B=0000000a R=9e608d15 CCIN=0000 CC=0001
+rorw       A=82345679 B=0000000a R=82349e55 CCIN=0000 CC=0001
+rorb       A=82345679 B=0000000a R=8234565e CCIN=0000 CC=0000
+rorl       A=82345679 B=0000000b R=cf30468a CCIN=0000 CC=0001
+rorw       A=82345679 B=0000000b R=8234cf2a CCIN=0000 CC=0001
+rorb       A=82345679 B=0000000b R=8234562f CCIN=0000 CC=0000
+rorl       A=82345679 B=0000000c R=67982345 CCIN=0000 CC=0000
+rorw       A=82345679 B=0000000c R=82346795 CCIN=0000 CC=0000
+rorb       A=82345679 B=0000000c R=82345697 CCIN=0000 CC=0001
+rorl       A=82345679 B=0000000d R=b3cc11a2 CCIN=0000 CC=0001
+rorw       A=82345679 B=0000000d R=8234b3ca CCIN=0000 CC=0001
+rorb       A=82345679 B=0000000d R=823456cb CCIN=0000 CC=0001
+rorl       A=82345679 B=0000000e R=59e608d1 CCIN=0000 CC=0000
+rorw       A=82345679 B=0000000e R=823459e5 CCIN=0000 CC=0000
+rorb       A=82345679 B=0000000e R=823456e5 CCIN=0000 CC=0001
+rorl       A=82345679 B=0000000f R=acf30468 CCIN=0000 CC=0001
+rorw       A=82345679 B=0000000f R=8234acf2 CCIN=0000 CC=0001
+rorb       A=82345679 B=0000000f R=823456f2 CCIN=0000 CC=0001
+rorl       A=82345679 B=00000010 R=56798234 CCIN=0000 CC=0000
+rorw       A=82345679 B=00000010 R=82345679 CCIN=0000 CC=0000
+rorb       A=82345679 B=00000010 R=82345679 CCIN=0000 CC=0000
+rorl       A=82345679 B=00000011 R=2b3cc11a CCIN=0000 CC=0000
+rorw       A=82345679 B=00000011 R=8234ab3c CCIN=0000 CC=0001
+rorb       A=82345679 B=00000011 R=823456bc CCIN=0000 CC=0001
+rorl       A=82345679 B=00000012 R=159e608d CCIN=0000 CC=0000
+rorw       A=82345679 B=00000012 R=8234559e CCIN=0000 CC=0000
+rorb       A=82345679 B=00000012 R=8234565e CCIN=0000 CC=0000
+rorl       A=82345679 B=00000013 R=8acf3046 CCIN=0000 CC=0001
+rorw       A=82345679 B=00000013 R=82342acf CCIN=0000 CC=0000
+rorb       A=82345679 B=00000013 R=8234562f CCIN=0000 CC=0000
+rorl       A=82345679 B=00000014 R=45679823 CCIN=0000 CC=0000
+rorw       A=82345679 B=00000014 R=82349567 CCIN=0000 CC=0001
+rorb       A=82345679 B=00000014 R=82345697 CCIN=0000 CC=0001
+rorl       A=82345679 B=00000015 R=a2b3cc11 CCIN=0000 CC=0001
+rorw       A=82345679 B=00000015 R=8234cab3 CCIN=0000 CC=0001
+rorb       A=82345679 B=00000015 R=823456cb CCIN=0000 CC=0001
+rorl       A=82345679 B=00000016 R=d159e608 CCIN=0000 CC=0001
+rorw       A=82345679 B=00000016 R=8234e559 CCIN=0000 CC=0001
+rorb       A=82345679 B=00000016 R=823456e5 CCIN=0000 CC=0001
+rorl       A=82345679 B=00000017 R=68acf304 CCIN=0000 CC=0000
+rorw       A=82345679 B=00000017 R=8234f2ac CCIN=0000 CC=0001
+rorb       A=82345679 B=00000017 R=823456f2 CCIN=0000 CC=0001
+rorl       A=82345679 B=00000018 R=34567982 CCIN=0000 CC=0000
+rorw       A=82345679 B=00000018 R=82347956 CCIN=0000 CC=0000
+rorb       A=82345679 B=00000018 R=82345679 CCIN=0000 CC=0000
+rorl       A=82345679 B=00000019 R=1a2b3cc1 CCIN=0000 CC=0000
+rorw       A=82345679 B=00000019 R=82343cab CCIN=0000 CC=0000
+rorb       A=82345679 B=00000019 R=823456bc CCIN=0000 CC=0001
+rorl       A=82345679 B=0000001a R=8d159e60 CCIN=0000 CC=0001
+rorw       A=82345679 B=0000001a R=82349e55 CCIN=0000 CC=0001
+rorb       A=82345679 B=0000001a R=8234565e CCIN=0000 CC=0000
+rorl       A=82345679 B=0000001b R=468acf30 CCIN=0000 CC=0000
+rorw       A=82345679 B=0000001b R=8234cf2a CCIN=0000 CC=0001
+rorb       A=82345679 B=0000001b R=8234562f CCIN=0000 CC=0000
+rorl       A=82345679 B=0000001c R=23456798 CCIN=0000 CC=0000
+rorw       A=82345679 B=0000001c R=82346795 CCIN=0000 CC=0000
+rorb       A=82345679 B=0000001c R=82345697 CCIN=0000 CC=0001
+rorl       A=82345679 B=0000001d R=11a2b3cc CCIN=0000 CC=0000
+rorw       A=82345679 B=0000001d R=8234b3ca CCIN=0000 CC=0001
+rorb       A=82345679 B=0000001d R=823456cb CCIN=0000 CC=0001
+rorl       A=82345679 B=0000001e R=08d159e6 CCIN=0000 CC=0000
+rorw       A=82345679 B=0000001e R=823459e5 CCIN=0000 CC=0000
+rorb       A=82345679 B=0000001e R=823456e5 CCIN=0000 CC=0001
+rorl       A=82345679 B=0000001f R=0468acf3 CCIN=0000 CC=0000
+rorw       A=82345679 B=0000001f R=8234acf2 CCIN=0000 CC=0001
+rorb       A=82345679 B=0000001f R=823456f2 CCIN=0000 CC=0001
diff --git a/test/arch/x86/qemu/expected/test_sar.exp b/test/arch/x86/qemu/expected/test_sar.exp
new file mode 100644
index 00000000..4e772ed5
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_sar.exp
@@ -0,0 +1,192 @@
+sarl       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+sarw       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+sarb       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+sarl       A=12345678 B=00000001 R=091a2b3c CCIN=0000 CC=0004
+sarw       A=12345678 B=00000001 R=12342b3c CCIN=0000 CC=0004
+sarb       A=12345678 B=00000001 R=1234563c CCIN=0000 CC=0004
+sarl       A=12345678 B=00000002 R=048d159e CCIN=0000 CC=0000
+sarw       A=12345678 B=00000002 R=1234159e CCIN=0000 CC=0000
+sarb       A=12345678 B=00000002 R=1234561e CCIN=0000 CC=0004
+sarl       A=12345678 B=00000003 R=02468acf CCIN=0000 CC=0004
+sarw       A=12345678 B=00000003 R=12340acf CCIN=0000 CC=0004
+sarb       A=12345678 B=00000003 R=1234560f CCIN=0000 CC=0004
+sarl       A=12345678 B=00000004 R=01234567 CCIN=0000 CC=0001
+sarw       A=12345678 B=00000004 R=12340567 CCIN=0000 CC=0001
+sarb       A=12345678 B=00000004 R=12345607 CCIN=0000 CC=0001
+sarl       A=12345678 B=00000005 R=0091a2b3 CCIN=0000 CC=0001
+sarw       A=12345678 B=00000005 R=123402b3 CCIN=0000 CC=0001
+sarb       A=12345678 B=00000005 R=12345603 CCIN=0000 CC=0005
+sarl       A=12345678 B=00000006 R=0048d159 CCIN=0000 CC=0005
+sarw       A=12345678 B=00000006 R=12340159 CCIN=0000 CC=0005
+sarb       A=12345678 B=00000006 R=12345601 CCIN=0000 CC=0001
+sarl       A=12345678 B=00000007 R=002468ac CCIN=0000 CC=0005
+sarw       A=12345678 B=00000007 R=123400ac CCIN=0000 CC=0005
+sarb       A=12345678 B=00000007 R=12345600 CCIN=0000 CC=0045
+sarl       A=12345678 B=00000008 R=00123456 CCIN=0000 CC=0004
+sarw       A=12345678 B=00000008 R=12340056 CCIN=0000 CC=0004
+sarb       A=12345678 B=00000008 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000009 R=00091a2b CCIN=0000 CC=0004
+sarw       A=12345678 B=00000009 R=1234002b CCIN=0000 CC=0004
+sarb       A=12345678 B=00000009 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000000a R=00048d15 CCIN=0000 CC=0001
+sarw       A=12345678 B=0000000a R=12340015 CCIN=0000 CC=0001
+sarb       A=12345678 B=0000000a R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000000b R=0002468a CCIN=0000 CC=0001
+sarw       A=12345678 B=0000000b R=1234000a CCIN=0000 CC=0005
+sarb       A=12345678 B=0000000b R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000000c R=00012345 CCIN=0000 CC=0000
+sarw       A=12345678 B=0000000c R=12340005 CCIN=0000 CC=0004
+sarb       A=12345678 B=0000000c R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000000d R=000091a2 CCIN=0000 CC=0001
+sarw       A=12345678 B=0000000d R=12340002 CCIN=0000 CC=0001
+sarb       A=12345678 B=0000000d R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000000e R=000048d1 CCIN=0000 CC=0004
+sarw       A=12345678 B=0000000e R=12340001 CCIN=0000 CC=0000
+sarb       A=12345678 B=0000000e R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000000f R=00002468 CCIN=0000 CC=0001
+sarw       A=12345678 B=0000000f R=12340000 CCIN=0000 CC=0045
+sarb       A=12345678 B=0000000f R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000010 R=00001234 CCIN=0000 CC=0000
+sarw       A=12345678 B=00000010 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000010 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000011 R=0000091a CCIN=0000 CC=0000
+sarw       A=12345678 B=00000011 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000011 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000012 R=0000048d CCIN=0000 CC=0004
+sarw       A=12345678 B=00000012 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000012 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000013 R=00000246 CCIN=0000 CC=0001
+sarw       A=12345678 B=00000013 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000013 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000014 R=00000123 CCIN=0000 CC=0000
+sarw       A=12345678 B=00000014 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000014 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000015 R=00000091 CCIN=0000 CC=0001
+sarw       A=12345678 B=00000015 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000015 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000016 R=00000048 CCIN=0000 CC=0005
+sarw       A=12345678 B=00000016 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000016 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000017 R=00000024 CCIN=0000 CC=0004
+sarw       A=12345678 B=00000017 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000017 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000018 R=00000012 CCIN=0000 CC=0004
+sarw       A=12345678 B=00000018 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000018 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=00000019 R=00000009 CCIN=0000 CC=0004
+sarw       A=12345678 B=00000019 R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=00000019 R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000001a R=00000004 CCIN=0000 CC=0001
+sarw       A=12345678 B=0000001a R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=0000001a R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000001b R=00000002 CCIN=0000 CC=0000
+sarw       A=12345678 B=0000001b R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=0000001b R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000001c R=00000001 CCIN=0000 CC=0000
+sarw       A=12345678 B=0000001c R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=0000001c R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000001d R=00000000 CCIN=0000 CC=0045
+sarw       A=12345678 B=0000001d R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=0000001d R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000001e R=00000000 CCIN=0000 CC=0044
+sarw       A=12345678 B=0000001e R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=0000001e R=12345600 CCIN=0000 CC=0044
+sarl       A=12345678 B=0000001f R=00000000 CCIN=0000 CC=0044
+sarw       A=12345678 B=0000001f R=12340000 CCIN=0000 CC=0044
+sarb       A=12345678 B=0000001f R=12345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+sarw       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+sarb       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+sarl       A=82345679 B=00000001 R=c11a2b3c CCIN=0000 CC=0085
+sarw       A=82345679 B=00000001 R=82342b3c CCIN=0000 CC=0005
+sarb       A=82345679 B=00000001 R=8234563c CCIN=0000 CC=0005
+sarl       A=82345679 B=00000002 R=e08d159e CCIN=0000 CC=0080
+sarw       A=82345679 B=00000002 R=8234159e CCIN=0000 CC=0000
+sarb       A=82345679 B=00000002 R=8234561e CCIN=0000 CC=0004
+sarl       A=82345679 B=00000003 R=f0468acf CCIN=0000 CC=0084
+sarw       A=82345679 B=00000003 R=82340acf CCIN=0000 CC=0004
+sarb       A=82345679 B=00000003 R=8234560f CCIN=0000 CC=0004
+sarl       A=82345679 B=00000004 R=f8234567 CCIN=0000 CC=0081
+sarw       A=82345679 B=00000004 R=82340567 CCIN=0000 CC=0001
+sarb       A=82345679 B=00000004 R=82345607 CCIN=0000 CC=0001
+sarl       A=82345679 B=00000005 R=fc11a2b3 CCIN=0000 CC=0081
+sarw       A=82345679 B=00000005 R=823402b3 CCIN=0000 CC=0001
+sarb       A=82345679 B=00000005 R=82345603 CCIN=0000 CC=0005
+sarl       A=82345679 B=00000006 R=fe08d159 CCIN=0000 CC=0085
+sarw       A=82345679 B=00000006 R=82340159 CCIN=0000 CC=0005
+sarb       A=82345679 B=00000006 R=82345601 CCIN=0000 CC=0001
+sarl       A=82345679 B=00000007 R=ff0468ac CCIN=0000 CC=0085
+sarw       A=82345679 B=00000007 R=823400ac CCIN=0000 CC=0005
+sarb       A=82345679 B=00000007 R=82345600 CCIN=0000 CC=0045
+sarl       A=82345679 B=00000008 R=ff823456 CCIN=0000 CC=0084
+sarw       A=82345679 B=00000008 R=82340056 CCIN=0000 CC=0004
+sarb       A=82345679 B=00000008 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000009 R=ffc11a2b CCIN=0000 CC=0084
+sarw       A=82345679 B=00000009 R=8234002b CCIN=0000 CC=0004
+sarb       A=82345679 B=00000009 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000000a R=ffe08d15 CCIN=0000 CC=0081
+sarw       A=82345679 B=0000000a R=82340015 CCIN=0000 CC=0001
+sarb       A=82345679 B=0000000a R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000000b R=fff0468a CCIN=0000 CC=0081
+sarw       A=82345679 B=0000000b R=8234000a CCIN=0000 CC=0005
+sarb       A=82345679 B=0000000b R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000000c R=fff82345 CCIN=0000 CC=0080
+sarw       A=82345679 B=0000000c R=82340005 CCIN=0000 CC=0004
+sarb       A=82345679 B=0000000c R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000000d R=fffc11a2 CCIN=0000 CC=0081
+sarw       A=82345679 B=0000000d R=82340002 CCIN=0000 CC=0001
+sarb       A=82345679 B=0000000d R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000000e R=fffe08d1 CCIN=0000 CC=0084
+sarw       A=82345679 B=0000000e R=82340001 CCIN=0000 CC=0000
+sarb       A=82345679 B=0000000e R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000000f R=ffff0468 CCIN=0000 CC=0081
+sarw       A=82345679 B=0000000f R=82340000 CCIN=0000 CC=0045
+sarb       A=82345679 B=0000000f R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000010 R=ffff8234 CCIN=0000 CC=0080
+sarw       A=82345679 B=00000010 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000010 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000011 R=ffffc11a CCIN=0000 CC=0080
+sarw       A=82345679 B=00000011 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000011 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000012 R=ffffe08d CCIN=0000 CC=0084
+sarw       A=82345679 B=00000012 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000012 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000013 R=fffff046 CCIN=0000 CC=0081
+sarw       A=82345679 B=00000013 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000013 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000014 R=fffff823 CCIN=0000 CC=0080
+sarw       A=82345679 B=00000014 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000014 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000015 R=fffffc11 CCIN=0000 CC=0085
+sarw       A=82345679 B=00000015 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000015 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000016 R=fffffe08 CCIN=0000 CC=0081
+sarw       A=82345679 B=00000016 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000016 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000017 R=ffffff04 CCIN=0000 CC=0080
+sarw       A=82345679 B=00000017 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000017 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000018 R=ffffff82 CCIN=0000 CC=0084
+sarw       A=82345679 B=00000018 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000018 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=00000019 R=ffffffc1 CCIN=0000 CC=0080
+sarw       A=82345679 B=00000019 R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=00000019 R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000001a R=ffffffe0 CCIN=0000 CC=0081
+sarw       A=82345679 B=0000001a R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=0000001a R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000001b R=fffffff0 CCIN=0000 CC=0084
+sarw       A=82345679 B=0000001b R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=0000001b R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000001c R=fffffff8 CCIN=0000 CC=0080
+sarw       A=82345679 B=0000001c R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=0000001c R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000001d R=fffffffc CCIN=0000 CC=0084
+sarw       A=82345679 B=0000001d R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=0000001d R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000001e R=fffffffe CCIN=0000 CC=0080
+sarw       A=82345679 B=0000001e R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=0000001e R=82345600 CCIN=0000 CC=0044
+sarl       A=82345679 B=0000001f R=ffffffff CCIN=0000 CC=0084
+sarw       A=82345679 B=0000001f R=82340000 CCIN=0000 CC=0044
+sarb       A=82345679 B=0000001f R=82345600 CCIN=0000 CC=0044
diff --git a/test/arch/x86/qemu/expected/test_sbb.exp b/test/arch/x86/qemu/expected/test_sbb.exp
new file mode 100644
index 00000000..e77f4236
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_sbb.exp
@@ -0,0 +1,150 @@
+sbbl       A=12345678 B=0812fada R=0a215b9e CCIN=0000 CC=0010
+sbbw       A=12345678 B=0812fada R=12345b9e CCIN=0000 CC=0011
+sbbb       A=12345678 B=0812fada R=1234569e CCIN=0000 CC=0891
+sbbl       A=12345678 B=0812fada R=0a215b9d CCIN=0001 CC=0010
+sbbw       A=12345678 B=0812fada R=12345b9d CCIN=0001 CC=0011
+sbbb       A=12345678 B=0812fada R=1234569d CCIN=0001 CC=0891
+sbbl       A=00012341 B=00012341 R=00000000 CCIN=0000 CC=0044
+sbbw       A=00012341 B=00012341 R=00010000 CCIN=0000 CC=0044
+sbbb       A=00012341 B=00012341 R=00012300 CCIN=0000 CC=0044
+sbbl       A=00012341 B=00012341 R=ffffffff CCIN=0001 CC=0095
+sbbw       A=00012341 B=00012341 R=0001ffff CCIN=0001 CC=0095
+sbbb       A=00012341 B=00012341 R=000123ff CCIN=0001 CC=0095
+sbbl       A=00012341 B=fffedcbf R=00024682 CCIN=0000 CC=0015
+sbbw       A=00012341 B=fffedcbf R=00014682 CCIN=0000 CC=0015
+sbbb       A=00012341 B=fffedcbf R=00012382 CCIN=0000 CC=0895
+sbbl       A=00012341 B=fffedcbf R=00024681 CCIN=0001 CC=0015
+sbbw       A=00012341 B=fffedcbf R=00014681 CCIN=0001 CC=0015
+sbbb       A=00012341 B=fffedcbf R=00012381 CCIN=0001 CC=0895
+sbbl       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+sbbw       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+sbbb       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+sbbl       A=ffffffff B=00000000 R=fffffffe CCIN=0001 CC=0080
+sbbw       A=ffffffff B=00000000 R=fffffffe CCIN=0001 CC=0080
+sbbb       A=ffffffff B=00000000 R=fffffffe CCIN=0001 CC=0080
+sbbl       A=ffffffff B=ffffffff R=00000000 CCIN=0000 CC=0044
+sbbw       A=ffffffff B=ffffffff R=ffff0000 CCIN=0000 CC=0044
+sbbb       A=ffffffff B=ffffffff R=ffffff00 CCIN=0000 CC=0044
+sbbl       A=ffffffff B=ffffffff R=ffffffff CCIN=0001 CC=0095
+sbbw       A=ffffffff B=ffffffff R=ffffffff CCIN=0001 CC=0095
+sbbb       A=ffffffff B=ffffffff R=ffffffff CCIN=0001 CC=0095
+sbbl       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+sbbw       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+sbbb       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+sbbl       A=ffffffff B=00000001 R=fffffffd CCIN=0001 CC=0080
+sbbw       A=ffffffff B=00000001 R=fffffffd CCIN=0001 CC=0080
+sbbb       A=ffffffff B=00000001 R=fffffffd CCIN=0001 CC=0080
+sbbl       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+sbbw       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+sbbb       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+sbbl       A=ffffffff B=00000002 R=fffffffc CCIN=0001 CC=0084
+sbbw       A=ffffffff B=00000002 R=fffffffc CCIN=0001 CC=0084
+sbbb       A=ffffffff B=00000002 R=fffffffc CCIN=0001 CC=0084
+sbbl       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0004
+sbbw       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+sbbb       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+sbbl       A=7fffffff B=00000000 R=7ffffffe CCIN=0001 CC=0000
+sbbw       A=7fffffff B=00000000 R=7ffffffe CCIN=0001 CC=0080
+sbbb       A=7fffffff B=00000000 R=7ffffffe CCIN=0001 CC=0080
+sbbl       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0000
+sbbw       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0080
+sbbb       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0080
+sbbl       A=7fffffff B=00000001 R=7ffffffd CCIN=0001 CC=0000
+sbbw       A=7fffffff B=00000001 R=7ffffffd CCIN=0001 CC=0080
+sbbb       A=7fffffff B=00000001 R=7ffffffd CCIN=0001 CC=0080
+sbbl       A=7fffffff B=ffffffff R=80000000 CCIN=0000 CC=0885
+sbbw       A=7fffffff B=ffffffff R=7fff0000 CCIN=0000 CC=0044
+sbbb       A=7fffffff B=ffffffff R=7fffff00 CCIN=0000 CC=0044
+sbbl       A=7fffffff B=ffffffff R=7fffffff CCIN=0001 CC=0015
+sbbw       A=7fffffff B=ffffffff R=7fffffff CCIN=0001 CC=0095
+sbbb       A=7fffffff B=ffffffff R=7fffffff CCIN=0001 CC=0095
+sbbl       A=80000000 B=ffffffff R=80000001 CCIN=0000 CC=0091
+sbbw       A=80000000 B=ffffffff R=80000001 CCIN=0000 CC=0011
+sbbb       A=80000000 B=ffffffff R=80000001 CCIN=0000 CC=0011
+sbbl       A=80000000 B=ffffffff R=80000000 CCIN=0001 CC=0095
+sbbw       A=80000000 B=ffffffff R=80000000 CCIN=0001 CC=0055
+sbbb       A=80000000 B=ffffffff R=80000000 CCIN=0001 CC=0055
+sbbl       A=80000000 B=00000001 R=7fffffff CCIN=0000 CC=0814
+sbbw       A=80000000 B=00000001 R=8000ffff CCIN=0000 CC=0095
+sbbb       A=80000000 B=00000001 R=800000ff CCIN=0000 CC=0095
+sbbl       A=80000000 B=00000001 R=7ffffffe CCIN=0001 CC=0810
+sbbw       A=80000000 B=00000001 R=8000fffe CCIN=0001 CC=0091
+sbbb       A=80000000 B=00000001 R=800000fe CCIN=0001 CC=0091
+sbbl       A=80000000 B=fffffffe R=80000002 CCIN=0000 CC=0091
+sbbw       A=80000000 B=fffffffe R=80000002 CCIN=0000 CC=0011
+sbbb       A=80000000 B=fffffffe R=80000002 CCIN=0000 CC=0011
+sbbl       A=80000000 B=fffffffe R=80000001 CCIN=0001 CC=0091
+sbbw       A=80000000 B=fffffffe R=80000001 CCIN=0001 CC=0011
+sbbb       A=80000000 B=fffffffe R=80000001 CCIN=0001 CC=0011
+sbbl       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+sbbw       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+sbbb       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0084
+sbbl       A=12347fff B=00000000 R=12347ffe CCIN=0001 CC=0000
+sbbw       A=12347fff B=00000000 R=12347ffe CCIN=0001 CC=0000
+sbbb       A=12347fff B=00000000 R=12347ffe CCIN=0001 CC=0080
+sbbl       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0000
+sbbw       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0000
+sbbb       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0080
+sbbl       A=12347fff B=00000001 R=12347ffd CCIN=0001 CC=0000
+sbbw       A=12347fff B=00000001 R=12347ffd CCIN=0001 CC=0000
+sbbb       A=12347fff B=00000001 R=12347ffd CCIN=0001 CC=0080
+sbbl       A=12347fff B=ffffffff R=12348000 CCIN=0000 CC=0005
+sbbw       A=12347fff B=ffffffff R=12348000 CCIN=0000 CC=0885
+sbbb       A=12347fff B=ffffffff R=12347f00 CCIN=0000 CC=0044
+sbbl       A=12347fff B=ffffffff R=12347fff CCIN=0001 CC=0015
+sbbw       A=12347fff B=ffffffff R=12347fff CCIN=0001 CC=0015
+sbbb       A=12347fff B=ffffffff R=12347fff CCIN=0001 CC=0095
+sbbl       A=12348000 B=ffffffff R=12348001 CCIN=0000 CC=0011
+sbbw       A=12348000 B=ffffffff R=12348001 CCIN=0000 CC=0091
+sbbb       A=12348000 B=ffffffff R=12348001 CCIN=0000 CC=0011
+sbbl       A=12348000 B=ffffffff R=12348000 CCIN=0001 CC=0015
+sbbw       A=12348000 B=ffffffff R=12348000 CCIN=0001 CC=0095
+sbbb       A=12348000 B=ffffffff R=12348000 CCIN=0001 CC=0055
+sbbl       A=12348000 B=00000001 R=12347fff CCIN=0000 CC=0014
+sbbw       A=12348000 B=00000001 R=12347fff CCIN=0000 CC=0814
+sbbb       A=12348000 B=00000001 R=123480ff CCIN=0000 CC=0095
+sbbl       A=12348000 B=00000001 R=12347ffe CCIN=0001 CC=0010
+sbbw       A=12348000 B=00000001 R=12347ffe CCIN=0001 CC=0810
+sbbb       A=12348000 B=00000001 R=123480fe CCIN=0001 CC=0091
+sbbl       A=12348000 B=fffffffe R=12348002 CCIN=0000 CC=0011
+sbbw       A=12348000 B=fffffffe R=12348002 CCIN=0000 CC=0091
+sbbb       A=12348000 B=fffffffe R=12348002 CCIN=0000 CC=0011
+sbbl       A=12348000 B=fffffffe R=12348001 CCIN=0001 CC=0011
+sbbw       A=12348000 B=fffffffe R=12348001 CCIN=0001 CC=0091
+sbbb       A=12348000 B=fffffffe R=12348001 CCIN=0001 CC=0011
+sbbl       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+sbbw       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+sbbb       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+sbbl       A=12347f7f B=00000000 R=12347f7e CCIN=0001 CC=0004
+sbbw       A=12347f7f B=00000000 R=12347f7e CCIN=0001 CC=0004
+sbbb       A=12347f7f B=00000000 R=12347f7e CCIN=0001 CC=0004
+sbbl       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+sbbw       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+sbbb       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+sbbl       A=12347f7f B=00000001 R=12347f7d CCIN=0001 CC=0004
+sbbw       A=12347f7f B=00000001 R=12347f7d CCIN=0001 CC=0004
+sbbb       A=12347f7f B=00000001 R=12347f7d CCIN=0001 CC=0004
+sbbl       A=12347f7f B=ffffffff R=12347f80 CCIN=0000 CC=0001
+sbbw       A=12347f7f B=ffffffff R=12347f80 CCIN=0000 CC=0001
+sbbb       A=12347f7f B=ffffffff R=12347f80 CCIN=0000 CC=0881
+sbbl       A=12347f7f B=ffffffff R=12347f7f CCIN=0001 CC=0011
+sbbw       A=12347f7f B=ffffffff R=12347f7f CCIN=0001 CC=0011
+sbbb       A=12347f7f B=ffffffff R=12347f7f CCIN=0001 CC=0011
+sbbl       A=12348080 B=ffffffff R=12348081 CCIN=0000 CC=0015
+sbbw       A=12348080 B=ffffffff R=12348081 CCIN=0000 CC=0095
+sbbb       A=12348080 B=ffffffff R=12348081 CCIN=0000 CC=0095
+sbbl       A=12348080 B=ffffffff R=12348080 CCIN=0001 CC=0011
+sbbw       A=12348080 B=ffffffff R=12348080 CCIN=0001 CC=0091
+sbbb       A=12348080 B=ffffffff R=12348080 CCIN=0001 CC=0091
+sbbl       A=12348080 B=00000001 R=1234807f CCIN=0000 CC=0010
+sbbw       A=12348080 B=00000001 R=1234807f CCIN=0000 CC=0090
+sbbb       A=12348080 B=00000001 R=1234807f CCIN=0000 CC=0810
+sbbl       A=12348080 B=00000001 R=1234807e CCIN=0001 CC=0014
+sbbw       A=12348080 B=00000001 R=1234807e CCIN=0001 CC=0094
+sbbb       A=12348080 B=00000001 R=1234807e CCIN=0001 CC=0814
+sbbl       A=12348080 B=fffffffe R=12348082 CCIN=0000 CC=0015
+sbbw       A=12348080 B=fffffffe R=12348082 CCIN=0000 CC=0095
+sbbb       A=12348080 B=fffffffe R=12348082 CCIN=0000 CC=0095
+sbbl       A=12348080 B=fffffffe R=12348081 CCIN=0001 CC=0015
+sbbw       A=12348080 B=fffffffe R=12348081 CCIN=0001 CC=0095
+sbbb       A=12348080 B=fffffffe R=12348081 CCIN=0001 CC=0095
diff --git a/test/arch/x86/qemu/expected/test_segs.exp b/test/arch/x86/qemu/expected/test_segs.exp
new file mode 100644
index 00000000..66f7ee0f
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_segs.exp
@@ -0,0 +1,16 @@
+FS[1] = aa
+GS[1] = 55
+DS[1] = aa
+SS[tmp] = a5
+FS:reg = 0017:abcdef12
+larw: Z=1 1234f200
+larl: Z=1 00c0f200
+lslw: Z=1 12341fff
+lsll: Z=1 00001fff
+larw: Z=0 12345678
+larl: Z=0 12345678
+lslw: Z=0 12345678
+lsll: Z=0 12345678
+arplw A=1234567b B=0762123d R=1234567b z=0
+arplw A=12345679 B=0762123f R=1234567b z=1
+arplw A=12345679 B=0762123d R=12345679 z=0
diff --git a/test/arch/x86/qemu/expected/test_self_modifying_code.exp b/test/arch/x86/qemu/expected/test_self_modifying_code.exp
new file mode 100644
index 00000000..088e0c6f
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_self_modifying_code.exp
@@ -0,0 +1,8 @@
+self modifying code:
+func1 = 0x1
+func2 = 0x2
+func3 = 0x3
+func4 = 0x4
+smc_code2(2) = 2
+smc_code2(3) = 3
+smc_code2(4) = 4
diff --git a/test/arch/x86/qemu/expected/test_shl.exp b/test/arch/x86/qemu/expected/test_shl.exp
new file mode 100644
index 00000000..f268a1c5
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_shl.exp
@@ -0,0 +1,192 @@
+shll       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+shlw       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+shlb       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+shll       A=12345678 B=00000001 R=2468acf0 CCIN=0000 CC=0004
+shlw       A=12345678 B=00000001 R=1234acf0 CCIN=0000 CC=0884
+shlb       A=12345678 B=00000001 R=123456f0 CCIN=0000 CC=0884
+shll       A=12345678 B=00000002 R=48d159e0 CCIN=0000 CC=0000
+shlw       A=12345678 B=00000002 R=123459e0 CCIN=0000 CC=0001
+shlb       A=12345678 B=00000002 R=123456e0 CCIN=0000 CC=0081
+shll       A=12345678 B=00000003 R=91a2b3c0 CCIN=0000 CC=0084
+shlw       A=12345678 B=00000003 R=1234b3c0 CCIN=0000 CC=0084
+shlb       A=12345678 B=00000003 R=123456c0 CCIN=0000 CC=0085
+shll       A=12345678 B=00000004 R=23456780 CCIN=0000 CC=0001
+shlw       A=12345678 B=00000004 R=12346780 CCIN=0000 CC=0001
+shlb       A=12345678 B=00000004 R=12345680 CCIN=0000 CC=0081
+shll       A=12345678 B=00000005 R=468acf00 CCIN=0000 CC=0004
+shlw       A=12345678 B=00000005 R=1234cf00 CCIN=0000 CC=0084
+shlb       A=12345678 B=00000005 R=12345600 CCIN=0000 CC=0045
+shll       A=12345678 B=00000006 R=8d159e00 CCIN=0000 CC=0084
+shlw       A=12345678 B=00000006 R=12349e00 CCIN=0000 CC=0085
+shlb       A=12345678 B=00000006 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000007 R=1a2b3c00 CCIN=0000 CC=0005
+shlw       A=12345678 B=00000007 R=12343c00 CCIN=0000 CC=0005
+shlb       A=12345678 B=00000007 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000008 R=34567800 CCIN=0000 CC=0004
+shlw       A=12345678 B=00000008 R=12347800 CCIN=0000 CC=0004
+shlb       A=12345678 B=00000008 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000009 R=68acf000 CCIN=0000 CC=0004
+shlw       A=12345678 B=00000009 R=1234f000 CCIN=0000 CC=0084
+shlb       A=12345678 B=00000009 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000000a R=d159e000 CCIN=0000 CC=0084
+shlw       A=12345678 B=0000000a R=1234e000 CCIN=0000 CC=0085
+shlb       A=12345678 B=0000000a R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000000b R=a2b3c000 CCIN=0000 CC=0085
+shlw       A=12345678 B=0000000b R=1234c000 CCIN=0000 CC=0085
+shlb       A=12345678 B=0000000b R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000000c R=45678000 CCIN=0000 CC=0005
+shlw       A=12345678 B=0000000c R=12348000 CCIN=0000 CC=0085
+shlb       A=12345678 B=0000000c R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000000d R=8acf0000 CCIN=0000 CC=0084
+shlw       A=12345678 B=0000000d R=12340000 CCIN=0000 CC=0045
+shlb       A=12345678 B=0000000d R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000000e R=159e0000 CCIN=0000 CC=0005
+shlw       A=12345678 B=0000000e R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=0000000e R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000000f R=2b3c0000 CCIN=0000 CC=0004
+shlw       A=12345678 B=0000000f R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=0000000f R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000010 R=56780000 CCIN=0000 CC=0004
+shlw       A=12345678 B=00000010 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000010 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000011 R=acf00000 CCIN=0000 CC=0084
+shlw       A=12345678 B=00000011 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000011 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000012 R=59e00000 CCIN=0000 CC=0005
+shlw       A=12345678 B=00000012 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000012 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000013 R=b3c00000 CCIN=0000 CC=0084
+shlw       A=12345678 B=00000013 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000013 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000014 R=67800000 CCIN=0000 CC=0005
+shlw       A=12345678 B=00000014 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000014 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000015 R=cf000000 CCIN=0000 CC=0084
+shlw       A=12345678 B=00000015 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000015 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000016 R=9e000000 CCIN=0000 CC=0085
+shlw       A=12345678 B=00000016 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000016 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000017 R=3c000000 CCIN=0000 CC=0005
+shlw       A=12345678 B=00000017 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000017 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000018 R=78000000 CCIN=0000 CC=0004
+shlw       A=12345678 B=00000018 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000018 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=00000019 R=f0000000 CCIN=0000 CC=0084
+shlw       A=12345678 B=00000019 R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=00000019 R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000001a R=e0000000 CCIN=0000 CC=0085
+shlw       A=12345678 B=0000001a R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=0000001a R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000001b R=c0000000 CCIN=0000 CC=0085
+shlw       A=12345678 B=0000001b R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=0000001b R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000001c R=80000000 CCIN=0000 CC=0085
+shlw       A=12345678 B=0000001c R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=0000001c R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000001d R=00000000 CCIN=0000 CC=0045
+shlw       A=12345678 B=0000001d R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=0000001d R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000001e R=00000000 CCIN=0000 CC=0044
+shlw       A=12345678 B=0000001e R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=0000001e R=12345600 CCIN=0000 CC=0044
+shll       A=12345678 B=0000001f R=00000000 CCIN=0000 CC=0044
+shlw       A=12345678 B=0000001f R=12340000 CCIN=0000 CC=0044
+shlb       A=12345678 B=0000001f R=12345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+shlw       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+shlb       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+shll       A=82345679 B=00000001 R=0468acf2 CCIN=0000 CC=0801
+shlw       A=82345679 B=00000001 R=8234acf2 CCIN=0000 CC=0880
+shlb       A=82345679 B=00000001 R=823456f2 CCIN=0000 CC=0880
+shll       A=82345679 B=00000002 R=08d159e4 CCIN=0000 CC=0004
+shlw       A=82345679 B=00000002 R=823459e4 CCIN=0000 CC=0005
+shlb       A=82345679 B=00000002 R=823456e4 CCIN=0000 CC=0085
+shll       A=82345679 B=00000003 R=11a2b3c8 CCIN=0000 CC=0000
+shlw       A=82345679 B=00000003 R=8234b3c8 CCIN=0000 CC=0080
+shlb       A=82345679 B=00000003 R=823456c8 CCIN=0000 CC=0081
+shll       A=82345679 B=00000004 R=23456790 CCIN=0000 CC=0004
+shlw       A=82345679 B=00000004 R=82346790 CCIN=0000 CC=0005
+shlb       A=82345679 B=00000004 R=82345690 CCIN=0000 CC=0085
+shll       A=82345679 B=00000005 R=468acf20 CCIN=0000 CC=0000
+shlw       A=82345679 B=00000005 R=8234cf20 CCIN=0000 CC=0080
+shlb       A=82345679 B=00000005 R=82345620 CCIN=0000 CC=0001
+shll       A=82345679 B=00000006 R=8d159e40 CCIN=0000 CC=0080
+shlw       A=82345679 B=00000006 R=82349e40 CCIN=0000 CC=0081
+shlb       A=82345679 B=00000006 R=82345640 CCIN=0000 CC=0000
+shll       A=82345679 B=00000007 R=1a2b3c80 CCIN=0000 CC=0001
+shlw       A=82345679 B=00000007 R=82343c80 CCIN=0000 CC=0001
+shlb       A=82345679 B=00000007 R=82345680 CCIN=0000 CC=0080
+shll       A=82345679 B=00000008 R=34567900 CCIN=0000 CC=0004
+shlw       A=82345679 B=00000008 R=82347900 CCIN=0000 CC=0004
+shlb       A=82345679 B=00000008 R=82345600 CCIN=0000 CC=0045
+shll       A=82345679 B=00000009 R=68acf200 CCIN=0000 CC=0004
+shlw       A=82345679 B=00000009 R=8234f200 CCIN=0000 CC=0084
+shlb       A=82345679 B=00000009 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000000a R=d159e400 CCIN=0000 CC=0084
+shlw       A=82345679 B=0000000a R=8234e400 CCIN=0000 CC=0085
+shlb       A=82345679 B=0000000a R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000000b R=a2b3c800 CCIN=0000 CC=0085
+shlw       A=82345679 B=0000000b R=8234c800 CCIN=0000 CC=0085
+shlb       A=82345679 B=0000000b R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000000c R=45679000 CCIN=0000 CC=0005
+shlw       A=82345679 B=0000000c R=82349000 CCIN=0000 CC=0085
+shlb       A=82345679 B=0000000c R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000000d R=8acf2000 CCIN=0000 CC=0084
+shlw       A=82345679 B=0000000d R=82342000 CCIN=0000 CC=0005
+shlb       A=82345679 B=0000000d R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000000e R=159e4000 CCIN=0000 CC=0005
+shlw       A=82345679 B=0000000e R=82344000 CCIN=0000 CC=0004
+shlb       A=82345679 B=0000000e R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000000f R=2b3c8000 CCIN=0000 CC=0004
+shlw       A=82345679 B=0000000f R=82348000 CCIN=0000 CC=0084
+shlb       A=82345679 B=0000000f R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000010 R=56790000 CCIN=0000 CC=0004
+shlw       A=82345679 B=00000010 R=82340000 CCIN=0000 CC=0045
+shlb       A=82345679 B=00000010 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000011 R=acf20000 CCIN=0000 CC=0084
+shlw       A=82345679 B=00000011 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000011 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000012 R=59e40000 CCIN=0000 CC=0005
+shlw       A=82345679 B=00000012 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000012 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000013 R=b3c80000 CCIN=0000 CC=0084
+shlw       A=82345679 B=00000013 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000013 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000014 R=67900000 CCIN=0000 CC=0005
+shlw       A=82345679 B=00000014 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000014 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000015 R=cf200000 CCIN=0000 CC=0084
+shlw       A=82345679 B=00000015 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000015 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000016 R=9e400000 CCIN=0000 CC=0085
+shlw       A=82345679 B=00000016 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000016 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000017 R=3c800000 CCIN=0000 CC=0005
+shlw       A=82345679 B=00000017 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000017 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000018 R=79000000 CCIN=0000 CC=0004
+shlw       A=82345679 B=00000018 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000018 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=00000019 R=f2000000 CCIN=0000 CC=0084
+shlw       A=82345679 B=00000019 R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=00000019 R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000001a R=e4000000 CCIN=0000 CC=0085
+shlw       A=82345679 B=0000001a R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=0000001a R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000001b R=c8000000 CCIN=0000 CC=0085
+shlw       A=82345679 B=0000001b R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=0000001b R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000001c R=90000000 CCIN=0000 CC=0085
+shlw       A=82345679 B=0000001c R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=0000001c R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000001d R=20000000 CCIN=0000 CC=0005
+shlw       A=82345679 B=0000001d R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=0000001d R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000001e R=40000000 CCIN=0000 CC=0004
+shlw       A=82345679 B=0000001e R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=0000001e R=82345600 CCIN=0000 CC=0044
+shll       A=82345679 B=0000001f R=80000000 CCIN=0000 CC=0084
+shlw       A=82345679 B=0000001f R=82340000 CCIN=0000 CC=0044
+shlb       A=82345679 B=0000001f R=82345600 CCIN=0000 CC=0044
diff --git a/test/arch/x86/qemu/expected/test_shld.exp b/test/arch/x86/qemu/expected/test_shld.exp
new file mode 100644
index 00000000..f8dc3818
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_shld.exp
@@ -0,0 +1,128 @@
+shldl      A=12345678 B=21ad3d34 C=00000000 R=12345678 CCIN=0000 CC=0000
+shldw      A=12345678 B=21ad3d34 C=00000000 R=12345678 CCIN=0000 CC=0000
+shldl      A=12345678 B=21ad3d34 C=00000001 R=2468acf0 CCIN=0000 CC=0004
+shldw      A=12345678 B=21ad3d34 C=00000001 R=1234acf0 CCIN=0000 CC=0884
+shldl      A=12345678 B=21ad3d34 C=00000002 R=48d159e0 CCIN=0000 CC=0000
+shldw      A=12345678 B=21ad3d34 C=00000002 R=123459e0 CCIN=0000 CC=0001
+shldl      A=12345678 B=21ad3d34 C=00000003 R=91a2b3c1 CCIN=0000 CC=0080
+shldw      A=12345678 B=21ad3d34 C=00000003 R=1234b3c1 CCIN=0000 CC=0080
+shldl      A=12345678 B=21ad3d34 C=00000004 R=23456782 CCIN=0000 CC=0005
+shldw      A=12345678 B=21ad3d34 C=00000004 R=12346783 CCIN=0000 CC=0001
+shldl      A=12345678 B=21ad3d34 C=00000005 R=468acf04 CCIN=0000 CC=0000
+shldw      A=12345678 B=21ad3d34 C=00000005 R=1234cf07 CCIN=0000 CC=0080
+shldl      A=12345678 B=21ad3d34 C=00000006 R=8d159e08 CCIN=0000 CC=0080
+shldw      A=12345678 B=21ad3d34 C=00000006 R=12349e0f CCIN=0000 CC=0085
+shldl      A=12345678 B=21ad3d34 C=00000007 R=1a2b3c10 CCIN=0000 CC=0001
+shldw      A=12345678 B=21ad3d34 C=00000007 R=12343c1e CCIN=0000 CC=0005
+shldl      A=12345678 B=21ad3d34 C=00000008 R=34567821 CCIN=0000 CC=0004
+shldw      A=12345678 B=21ad3d34 C=00000008 R=1234783d CCIN=0000 CC=0000
+shldl      A=12345678 B=21ad3d34 C=00000009 R=68acf043 CCIN=0000 CC=0000
+shldw      A=12345678 B=21ad3d34 C=00000009 R=1234f07a CCIN=0000 CC=0080
+shldl      A=12345678 B=21ad3d34 C=0000000a R=d159e086 CCIN=0000 CC=0080
+shldw      A=12345678 B=21ad3d34 C=0000000a R=1234e0f4 CCIN=0000 CC=0081
+shldl      A=12345678 B=21ad3d34 C=0000000b R=a2b3c10d CCIN=0000 CC=0081
+shldw      A=12345678 B=21ad3d34 C=0000000b R=1234c1e9 CCIN=0000 CC=0081
+shldl      A=12345678 B=21ad3d34 C=0000000c R=4567821a CCIN=0000 CC=0001
+shldw      A=12345678 B=21ad3d34 C=0000000c R=123483d3 CCIN=0000 CC=0081
+shldl      A=12345678 B=21ad3d34 C=0000000d R=8acf0435 CCIN=0000 CC=0084
+shldw      A=12345678 B=21ad3d34 C=0000000d R=123407a6 CCIN=0000 CC=0005
+shldl      A=12345678 B=21ad3d34 C=0000000e R=159e086b CCIN=0000 CC=0001
+shldw      A=12345678 B=21ad3d34 C=0000000e R=12340f4d CCIN=0000 CC=0004
+shldl      A=12345678 B=21ad3d34 C=0000000f R=2b3c10d6 CCIN=0000 CC=0000
+shldw      A=12345678 B=21ad3d34 C=0000000f R=12341e9a CCIN=0000 CC=0004
+shldl      A=12345678 B=21ad3d34 C=00000010 R=567821ad CCIN=0000 CC=0000
+shldw      A=12345678 B=21ad3d34 C=00000010 R=12343d34 CCIN=0000 CC=0000
+shldl      A=12345678 B=21ad3d34 C=00000011 R=acf0435a CCIN=0000 CC=0084
+shldw      A=12345678 B=21ad3d34 C=00000011 R=12347a68 CCIN=0000 CC=0000
+shldl      A=12345678 B=21ad3d34 C=00000012 R=59e086b4 CCIN=0000 CC=0005
+shldw      A=12345678 B=21ad3d34 C=00000012 R=1234f4d1 CCIN=0000 CC=0084
+shldl      A=12345678 B=21ad3d34 C=00000013 R=b3c10d69 CCIN=0000 CC=0084
+shldw      A=12345678 B=21ad3d34 C=00000013 R=1234e9a2 CCIN=0000 CC=0081
+shldl      A=12345678 B=21ad3d34 C=00000014 R=67821ad3 CCIN=0000 CC=0001
+shldw      A=12345678 B=21ad3d34 C=00000014 R=1234d345 CCIN=0000 CC=0081
+shldl      A=12345678 B=21ad3d34 C=00000015 R=cf0435a7 CCIN=0000 CC=0080
+shldw      A=12345678 B=21ad3d34 C=00000015 R=1234a68a CCIN=0000 CC=0081
+shldl      A=12345678 B=21ad3d34 C=00000016 R=9e086b4f CCIN=0000 CC=0081
+shldw      A=12345678 B=21ad3d34 C=00000016 R=12344d15 CCIN=0000 CC=0001
+shldl      A=12345678 B=21ad3d34 C=00000017 R=3c10d69e CCIN=0000 CC=0001
+shldw      A=12345678 B=21ad3d34 C=00000017 R=12349a2b CCIN=0000 CC=0084
+shldl      A=12345678 B=21ad3d34 C=00000018 R=7821ad3d CCIN=0000 CC=0000
+shldw      A=12345678 B=21ad3d34 C=00000018 R=12343456 CCIN=0000 CC=0005
+shldl      A=12345678 B=21ad3d34 C=00000019 R=f0435a7a CCIN=0000 CC=0080
+shldw      A=12345678 B=21ad3d34 C=00000019 R=123468ac CCIN=0000 CC=0004
+shldl      A=12345678 B=21ad3d34 C=0000001a R=e086b4f4 CCIN=0000 CC=0081
+shldw      A=12345678 B=21ad3d34 C=0000001a R=1234d159 CCIN=0000 CC=0084
+shldl      A=12345678 B=21ad3d34 C=0000001b R=c10d69e9 CCIN=0000 CC=0081
+shldw      A=12345678 B=21ad3d34 C=0000001b R=1234a2b3 CCIN=0000 CC=0081
+shldl      A=12345678 B=21ad3d34 C=0000001c R=821ad3d3 CCIN=0000 CC=0081
+shldw      A=12345678 B=21ad3d34 C=0000001c R=12344567 CCIN=0000 CC=0001
+shldl      A=12345678 B=21ad3d34 C=0000001d R=0435a7a6 CCIN=0000 CC=0005
+shldw      A=12345678 B=21ad3d34 C=0000001d R=12348acf CCIN=0000 CC=0084
+shldl      A=12345678 B=21ad3d34 C=0000001e R=086b4f4d CCIN=0000 CC=0004
+shldw      A=12345678 B=21ad3d34 C=0000001e R=1234159e CCIN=0000 CC=0001
+shldl      A=12345678 B=21ad3d34 C=0000001f R=10d69e9a CCIN=0000 CC=0004
+shldw      A=12345678 B=21ad3d34 C=0000001f R=12342b3c CCIN=0000 CC=0004
+shldl      A=82345679 B=813f3421 C=00000000 R=82345679 CCIN=0000 CC=0000
+shldw      A=82345679 B=813f3421 C=00000000 R=82345679 CCIN=0000 CC=0000
+shldl      A=82345679 B=813f3421 C=00000001 R=0468acf3 CCIN=0000 CC=0805
+shldw      A=82345679 B=813f3421 C=00000001 R=8234acf2 CCIN=0000 CC=0880
+shldl      A=82345679 B=813f3421 C=00000002 R=08d159e6 CCIN=0000 CC=0000
+shldw      A=82345679 B=813f3421 C=00000002 R=823459e4 CCIN=0000 CC=0005
+shldl      A=82345679 B=813f3421 C=00000003 R=11a2b3cc CCIN=0000 CC=0004
+shldw      A=82345679 B=813f3421 C=00000003 R=8234b3c9 CCIN=0000 CC=0084
+shldl      A=82345679 B=813f3421 C=00000004 R=23456798 CCIN=0000 CC=0000
+shldw      A=82345679 B=813f3421 C=00000004 R=82346793 CCIN=0000 CC=0005
+shldl      A=82345679 B=813f3421 C=00000005 R=468acf30 CCIN=0000 CC=0004
+shldw      A=82345679 B=813f3421 C=00000005 R=8234cf26 CCIN=0000 CC=0080
+shldl      A=82345679 B=813f3421 C=00000006 R=8d159e60 CCIN=0000 CC=0084
+shldw      A=82345679 B=813f3421 C=00000006 R=82349e4d CCIN=0000 CC=0085
+shldl      A=82345679 B=813f3421 C=00000007 R=1a2b3cc0 CCIN=0000 CC=0005
+shldw      A=82345679 B=813f3421 C=00000007 R=82343c9a CCIN=0000 CC=0005
+shldl      A=82345679 B=813f3421 C=00000008 R=34567981 CCIN=0000 CC=0004
+shldw      A=82345679 B=813f3421 C=00000008 R=82347934 CCIN=0000 CC=0000
+shldl      A=82345679 B=813f3421 C=00000009 R=68acf302 CCIN=0000 CC=0000
+shldw      A=82345679 B=813f3421 C=00000009 R=8234f268 CCIN=0000 CC=0080
+shldl      A=82345679 B=813f3421 C=0000000a R=d159e604 CCIN=0000 CC=0080
+shldw      A=82345679 B=813f3421 C=0000000a R=8234e4d0 CCIN=0000 CC=0081
+shldl      A=82345679 B=813f3421 C=0000000b R=a2b3cc09 CCIN=0000 CC=0085
+shldw      A=82345679 B=813f3421 C=0000000b R=8234c9a1 CCIN=0000 CC=0081
+shldl      A=82345679 B=813f3421 C=0000000c R=45679813 CCIN=0000 CC=0001
+shldw      A=82345679 B=813f3421 C=0000000c R=82349342 CCIN=0000 CC=0085
+shldl      A=82345679 B=813f3421 C=0000000d R=8acf3027 CCIN=0000 CC=0084
+shldw      A=82345679 B=813f3421 C=0000000d R=82342684 CCIN=0000 CC=0005
+shldl      A=82345679 B=813f3421 C=0000000e R=159e604f CCIN=0000 CC=0001
+shldw      A=82345679 B=813f3421 C=0000000e R=82344d08 CCIN=0000 CC=0000
+shldl      A=82345679 B=813f3421 C=0000000f R=2b3cc09f CCIN=0000 CC=0004
+shldw      A=82345679 B=813f3421 C=0000000f R=82349a10 CCIN=0000 CC=0080
+shldl      A=82345679 B=813f3421 C=00000010 R=5679813f CCIN=0000 CC=0004
+shldw      A=82345679 B=813f3421 C=00000010 R=82343421 CCIN=0000 CC=0005
+shldl      A=82345679 B=813f3421 C=00000011 R=acf3027e CCIN=0000 CC=0084
+shldw      A=82345679 B=813f3421 C=00000011 R=82346842 CCIN=0000 CC=0004
+shldl      A=82345679 B=813f3421 C=00000012 R=59e604fc CCIN=0000 CC=0005
+shldw      A=82345679 B=813f3421 C=00000012 R=8234d085 CCIN=0000 CC=0080
+shldl      A=82345679 B=813f3421 C=00000013 R=b3cc09f9 CCIN=0000 CC=0084
+shldw      A=82345679 B=813f3421 C=00000013 R=8234a10a CCIN=0000 CC=0085
+shldl      A=82345679 B=813f3421 C=00000014 R=679813f3 CCIN=0000 CC=0005
+shldw      A=82345679 B=813f3421 C=00000014 R=82344215 CCIN=0000 CC=0001
+shldl      A=82345679 B=813f3421 C=00000015 R=cf3027e6 CCIN=0000 CC=0080
+shldw      A=82345679 B=813f3421 C=00000015 R=8234842a CCIN=0000 CC=0080
+shldl      A=82345679 B=813f3421 C=00000016 R=9e604fcd CCIN=0000 CC=0081
+shldw      A=82345679 B=813f3421 C=00000016 R=82340855 CCIN=0000 CC=0005
+shldl      A=82345679 B=813f3421 C=00000017 R=3cc09f9a CCIN=0000 CC=0005
+shldw      A=82345679 B=813f3421 C=00000017 R=823410ab CCIN=0000 CC=0000
+shldl      A=82345679 B=813f3421 C=00000018 R=79813f34 CCIN=0000 CC=0000
+shldw      A=82345679 B=813f3421 C=00000018 R=82342156 CCIN=0000 CC=0004
+shldl      A=82345679 B=813f3421 C=00000019 R=f3027e68 CCIN=0000 CC=0080
+shldw      A=82345679 B=813f3421 C=00000019 R=823442ac CCIN=0000 CC=0004
+shldl      A=82345679 B=813f3421 C=0000001a R=e604fcd0 CCIN=0000 CC=0081
+shldw      A=82345679 B=813f3421 C=0000001a R=82348559 CCIN=0000 CC=0084
+shldl      A=82345679 B=813f3421 C=0000001b R=cc09f9a1 CCIN=0000 CC=0081
+shldw      A=82345679 B=813f3421 C=0000001b R=82340ab3 CCIN=0000 CC=0001
+shldl      A=82345679 B=813f3421 C=0000001c R=9813f342 CCIN=0000 CC=0085
+shldw      A=82345679 B=813f3421 C=0000001c R=82341567 CCIN=0000 CC=0000
+shldl      A=82345679 B=813f3421 C=0000001d R=3027e684 CCIN=0000 CC=0005
+shldw      A=82345679 B=813f3421 C=0000001d R=82342acf CCIN=0000 CC=0004
+shldl      A=82345679 B=813f3421 C=0000001e R=604fcd08 CCIN=0000 CC=0000
+shldw      A=82345679 B=813f3421 C=0000001e R=8234559e CCIN=0000 CC=0000
+shldl      A=82345679 B=813f3421 C=0000001f R=c09f9a10 CCIN=0000 CC=0080
+shldw      A=82345679 B=813f3421 C=0000001f R=8234ab3c CCIN=0000 CC=0084
diff --git a/test/arch/x86/qemu/expected/test_shr.exp b/test/arch/x86/qemu/expected/test_shr.exp
new file mode 100644
index 00000000..ada60bec
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_shr.exp
@@ -0,0 +1,192 @@
+shrl       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+shrw       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+shrb       A=12345678 B=00000000 R=12345678 CCIN=0000 CC=0000
+shrl       A=12345678 B=00000001 R=091a2b3c CCIN=0000 CC=0004
+shrw       A=12345678 B=00000001 R=12342b3c CCIN=0000 CC=0004
+shrb       A=12345678 B=00000001 R=1234563c CCIN=0000 CC=0004
+shrl       A=12345678 B=00000002 R=048d159e CCIN=0000 CC=0000
+shrw       A=12345678 B=00000002 R=1234159e CCIN=0000 CC=0000
+shrb       A=12345678 B=00000002 R=1234561e CCIN=0000 CC=0004
+shrl       A=12345678 B=00000003 R=02468acf CCIN=0000 CC=0004
+shrw       A=12345678 B=00000003 R=12340acf CCIN=0000 CC=0004
+shrb       A=12345678 B=00000003 R=1234560f CCIN=0000 CC=0004
+shrl       A=12345678 B=00000004 R=01234567 CCIN=0000 CC=0001
+shrw       A=12345678 B=00000004 R=12340567 CCIN=0000 CC=0001
+shrb       A=12345678 B=00000004 R=12345607 CCIN=0000 CC=0001
+shrl       A=12345678 B=00000005 R=0091a2b3 CCIN=0000 CC=0001
+shrw       A=12345678 B=00000005 R=123402b3 CCIN=0000 CC=0001
+shrb       A=12345678 B=00000005 R=12345603 CCIN=0000 CC=0005
+shrl       A=12345678 B=00000006 R=0048d159 CCIN=0000 CC=0005
+shrw       A=12345678 B=00000006 R=12340159 CCIN=0000 CC=0005
+shrb       A=12345678 B=00000006 R=12345601 CCIN=0000 CC=0001
+shrl       A=12345678 B=00000007 R=002468ac CCIN=0000 CC=0005
+shrw       A=12345678 B=00000007 R=123400ac CCIN=0000 CC=0005
+shrb       A=12345678 B=00000007 R=12345600 CCIN=0000 CC=0045
+shrl       A=12345678 B=00000008 R=00123456 CCIN=0000 CC=0004
+shrw       A=12345678 B=00000008 R=12340056 CCIN=0000 CC=0004
+shrb       A=12345678 B=00000008 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000009 R=00091a2b CCIN=0000 CC=0004
+shrw       A=12345678 B=00000009 R=1234002b CCIN=0000 CC=0004
+shrb       A=12345678 B=00000009 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000000a R=00048d15 CCIN=0000 CC=0001
+shrw       A=12345678 B=0000000a R=12340015 CCIN=0000 CC=0001
+shrb       A=12345678 B=0000000a R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000000b R=0002468a CCIN=0000 CC=0001
+shrw       A=12345678 B=0000000b R=1234000a CCIN=0000 CC=0005
+shrb       A=12345678 B=0000000b R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000000c R=00012345 CCIN=0000 CC=0000
+shrw       A=12345678 B=0000000c R=12340005 CCIN=0000 CC=0004
+shrb       A=12345678 B=0000000c R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000000d R=000091a2 CCIN=0000 CC=0001
+shrw       A=12345678 B=0000000d R=12340002 CCIN=0000 CC=0001
+shrb       A=12345678 B=0000000d R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000000e R=000048d1 CCIN=0000 CC=0004
+shrw       A=12345678 B=0000000e R=12340001 CCIN=0000 CC=0000
+shrb       A=12345678 B=0000000e R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000000f R=00002468 CCIN=0000 CC=0001
+shrw       A=12345678 B=0000000f R=12340000 CCIN=0000 CC=0045
+shrb       A=12345678 B=0000000f R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000010 R=00001234 CCIN=0000 CC=0000
+shrw       A=12345678 B=00000010 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000010 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000011 R=0000091a CCIN=0000 CC=0000
+shrw       A=12345678 B=00000011 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000011 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000012 R=0000048d CCIN=0000 CC=0004
+shrw       A=12345678 B=00000012 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000012 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000013 R=00000246 CCIN=0000 CC=0001
+shrw       A=12345678 B=00000013 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000013 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000014 R=00000123 CCIN=0000 CC=0000
+shrw       A=12345678 B=00000014 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000014 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000015 R=00000091 CCIN=0000 CC=0001
+shrw       A=12345678 B=00000015 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000015 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000016 R=00000048 CCIN=0000 CC=0005
+shrw       A=12345678 B=00000016 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000016 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000017 R=00000024 CCIN=0000 CC=0004
+shrw       A=12345678 B=00000017 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000017 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000018 R=00000012 CCIN=0000 CC=0004
+shrw       A=12345678 B=00000018 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000018 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=00000019 R=00000009 CCIN=0000 CC=0004
+shrw       A=12345678 B=00000019 R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=00000019 R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000001a R=00000004 CCIN=0000 CC=0001
+shrw       A=12345678 B=0000001a R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=0000001a R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000001b R=00000002 CCIN=0000 CC=0000
+shrw       A=12345678 B=0000001b R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=0000001b R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000001c R=00000001 CCIN=0000 CC=0000
+shrw       A=12345678 B=0000001c R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=0000001c R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000001d R=00000000 CCIN=0000 CC=0045
+shrw       A=12345678 B=0000001d R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=0000001d R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000001e R=00000000 CCIN=0000 CC=0044
+shrw       A=12345678 B=0000001e R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=0000001e R=12345600 CCIN=0000 CC=0044
+shrl       A=12345678 B=0000001f R=00000000 CCIN=0000 CC=0044
+shrw       A=12345678 B=0000001f R=12340000 CCIN=0000 CC=0044
+shrb       A=12345678 B=0000001f R=12345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+shrw       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+shrb       A=82345679 B=00000000 R=82345679 CCIN=0000 CC=0000
+shrl       A=82345679 B=00000001 R=411a2b3c CCIN=0000 CC=0805
+shrw       A=82345679 B=00000001 R=82342b3c CCIN=0000 CC=0005
+shrb       A=82345679 B=00000001 R=8234563c CCIN=0000 CC=0005
+shrl       A=82345679 B=00000002 R=208d159e CCIN=0000 CC=0000
+shrw       A=82345679 B=00000002 R=8234159e CCIN=0000 CC=0000
+shrb       A=82345679 B=00000002 R=8234561e CCIN=0000 CC=0004
+shrl       A=82345679 B=00000003 R=10468acf CCIN=0000 CC=0004
+shrw       A=82345679 B=00000003 R=82340acf CCIN=0000 CC=0004
+shrb       A=82345679 B=00000003 R=8234560f CCIN=0000 CC=0004
+shrl       A=82345679 B=00000004 R=08234567 CCIN=0000 CC=0001
+shrw       A=82345679 B=00000004 R=82340567 CCIN=0000 CC=0001
+shrb       A=82345679 B=00000004 R=82345607 CCIN=0000 CC=0001
+shrl       A=82345679 B=00000005 R=0411a2b3 CCIN=0000 CC=0001
+shrw       A=82345679 B=00000005 R=823402b3 CCIN=0000 CC=0001
+shrb       A=82345679 B=00000005 R=82345603 CCIN=0000 CC=0005
+shrl       A=82345679 B=00000006 R=0208d159 CCIN=0000 CC=0005
+shrw       A=82345679 B=00000006 R=82340159 CCIN=0000 CC=0005
+shrb       A=82345679 B=00000006 R=82345601 CCIN=0000 CC=0001
+shrl       A=82345679 B=00000007 R=010468ac CCIN=0000 CC=0005
+shrw       A=82345679 B=00000007 R=823400ac CCIN=0000 CC=0005
+shrb       A=82345679 B=00000007 R=82345600 CCIN=0000 CC=0045
+shrl       A=82345679 B=00000008 R=00823456 CCIN=0000 CC=0004
+shrw       A=82345679 B=00000008 R=82340056 CCIN=0000 CC=0004
+shrb       A=82345679 B=00000008 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000009 R=00411a2b CCIN=0000 CC=0004
+shrw       A=82345679 B=00000009 R=8234002b CCIN=0000 CC=0004
+shrb       A=82345679 B=00000009 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000000a R=00208d15 CCIN=0000 CC=0001
+shrw       A=82345679 B=0000000a R=82340015 CCIN=0000 CC=0001
+shrb       A=82345679 B=0000000a R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000000b R=0010468a CCIN=0000 CC=0001
+shrw       A=82345679 B=0000000b R=8234000a CCIN=0000 CC=0005
+shrb       A=82345679 B=0000000b R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000000c R=00082345 CCIN=0000 CC=0000
+shrw       A=82345679 B=0000000c R=82340005 CCIN=0000 CC=0004
+shrb       A=82345679 B=0000000c R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000000d R=000411a2 CCIN=0000 CC=0001
+shrw       A=82345679 B=0000000d R=82340002 CCIN=0000 CC=0001
+shrb       A=82345679 B=0000000d R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000000e R=000208d1 CCIN=0000 CC=0004
+shrw       A=82345679 B=0000000e R=82340001 CCIN=0000 CC=0000
+shrb       A=82345679 B=0000000e R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000000f R=00010468 CCIN=0000 CC=0001
+shrw       A=82345679 B=0000000f R=82340000 CCIN=0000 CC=0045
+shrb       A=82345679 B=0000000f R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000010 R=00008234 CCIN=0000 CC=0000
+shrw       A=82345679 B=00000010 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000010 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000011 R=0000411a CCIN=0000 CC=0000
+shrw       A=82345679 B=00000011 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000011 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000012 R=0000208d CCIN=0000 CC=0004
+shrw       A=82345679 B=00000012 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000012 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000013 R=00001046 CCIN=0000 CC=0001
+shrw       A=82345679 B=00000013 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000013 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000014 R=00000823 CCIN=0000 CC=0000
+shrw       A=82345679 B=00000014 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000014 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000015 R=00000411 CCIN=0000 CC=0005
+shrw       A=82345679 B=00000015 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000015 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000016 R=00000208 CCIN=0000 CC=0001
+shrw       A=82345679 B=00000016 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000016 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000017 R=00000104 CCIN=0000 CC=0000
+shrw       A=82345679 B=00000017 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000017 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000018 R=00000082 CCIN=0000 CC=0004
+shrw       A=82345679 B=00000018 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000018 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=00000019 R=00000041 CCIN=0000 CC=0004
+shrw       A=82345679 B=00000019 R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=00000019 R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000001a R=00000020 CCIN=0000 CC=0001
+shrw       A=82345679 B=0000001a R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=0000001a R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000001b R=00000010 CCIN=0000 CC=0000
+shrw       A=82345679 B=0000001b R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=0000001b R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000001c R=00000008 CCIN=0000 CC=0000
+shrw       A=82345679 B=0000001c R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=0000001c R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000001d R=00000004 CCIN=0000 CC=0000
+shrw       A=82345679 B=0000001d R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=0000001d R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000001e R=00000002 CCIN=0000 CC=0000
+shrw       A=82345679 B=0000001e R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=0000001e R=82345600 CCIN=0000 CC=0044
+shrl       A=82345679 B=0000001f R=00000001 CCIN=0000 CC=0000
+shrw       A=82345679 B=0000001f R=82340000 CCIN=0000 CC=0044
+shrb       A=82345679 B=0000001f R=82345600 CCIN=0000 CC=0044
diff --git a/test/arch/x86/qemu/expected/test_shrd.exp b/test/arch/x86/qemu/expected/test_shrd.exp
new file mode 100644
index 00000000..b63786ca
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_shrd.exp
@@ -0,0 +1,128 @@
+shrdl      A=12345678 B=21ad3d34 C=00000000 R=12345678 CCIN=0000 CC=0000
+shrdw      A=12345678 B=21ad3d34 C=00000000 R=12345678 CCIN=0000 CC=0000
+shrdl      A=12345678 B=21ad3d34 C=00000001 R=091a2b3c CCIN=0000 CC=0004
+shrdw      A=12345678 B=21ad3d34 C=00000001 R=12342b3c CCIN=0000 CC=0004
+shrdl      A=12345678 B=21ad3d34 C=00000002 R=048d159e CCIN=0000 CC=0000
+shrdw      A=12345678 B=21ad3d34 C=00000002 R=1234159e CCIN=0000 CC=0000
+shrdl      A=12345678 B=21ad3d34 C=00000003 R=82468acf CCIN=0000 CC=0084
+shrdw      A=12345678 B=21ad3d34 C=00000003 R=12348acf CCIN=0000 CC=0084
+shrdl      A=12345678 B=21ad3d34 C=00000004 R=41234567 CCIN=0000 CC=0001
+shrdw      A=12345678 B=21ad3d34 C=00000004 R=12344567 CCIN=0000 CC=0001
+shrdl      A=12345678 B=21ad3d34 C=00000005 R=a091a2b3 CCIN=0000 CC=0081
+shrdw      A=12345678 B=21ad3d34 C=00000005 R=1234a2b3 CCIN=0000 CC=0081
+shrdl      A=12345678 B=21ad3d34 C=00000006 R=d048d159 CCIN=0000 CC=0085
+shrdw      A=12345678 B=21ad3d34 C=00000006 R=1234d159 CCIN=0000 CC=0085
+shrdl      A=12345678 B=21ad3d34 C=00000007 R=682468ac CCIN=0000 CC=0005
+shrdw      A=12345678 B=21ad3d34 C=00000007 R=123468ac CCIN=0000 CC=0005
+shrdl      A=12345678 B=21ad3d34 C=00000008 R=34123456 CCIN=0000 CC=0004
+shrdw      A=12345678 B=21ad3d34 C=00000008 R=12343456 CCIN=0000 CC=0004
+shrdl      A=12345678 B=21ad3d34 C=00000009 R=9a091a2b CCIN=0000 CC=0084
+shrdw      A=12345678 B=21ad3d34 C=00000009 R=12349a2b CCIN=0000 CC=0084
+shrdl      A=12345678 B=21ad3d34 C=0000000a R=4d048d15 CCIN=0000 CC=0001
+shrdw      A=12345678 B=21ad3d34 C=0000000a R=12344d15 CCIN=0000 CC=0001
+shrdl      A=12345678 B=21ad3d34 C=0000000b R=a682468a CCIN=0000 CC=0081
+shrdw      A=12345678 B=21ad3d34 C=0000000b R=1234a68a CCIN=0000 CC=0081
+shrdl      A=12345678 B=21ad3d34 C=0000000c R=d3412345 CCIN=0000 CC=0080
+shrdw      A=12345678 B=21ad3d34 C=0000000c R=1234d345 CCIN=0000 CC=0080
+shrdl      A=12345678 B=21ad3d34 C=0000000d R=e9a091a2 CCIN=0000 CC=0081
+shrdw      A=12345678 B=21ad3d34 C=0000000d R=1234e9a2 CCIN=0000 CC=0081
+shrdl      A=12345678 B=21ad3d34 C=0000000e R=f4d048d1 CCIN=0000 CC=0084
+shrdw      A=12345678 B=21ad3d34 C=0000000e R=1234f4d1 CCIN=0000 CC=0084
+shrdl      A=12345678 B=21ad3d34 C=0000000f R=7a682468 CCIN=0000 CC=0001
+shrdw      A=12345678 B=21ad3d34 C=0000000f R=12347a68 CCIN=0000 CC=0001
+shrdl      A=12345678 B=21ad3d34 C=00000010 R=3d341234 CCIN=0000 CC=0000
+shrdw      A=12345678 B=21ad3d34 C=00000010 R=12343d34 CCIN=0000 CC=0000
+shrdl      A=12345678 B=21ad3d34 C=00000011 R=9e9a091a CCIN=0000 CC=0080
+shrdw      A=12345678 B=21ad3d34 C=00000011 R=12341e9a CCIN=0000 CC=0004
+shrdl      A=12345678 B=21ad3d34 C=00000012 R=4f4d048d CCIN=0000 CC=0004
+shrdw      A=12345678 B=21ad3d34 C=00000012 R=12340f4d CCIN=0000 CC=0004
+shrdl      A=12345678 B=21ad3d34 C=00000013 R=a7a68246 CCIN=0000 CC=0081
+shrdw      A=12345678 B=21ad3d34 C=00000013 R=123407a6 CCIN=0000 CC=0005
+shrdl      A=12345678 B=21ad3d34 C=00000014 R=d3d34123 CCIN=0000 CC=0080
+shrdw      A=12345678 B=21ad3d34 C=00000014 R=123483d3 CCIN=0000 CC=0080
+shrdl      A=12345678 B=21ad3d34 C=00000015 R=69e9a091 CCIN=0000 CC=0001
+shrdw      A=12345678 B=21ad3d34 C=00000015 R=1234c1e9 CCIN=0000 CC=0081
+shrdl      A=12345678 B=21ad3d34 C=00000016 R=b4f4d048 CCIN=0000 CC=0085
+shrdw      A=12345678 B=21ad3d34 C=00000016 R=1234e0f4 CCIN=0000 CC=0081
+shrdl      A=12345678 B=21ad3d34 C=00000017 R=5a7a6824 CCIN=0000 CC=0004
+shrdw      A=12345678 B=21ad3d34 C=00000017 R=1234f07a CCIN=0000 CC=0080
+shrdl      A=12345678 B=21ad3d34 C=00000018 R=ad3d3412 CCIN=0000 CC=0084
+shrdw      A=12345678 B=21ad3d34 C=00000018 R=1234783d CCIN=0000 CC=0000
+shrdl      A=12345678 B=21ad3d34 C=00000019 R=d69e9a09 CCIN=0000 CC=0084
+shrdw      A=12345678 B=21ad3d34 C=00000019 R=12343c1e CCIN=0000 CC=0005
+shrdl      A=12345678 B=21ad3d34 C=0000001a R=6b4f4d04 CCIN=0000 CC=0001
+shrdw      A=12345678 B=21ad3d34 C=0000001a R=12349e0f CCIN=0000 CC=0084
+shrdl      A=12345678 B=21ad3d34 C=0000001b R=35a7a682 CCIN=0000 CC=0004
+shrdw      A=12345678 B=21ad3d34 C=0000001b R=1234cf07 CCIN=0000 CC=0081
+shrdl      A=12345678 B=21ad3d34 C=0000001c R=1ad3d341 CCIN=0000 CC=0004
+shrdw      A=12345678 B=21ad3d34 C=0000001c R=12346783 CCIN=0000 CC=0001
+shrdl      A=12345678 B=21ad3d34 C=0000001d R=0d69e9a0 CCIN=0000 CC=0005
+shrdw      A=12345678 B=21ad3d34 C=0000001d R=1234b3c1 CCIN=0000 CC=0081
+shrdl      A=12345678 B=21ad3d34 C=0000001e R=86b4f4d0 CCIN=0000 CC=0080
+shrdw      A=12345678 B=21ad3d34 C=0000001e R=123459e0 CCIN=0000 CC=0001
+shrdl      A=12345678 B=21ad3d34 C=0000001f R=435a7a68 CCIN=0000 CC=0000
+shrdw      A=12345678 B=21ad3d34 C=0000001f R=1234acf0 CCIN=0000 CC=0084
+shrdl      A=82345679 B=813f3421 C=00000000 R=82345679 CCIN=0000 CC=0000
+shrdw      A=82345679 B=813f3421 C=00000000 R=82345679 CCIN=0000 CC=0000
+shrdl      A=82345679 B=813f3421 C=00000001 R=c11a2b3c CCIN=0000 CC=0085
+shrdw      A=82345679 B=813f3421 C=00000001 R=8234ab3c CCIN=0000 CC=0885
+shrdl      A=82345679 B=813f3421 C=00000002 R=608d159e CCIN=0000 CC=0000
+shrdw      A=82345679 B=813f3421 C=00000002 R=8234559e CCIN=0000 CC=0000
+shrdl      A=82345679 B=813f3421 C=00000003 R=30468acf CCIN=0000 CC=0004
+shrdw      A=82345679 B=813f3421 C=00000003 R=82342acf CCIN=0000 CC=0004
+shrdl      A=82345679 B=813f3421 C=00000004 R=18234567 CCIN=0000 CC=0001
+shrdw      A=82345679 B=813f3421 C=00000004 R=82341567 CCIN=0000 CC=0001
+shrdl      A=82345679 B=813f3421 C=00000005 R=0c11a2b3 CCIN=0000 CC=0001
+shrdw      A=82345679 B=813f3421 C=00000005 R=82340ab3 CCIN=0000 CC=0001
+shrdl      A=82345679 B=813f3421 C=00000006 R=8608d159 CCIN=0000 CC=0085
+shrdw      A=82345679 B=813f3421 C=00000006 R=82348559 CCIN=0000 CC=0085
+shrdl      A=82345679 B=813f3421 C=00000007 R=430468ac CCIN=0000 CC=0005
+shrdw      A=82345679 B=813f3421 C=00000007 R=823442ac CCIN=0000 CC=0005
+shrdl      A=82345679 B=813f3421 C=00000008 R=21823456 CCIN=0000 CC=0004
+shrdw      A=82345679 B=813f3421 C=00000008 R=82342156 CCIN=0000 CC=0004
+shrdl      A=82345679 B=813f3421 C=00000009 R=10c11a2b CCIN=0000 CC=0004
+shrdw      A=82345679 B=813f3421 C=00000009 R=823410ab CCIN=0000 CC=0000
+shrdl      A=82345679 B=813f3421 C=0000000a R=08608d15 CCIN=0000 CC=0001
+shrdw      A=82345679 B=813f3421 C=0000000a R=82340855 CCIN=0000 CC=0005
+shrdl      A=82345679 B=813f3421 C=0000000b R=8430468a CCIN=0000 CC=0081
+shrdw      A=82345679 B=813f3421 C=0000000b R=8234842a CCIN=0000 CC=0081
+shrdl      A=82345679 B=813f3421 C=0000000c R=42182345 CCIN=0000 CC=0000
+shrdw      A=82345679 B=813f3421 C=0000000c R=82344215 CCIN=0000 CC=0000
+shrdl      A=82345679 B=813f3421 C=0000000d R=a10c11a2 CCIN=0000 CC=0081
+shrdw      A=82345679 B=813f3421 C=0000000d R=8234a10a CCIN=0000 CC=0085
+shrdl      A=82345679 B=813f3421 C=0000000e R=d08608d1 CCIN=0000 CC=0084
+shrdw      A=82345679 B=813f3421 C=0000000e R=8234d085 CCIN=0000 CC=0080
+shrdl      A=82345679 B=813f3421 C=0000000f R=68430468 CCIN=0000 CC=0001
+shrdw      A=82345679 B=813f3421 C=0000000f R=82346842 CCIN=0000 CC=0005
+shrdl      A=82345679 B=813f3421 C=00000010 R=34218234 CCIN=0000 CC=0000
+shrdw      A=82345679 B=813f3421 C=00000010 R=82343421 CCIN=0000 CC=0004
+shrdl      A=82345679 B=813f3421 C=00000011 R=9a10c11a CCIN=0000 CC=0080
+shrdw      A=82345679 B=813f3421 C=00000011 R=82349a10 CCIN=0000 CC=0081
+shrdl      A=82345679 B=813f3421 C=00000012 R=cd08608d CCIN=0000 CC=0084
+shrdw      A=82345679 B=813f3421 C=00000012 R=82344d08 CCIN=0000 CC=0000
+shrdl      A=82345679 B=813f3421 C=00000013 R=e6843046 CCIN=0000 CC=0081
+shrdw      A=82345679 B=813f3421 C=00000013 R=82342684 CCIN=0000 CC=0004
+shrdl      A=82345679 B=813f3421 C=00000014 R=f3421823 CCIN=0000 CC=0080
+shrdw      A=82345679 B=813f3421 C=00000014 R=82349342 CCIN=0000 CC=0084
+shrdl      A=82345679 B=813f3421 C=00000015 R=f9a10c11 CCIN=0000 CC=0085
+shrdw      A=82345679 B=813f3421 C=00000015 R=8234c9a1 CCIN=0000 CC=0080
+shrdl      A=82345679 B=813f3421 C=00000016 R=fcd08608 CCIN=0000 CC=0081
+shrdw      A=82345679 B=813f3421 C=00000016 R=8234e4d0 CCIN=0000 CC=0081
+shrdl      A=82345679 B=813f3421 C=00000017 R=7e684304 CCIN=0000 CC=0000
+shrdw      A=82345679 B=813f3421 C=00000017 R=8234f268 CCIN=0000 CC=0080
+shrdl      A=82345679 B=813f3421 C=00000018 R=3f342182 CCIN=0000 CC=0004
+shrdw      A=82345679 B=813f3421 C=00000018 R=82347934 CCIN=0000 CC=0000
+shrdl      A=82345679 B=813f3421 C=00000019 R=9f9a10c1 CCIN=0000 CC=0080
+shrdw      A=82345679 B=813f3421 C=00000019 R=82343c9a CCIN=0000 CC=0004
+shrdl      A=82345679 B=813f3421 C=0000001a R=4fcd0860 CCIN=0000 CC=0005
+shrdw      A=82345679 B=813f3421 C=0000001a R=82349e4d CCIN=0000 CC=0084
+shrdl      A=82345679 B=813f3421 C=0000001b R=27e68430 CCIN=0000 CC=0004
+shrdw      A=82345679 B=813f3421 C=0000001b R=8234cf26 CCIN=0000 CC=0081
+shrdl      A=82345679 B=813f3421 C=0000001c R=13f34218 CCIN=0000 CC=0004
+shrdw      A=82345679 B=813f3421 C=0000001c R=82346793 CCIN=0000 CC=0004
+shrdl      A=82345679 B=813f3421 C=0000001d R=09f9a10c CCIN=0000 CC=0004
+shrdw      A=82345679 B=813f3421 C=0000001d R=8234b3c9 CCIN=0000 CC=0085
+shrdl      A=82345679 B=813f3421 C=0000001e R=04fcd086 CCIN=0000 CC=0000
+shrdw      A=82345679 B=813f3421 C=0000001e R=823459e4 CCIN=0000 CC=0005
+shrdl      A=82345679 B=813f3421 C=0000001f R=027e6843 CCIN=0000 CC=0000
+shrdw      A=82345679 B=813f3421 C=0000001f R=8234acf2 CCIN=0000 CC=0080
diff --git a/test/arch/x86/qemu/expected/test_single_step.exp b/test/arch/x86/qemu/expected/test_single_step.exp
new file mode 100644
index 00000000..93b76b68
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_single_step.exp
@@ -0,0 +1,48 @@
+EIP=08051baf
+EIP=08051bb4
+EIP=08051bb9
+EIP=08051bba
+EIP=08051bb4
+EIP=08051bb9
+EIP=08051bba
+EIP=08051bb4
+EIP=08051bb9
+EIP=08051bba
+EIP=08051bbc
+EIP=08051bc1
+EIP=08051bc6
+EIP=08051bcb
+EIP=08051bcd
+EIP=08051bd2
+EIP=08051bd2
+EIP=08051bd2
+EIP=08051bd4
+EIP=08051bd9
+EIP=08051bdb
+EIP=08051be0
+EIP=08051be5
+EIP=08051bea
+EIP=08051bec
+EIP=08051bf1
+EIP=08051bf1
+EIP=08051bf1
+EIP=08051bf1
+EIP=08051bf3
+EIP=08051bf8
+EIP=08051bff
+EIP=08051c01
+EIP=08051c08
+EIP=08051c0d
+EIP=08051c16
+EIP=08051c1b
+EIP=08051c1c
+EIP=08051c22
+EIP=08051c27
+EIP=08051c28
+EIP=08051c2f
+EIP=08051c30
+val=43986
+sstep_buf2[0] = 1
+sstep_buf2[1] = 2
+sstep_buf2[2] = 3
+sstep_buf2[3] = 4
diff --git a/test/arch/x86/qemu/expected/test_string.exp b/test/arch/x86/qemu/expected/test_string.exp
new file mode 100644
index 00000000..f3ffbb17
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_string.exp
@@ -0,0 +1,78 @@
+stosb      ESI=0805b980 EDI=0805b991 EAX=12345678 ECX=00000011 EFL=0000
+stosw      ESI=0805b980 EDI=0805b992 EAX=12345678 ECX=00000011 EFL=0000
+stosl      ESI=0805b980 EDI=0805b994 EAX=12345678 ECX=00000011 EFL=0000
+stosb      ESI=0805b980 EDI=0805b98f EAX=12345678 ECX=00000011 EFL=0000
+stosw      ESI=0805b980 EDI=0805b98e EAX=12345678 ECX=00000011 EFL=0000
+stosl      ESI=0805b980 EDI=0805b98c EAX=12345678 ECX=00000011 EFL=0000
+rep stosb  ESI=0805b980 EDI=0805b9a1 EAX=12345678 ECX=00000000 EFL=0000
+rep stosw  ESI=0805b980 EDI=0805b9b2 EAX=12345678 ECX=00000000 EFL=0000
+rep stosl  ESI=0805b980 EDI=0805b9d4 EAX=12345678 ECX=00000000 EFL=0000
+rep stosb  ESI=0805b980 EDI=0805b97f EAX=12345678 ECX=00000000 EFL=0000
+rep stosw  ESI=0805b980 EDI=0805b96e EAX=12345678 ECX=00000000 EFL=0000
+rep stosl  ESI=0805b980 EDI=0805b94c EAX=12345678 ECX=00000000 EFL=0000
+lodsb      ESI=0805b981 EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsw      ESI=0805b982 EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsl      ESI=0805b984 EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsb      ESI=0805b97f EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsw      ESI=0805b97e EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsl      ESI=0805b97c EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+rep lodsb  ESI=0805b991 EDI=0805b990 EAX=12345678 ECX=00000000 EFL=0000
+rep lodsw  ESI=0805b9a2 EDI=0805b990 EAX=12345678 ECX=00000000 EFL=0000
+rep lodsl  ESI=0805b9c4 EDI=0805b990 EAX=12345678 ECX=00000000 EFL=0000
+rep lodsb  ESI=0805b96f EDI=0805b990 EAX=12345678 ECX=00000000 EFL=0000
+rep lodsw  ESI=0805b95e EDI=0805b990 EAX=12345678 ECX=00000000 EFL=0000
+rep lodsl  ESI=0805b93c EDI=0805b990 EAX=19181716 ECX=00000000 EFL=0000
+movsb      ESI=0805b981 EDI=0805b991 EAX=12345678 ECX=00000011 EFL=0000
+movsw      ESI=0805b982 EDI=0805b992 EAX=12345678 ECX=00000011 EFL=0000
+movsl      ESI=0805b984 EDI=0805b994 EAX=12345678 ECX=00000011 EFL=0000
+movsb      ESI=0805b97f EDI=0805b98f EAX=12345678 ECX=00000011 EFL=0000
+movsw      ESI=0805b97e EDI=0805b98e EAX=12345678 ECX=00000011 EFL=0000
+movsl      ESI=0805b97c EDI=0805b98c EAX=12345678 ECX=00000011 EFL=0000
+rep movsb  ESI=0805b991 EDI=0805b9a1 EAX=12345678 ECX=00000000 EFL=0000
+rep movsw  ESI=0805b9a2 EDI=0805b9b2 EAX=12345678 ECX=00000000 EFL=0000
+rep movsl  ESI=0805b9c4 EDI=0805b9d4 EAX=12345678 ECX=00000000 EFL=0000
+rep movsb  ESI=0805b96f EDI=0805b97f EAX=12345678 ECX=00000000 EFL=0000
+rep movsw  ESI=0805b95e EDI=0805b96e EAX=12345678 ECX=00000000 EFL=0000
+rep movsl  ESI=0805b93c EDI=0805b94c EAX=12345678 ECX=00000000 EFL=0000
+lodsb      ESI=0805b981 EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsw      ESI=0805b982 EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsl      ESI=0805b984 EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsb      ESI=0805b97f EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsw      ESI=0805b97e EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+lodsl      ESI=0805b97c EDI=0805b990 EAX=12345678 ECX=00000011 EFL=0000
+scasb      ESI=0805b980 EDI=0805b991 EAX=12345678 ECX=00000011 EFL=0044
+scasw      ESI=0805b980 EDI=0805b992 EAX=12345678 ECX=00000011 EFL=0044
+scasl      ESI=0805b980 EDI=0805b994 EAX=12345678 ECX=00000011 EFL=0044
+scasb      ESI=0805b980 EDI=0805b98f EAX=12345678 ECX=00000011 EFL=0044
+scasw      ESI=0805b980 EDI=0805b98e EAX=12345678 ECX=00000011 EFL=0044
+scasl      ESI=0805b980 EDI=0805b98c EAX=12345678 ECX=00000011 EFL=0044
+repz scasb ESI=0805b980 EDI=0805b992 EAX=12345678 ECX=0000000f EFL=0004
+repz scasw ESI=0805b980 EDI=0805b994 EAX=12345678 ECX=0000000f EFL=0004
+repz scasl ESI=0805b980 EDI=0805b9d4 EAX=12345678 ECX=00000000 EFL=0044
+repz scasb ESI=0805b980 EDI=0805b98e EAX=12345678 ECX=0000000f EFL=0004
+repz scasw ESI=0805b980 EDI=0805b98c EAX=12345678 ECX=0000000f EFL=0004
+repz scasl ESI=0805b980 EDI=0805b958 EAX=12345678 ECX=00000003 EFL=0085
+repnz scasb ESI=0805b980 EDI=0805b991 EAX=12345678 ECX=00000010 EFL=0044
+repnz scasw ESI=0805b980 EDI=0805b992 EAX=12345678 ECX=00000010 EFL=0044
+repnz scasl ESI=0805b980 EDI=0805b994 EAX=12345678 ECX=00000010 EFL=0044
+repnz scasb ESI=0805b980 EDI=0805b98f EAX=12345678 ECX=00000010 EFL=0044
+repnz scasw ESI=0805b980 EDI=0805b98e EAX=12345678 ECX=00000010 EFL=0044
+repnz scasl ESI=0805b980 EDI=0805b98c EAX=12345678 ECX=00000010 EFL=0044
+cmpsb      ESI=0805b981 EDI=0805b991 EAX=12345678 ECX=00000011 EFL=0044
+cmpsw      ESI=0805b982 EDI=0805b992 EAX=12345678 ECX=00000011 EFL=0044
+cmpsl      ESI=0805b984 EDI=0805b994 EAX=12345678 ECX=00000011 EFL=0044
+cmpsb      ESI=0805b97f EDI=0805b98f EAX=12345678 ECX=00000011 EFL=0044
+cmpsw      ESI=0805b97e EDI=0805b98e EAX=12345678 ECX=00000011 EFL=0044
+cmpsl      ESI=0805b97c EDI=0805b98c EAX=12345678 ECX=00000011 EFL=0044
+repz cmpsb ESI=0805b991 EDI=0805b9a1 EAX=12345678 ECX=00000000 EFL=0044
+repz cmpsw ESI=0805b9a2 EDI=0805b9b2 EAX=12345678 ECX=00000000 EFL=0044
+repz cmpsl ESI=0805b9c4 EDI=0805b9d4 EAX=12345678 ECX=00000000 EFL=0044
+repz cmpsb ESI=0805b96f EDI=0805b97f EAX=12345678 ECX=00000000 EFL=0044
+repz cmpsw ESI=0805b95e EDI=0805b96e EAX=12345678 ECX=00000000 EFL=0044
+repz cmpsl ESI=0805b958 EDI=0805b968 EAX=12345678 ECX=00000007 EFL=0014
+repnz cmpsb ESI=0805b981 EDI=0805b991 EAX=12345678 ECX=00000010 EFL=0044
+repnz cmpsw ESI=0805b982 EDI=0805b992 EAX=12345678 ECX=00000010 EFL=0044
+repnz cmpsl ESI=0805b984 EDI=0805b994 EAX=12345678 ECX=00000010 EFL=0044
+repnz cmpsb ESI=0805b97f EDI=0805b98f EAX=12345678 ECX=00000010 EFL=0044
+repnz cmpsw ESI=0805b97e EDI=0805b98e EAX=12345678 ECX=00000010 EFL=0044
+repnz cmpsl ESI=0805b97c EDI=0805b98c EAX=12345678 ECX=00000010 EFL=0044
diff --git a/test/arch/x86/qemu/expected/test_sub.exp b/test/arch/x86/qemu/expected/test_sub.exp
new file mode 100644
index 00000000..47fb4956
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_sub.exp
@@ -0,0 +1,75 @@
+subl       A=12345678 B=0812fada R=0a215b9e CCIN=0000 CC=0010
+subw       A=12345678 B=0812fada R=12345b9e CCIN=0000 CC=0011
+subb       A=12345678 B=0812fada R=1234569e CCIN=0000 CC=0891
+subl       A=00012341 B=00012341 R=00000000 CCIN=0000 CC=0044
+subw       A=00012341 B=00012341 R=00010000 CCIN=0000 CC=0044
+subb       A=00012341 B=00012341 R=00012300 CCIN=0000 CC=0044
+subl       A=00012341 B=fffedcbf R=00024682 CCIN=0000 CC=0015
+subw       A=00012341 B=fffedcbf R=00014682 CCIN=0000 CC=0015
+subb       A=00012341 B=fffedcbf R=00012382 CCIN=0000 CC=0895
+subl       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+subw       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+subb       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+subl       A=ffffffff B=ffffffff R=00000000 CCIN=0000 CC=0044
+subw       A=ffffffff B=ffffffff R=ffff0000 CCIN=0000 CC=0044
+subb       A=ffffffff B=ffffffff R=ffffff00 CCIN=0000 CC=0044
+subl       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+subw       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+subb       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+subl       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+subw       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+subb       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+subl       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0004
+subw       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+subb       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+subl       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0000
+subw       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0080
+subb       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0080
+subl       A=7fffffff B=ffffffff R=80000000 CCIN=0000 CC=0885
+subw       A=7fffffff B=ffffffff R=7fff0000 CCIN=0000 CC=0044
+subb       A=7fffffff B=ffffffff R=7fffff00 CCIN=0000 CC=0044
+subl       A=80000000 B=ffffffff R=80000001 CCIN=0000 CC=0091
+subw       A=80000000 B=ffffffff R=80000001 CCIN=0000 CC=0011
+subb       A=80000000 B=ffffffff R=80000001 CCIN=0000 CC=0011
+subl       A=80000000 B=00000001 R=7fffffff CCIN=0000 CC=0814
+subw       A=80000000 B=00000001 R=8000ffff CCIN=0000 CC=0095
+subb       A=80000000 B=00000001 R=800000ff CCIN=0000 CC=0095
+subl       A=80000000 B=fffffffe R=80000002 CCIN=0000 CC=0091
+subw       A=80000000 B=fffffffe R=80000002 CCIN=0000 CC=0011
+subb       A=80000000 B=fffffffe R=80000002 CCIN=0000 CC=0011
+subl       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+subw       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+subb       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0084
+subl       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0000
+subw       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0000
+subb       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0080
+subl       A=12347fff B=ffffffff R=12348000 CCIN=0000 CC=0005
+subw       A=12347fff B=ffffffff R=12348000 CCIN=0000 CC=0885
+subb       A=12347fff B=ffffffff R=12347f00 CCIN=0000 CC=0044
+subl       A=12348000 B=ffffffff R=12348001 CCIN=0000 CC=0011
+subw       A=12348000 B=ffffffff R=12348001 CCIN=0000 CC=0091
+subb       A=12348000 B=ffffffff R=12348001 CCIN=0000 CC=0011
+subl       A=12348000 B=00000001 R=12347fff CCIN=0000 CC=0014
+subw       A=12348000 B=00000001 R=12347fff CCIN=0000 CC=0814
+subb       A=12348000 B=00000001 R=123480ff CCIN=0000 CC=0095
+subl       A=12348000 B=fffffffe R=12348002 CCIN=0000 CC=0011
+subw       A=12348000 B=fffffffe R=12348002 CCIN=0000 CC=0091
+subb       A=12348000 B=fffffffe R=12348002 CCIN=0000 CC=0011
+subl       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+subw       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+subb       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+subl       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+subw       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+subb       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+subl       A=12347f7f B=ffffffff R=12347f80 CCIN=0000 CC=0001
+subw       A=12347f7f B=ffffffff R=12347f80 CCIN=0000 CC=0001
+subb       A=12347f7f B=ffffffff R=12347f80 CCIN=0000 CC=0881
+subl       A=12348080 B=ffffffff R=12348081 CCIN=0000 CC=0015
+subw       A=12348080 B=ffffffff R=12348081 CCIN=0000 CC=0095
+subb       A=12348080 B=ffffffff R=12348081 CCIN=0000 CC=0095
+subl       A=12348080 B=00000001 R=1234807f CCIN=0000 CC=0010
+subw       A=12348080 B=00000001 R=1234807f CCIN=0000 CC=0090
+subb       A=12348080 B=00000001 R=1234807f CCIN=0000 CC=0810
+subl       A=12348080 B=fffffffe R=12348082 CCIN=0000 CC=0015
+subw       A=12348080 B=fffffffe R=12348082 CCIN=0000 CC=0095
+subb       A=12348080 B=fffffffe R=12348082 CCIN=0000 CC=0095
diff --git a/test/arch/x86/qemu/expected/test_xchg.exp b/test/arch/x86/qemu/expected/test_xchg.exp
new file mode 100644
index 00000000..5444a081
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_xchg.exp
@@ -0,0 +1,27 @@
+xchgl      A=fbca7654 B=12345678
+xchgw      A=12347654 B=fbca5678
+xchgb      A=12345654 B=fbca7678
+xchgl      A=fbca7654 B=12345678
+xchgw      A=12347654 B=fbca5678
+xchgb      A=12345654 B=fbca7678
+xaddl      A=fbca7654 B=0dfecccc
+xaddw      A=12347654 B=fbcacccc
+xaddb      A=12345654 B=fbca76cc
+xaddl same res=2468acf0
+xaddl      A=fbca7654 B=0dfecccc
+xaddw      A=12347654 B=fbcacccc
+xaddb      A=12345654 B=fbca76cc
+cmpxchgl   EAX=fbca7654 A=12345678 C=12345678
+cmpxchgw   EAX=fbca7654 A=12345678 C=fbca5678
+cmpxchgb   EAX=fbca7654 A=12345678 C=fbca7678
+cmpxchgl   EAX=fffefdfc A=12345678 C=fbca7654
+cmpxchgw   EAX=fffefdfc A=12345678 C=fbca7654
+cmpxchgb   EAX=fffefdfc A=12345678 C=fbca7654
+cmpxchgl   EAX=fbca7654 A=12345678 C=12345678
+cmpxchgw   EAX=fbca7654 A=12345678 C=fbca5678
+cmpxchgb   EAX=fbca7654 A=12345678 C=fbca7678
+cmpxchgl   EAX=fffefdfc A=12345678 C=fbca7654
+cmpxchgw   EAX=fffefdfc A=12345678 C=fbca7654
+cmpxchgb   EAX=fffefdfc A=12345678 C=fbca7654
+cmpxchg8b: eax=65423456 edx=000fbca7 op1=000fbca765423456 CC=00
+cmpxchg8b: eax=6789abcd edx=00012345 op1=0006532432432434 CC=40
diff --git a/test/arch/x86/qemu/expected/test_xor.exp b/test/arch/x86/qemu/expected/test_xor.exp
new file mode 100644
index 00000000..c4ada523
--- /dev/null
+++ b/test/arch/x86/qemu/expected/test_xor.exp
@@ -0,0 +1,75 @@
+xorl       A=12345678 B=0812fada R=1a26aca2 CCIN=0000 CC=0000
+xorw       A=12345678 B=0812fada R=1234aca2 CCIN=0000 CC=0080
+xorb       A=12345678 B=0812fada R=123456a2 CCIN=0000 CC=0080
+xorl       A=00012341 B=00012341 R=00000000 CCIN=0000 CC=0044
+xorw       A=00012341 B=00012341 R=00010000 CCIN=0000 CC=0044
+xorb       A=00012341 B=00012341 R=00012300 CCIN=0000 CC=0044
+xorl       A=00012341 B=fffedcbf R=fffffffe CCIN=0000 CC=0080
+xorw       A=00012341 B=fffedcbf R=0001fffe CCIN=0000 CC=0080
+xorb       A=00012341 B=fffedcbf R=000123fe CCIN=0000 CC=0080
+xorl       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+xorw       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+xorb       A=ffffffff B=00000000 R=ffffffff CCIN=0000 CC=0084
+xorl       A=ffffffff B=ffffffff R=00000000 CCIN=0000 CC=0044
+xorw       A=ffffffff B=ffffffff R=ffff0000 CCIN=0000 CC=0044
+xorb       A=ffffffff B=ffffffff R=ffffff00 CCIN=0000 CC=0044
+xorl       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+xorw       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+xorb       A=ffffffff B=00000001 R=fffffffe CCIN=0000 CC=0080
+xorl       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+xorw       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+xorb       A=ffffffff B=00000002 R=fffffffd CCIN=0000 CC=0080
+xorl       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0004
+xorw       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+xorb       A=7fffffff B=00000000 R=7fffffff CCIN=0000 CC=0084
+xorl       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0000
+xorw       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0080
+xorb       A=7fffffff B=00000001 R=7ffffffe CCIN=0000 CC=0080
+xorl       A=7fffffff B=ffffffff R=80000000 CCIN=0000 CC=0084
+xorw       A=7fffffff B=ffffffff R=7fff0000 CCIN=0000 CC=0044
+xorb       A=7fffffff B=ffffffff R=7fffff00 CCIN=0000 CC=0044
+xorl       A=80000000 B=ffffffff R=7fffffff CCIN=0000 CC=0004
+xorw       A=80000000 B=ffffffff R=8000ffff CCIN=0000 CC=0084
+xorb       A=80000000 B=ffffffff R=800000ff CCIN=0000 CC=0084
+xorl       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0080
+xorw       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0000
+xorb       A=80000000 B=00000001 R=80000001 CCIN=0000 CC=0000
+xorl       A=80000000 B=fffffffe R=7ffffffe CCIN=0000 CC=0000
+xorw       A=80000000 B=fffffffe R=8000fffe CCIN=0000 CC=0080
+xorb       A=80000000 B=fffffffe R=800000fe CCIN=0000 CC=0080
+xorl       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+xorw       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0004
+xorb       A=12347fff B=00000000 R=12347fff CCIN=0000 CC=0084
+xorl       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0000
+xorw       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0000
+xorb       A=12347fff B=00000001 R=12347ffe CCIN=0000 CC=0080
+xorl       A=12347fff B=ffffffff R=edcb8000 CCIN=0000 CC=0084
+xorw       A=12347fff B=ffffffff R=12348000 CCIN=0000 CC=0084
+xorb       A=12347fff B=ffffffff R=12347f00 CCIN=0000 CC=0044
+xorl       A=12348000 B=ffffffff R=edcb7fff CCIN=0000 CC=0084
+xorw       A=12348000 B=ffffffff R=12347fff CCIN=0000 CC=0004
+xorb       A=12348000 B=ffffffff R=123480ff CCIN=0000 CC=0084
+xorl       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0000
+xorw       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0080
+xorb       A=12348000 B=00000001 R=12348001 CCIN=0000 CC=0000
+xorl       A=12348000 B=fffffffe R=edcb7ffe CCIN=0000 CC=0080
+xorw       A=12348000 B=fffffffe R=12347ffe CCIN=0000 CC=0000
+xorb       A=12348000 B=fffffffe R=123480fe CCIN=0000 CC=0080
+xorl       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+xorw       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+xorb       A=12347f7f B=00000000 R=12347f7f CCIN=0000 CC=0000
+xorl       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+xorw       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+xorb       A=12347f7f B=00000001 R=12347f7e CCIN=0000 CC=0004
+xorl       A=12347f7f B=ffffffff R=edcb8080 CCIN=0000 CC=0080
+xorw       A=12347f7f B=ffffffff R=12348080 CCIN=0000 CC=0080
+xorb       A=12347f7f B=ffffffff R=12347f80 CCIN=0000 CC=0080
+xorl       A=12348080 B=ffffffff R=edcb7f7f CCIN=0000 CC=0080
+xorw       A=12348080 B=ffffffff R=12347f7f CCIN=0000 CC=0000
+xorb       A=12348080 B=ffffffff R=1234807f CCIN=0000 CC=0000
+xorl       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0004
+xorw       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0084
+xorb       A=12348080 B=00000001 R=12348081 CCIN=0000 CC=0084
+xorl       A=12348080 B=fffffffe R=edcb7f7e CCIN=0000 CC=0084
+xorw       A=12348080 B=fffffffe R=12347f7e CCIN=0000 CC=0004
+xorb       A=12348080 B=fffffffe R=1234807e CCIN=0000 CC=0004
diff --git a/test/arch/x86/qemu/test-i386 b/test/arch/x86/qemu/test-i386
new file mode 100755
index 00000000..f1b6125d
--- /dev/null
+++ b/test/arch/x86/qemu/test-i386
Binary files differdiff --git a/test/arch/x86/qemu/testqemu.py b/test/arch/x86/qemu/testqemu.py
new file mode 100644
index 00000000..7cf2ab75
--- /dev/null
+++ b/test/arch/x86/qemu/testqemu.py
@@ -0,0 +1,126 @@
+import os
+import sys
+import struct
+import logging
+from pdb import pm
+
+from miasm2.analysis.sandbox import Sandbox_Linux_x86_32
+from miasm2.jitter.jitload import log_func
+from miasm2.os_dep.win_api_x86_32 import get_str_ansi, upck32
+
+# Utils
+def parse_fmt(s):
+    fmt = s[:]+"\x00"
+    out = []
+    i = 0
+    while i < len(fmt):
+        c = fmt[i]
+        if c != "%":
+            i+=1
+            continue
+        if fmt[i+1] == "%":
+            i+=2
+            continue
+        j = 0
+        i+=1
+        while fmt[i+j] in "0123456789$.-":
+            j+=1
+        if fmt[i+j] in ['l']:
+            j +=1
+        if fmt[i+j] == "h":
+            x = fmt[i+j:i+j+2]
+        else:
+            x = fmt[i+j]
+        i+=j
+        out.append(x)
+    return out
+
+nb_tests = 1
+def xxx___printf_chk(jitter):
+    """Tiny implementation of printf_chk"""
+    global nb_tests
+    ret_ad, args = jitter.func_args_cdecl(["out", "format"])
+    if args.out != 1:
+        raise RuntimeError("Not implemented")
+    fmt = get_str_ansi(jitter, args.format)
+    # Manage llx
+    fmt = fmt.replace("llx", "lx")
+
+    fmt_a = parse_fmt(fmt)
+    esp = jitter.cpu.ESP
+    args = []
+    i = 0
+
+    for x in fmt_a:
+        a = upck32(jitter.vm.get_mem(esp + 8 + 4*i, 4))
+        if x == "s":
+            a = get_str_ansi(jitter, a)
+        elif x.lower() in ("x", 'd'):
+            pass
+        elif x.lower() in ("f", "l"):
+            a2 = upck32(jitter.vm.get_mem(esp + 8 + 4*(i+1), 4))
+            a = struct.unpack("d", struct.pack("Q", a2 << 32 | a))[0]
+            i += 1
+        else:
+            raise RuntimeError("Not implemented format")
+        args.append(a)
+        i += 1
+
+    output = fmt%(tuple(args))
+    # NaN bad repr in Python
+    output = output.replace("nan", "-nan")
+
+    if "\n" not in output:
+        raise RuntimeError("Format must end with a \\n")
+
+    # Check with expected result
+    line = expected.next()
+    if output != line:
+        print "Expected:", line
+        print "Obtained:", output
+        raise RuntimeError("Bad semantic")
+
+    sys.stdout.write("[%d] %s" % (nb_tests, output))
+    nb_tests += 1
+    jitter.func_ret_cdecl(ret_ad, 0)
+
+def xxx_puts(jitter):
+    '''
+    #include <stdio.h>
+    int puts(const char *s);
+
+    writes the string s and a trailing newline to stdout.
+    '''
+    ret_addr, args = jitter.func_args_cdecl(['target'])
+    output = jitter.get_str_ansi(args.target)
+    # Check with expected result
+    line = expected.next()
+    if output != line.rstrip():
+        print "Expected:", line
+        print "Obtained:", output
+        raise RuntimeError("Bad semantic")
+    return jitter.func_ret_cdecl(ret_addr, 1)
+
+# Parse arguments
+parser = Sandbox_Linux_x86_32.parser(description="ELF sandboxer")
+parser.add_argument("filename", help="ELF Filename")
+parser.add_argument("funcname", help="Targeted function's name")
+parser.add_argument("expected", help="Expected output")
+options = parser.parse_args()
+
+# Expected output
+expected = open(options.expected)
+
+# Create sandbox
+sb = Sandbox_Linux_x86_32(options.filename, options, globals())
+try:
+    addr = sb.elf.getsectionbyname(".symtab").symbols[options.funcname].value
+except AttributeError:
+    raise RuntimeError("The target binary must have a symtab section")
+
+log_func.setLevel(logging.ERROR)
+
+# Run
+sb.run(addr)
+
+assert(sb.jitter.run is False)
diff --git a/test/test_all.py b/test/test_all.py
index 28da3d5a..6288466a 100644
--- a/test/test_all.py
+++ b/test/test_all.py
@@ -51,6 +51,72 @@ for script in ["x86/sem.py",
                ]:
     testset += RegressionTest([script], base_dir="arch")
 
+### QEMU regression tests
+class QEMUTest(RegressionTest):
+    """Test against QEMU regression tests
+    An expected output is provided, computed on a x86 host"""
+
+    SCRIPT_NAME = "testqemu.py"
+    SAMPLE_NAME = "test-i386"
+    EXPECTED_PATH = "expected"
+
+    def __init__(self, name, jitter, *args, **kwargs):
+        super(QEMUTest, self).__init__([self.SCRIPT_NAME], *args, **kwargs)
+        self.base_dir = os.path.join(self.base_dir, "arch", "x86", "qemu")
+        test_name = "test_%s" % name
+        expected_output = os.path.join(self.EXPECTED_PATH, test_name) + ".exp"
+        self.command_line += [self.SAMPLE_NAME,
+                              test_name,
+                              expected_output,
+                              "--jitter",
+                              jitter,
+        ]
+
+# Test name -> supported jitter engines
+QEMU_TESTS = {
+    # Operations
+    "btr": ("tcc", "python"),
+    "bts": ("tcc", "python"),
+    "bt": ("tcc", "python"),
+    "shrd": ("tcc", "python"),
+    "shld": ("tcc", "python"),
+    "rcl": ("tcc", "python"),
+    "rcr": ("tcc", "python"),
+    "ror": ("tcc", "python"),
+    "rol": ("tcc", "python"),
+    "sar": ("tcc", "python"),
+    "shr": ("tcc", "python"),
+    "shl": ("tcc", "python"),
+    "not": ("tcc", "python"),
+    "neg": ("tcc", "python"),
+    "dec": ("tcc", "python"),
+    "inc": ("tcc", "python"),
+    "sbb": ("tcc", "python"),
+    "adc": ("tcc", "python"),
+    "cmp": ("tcc", "python"),
+    "or": ("tcc", "python"),
+    "and": ("tcc", "python"),
+    "xor": ("tcc", "python"),
+    "sub": ("tcc", "python"),
+    "add": ("tcc", "python"),
+    # Specifics
+    "bsx": ("tcc", "python"),
+    "mul": ("tcc", "python"),
+    "jcc": ("tcc", "python"),
+    "loop": ("tcc", "python"),
+    "lea": ("tcc", "python"),
+    "self_modifying_code": ("tcc", "python"),
+    "conv": ("tcc", "python"),
+    # Unsupported
+    # "floats", "bcd", "xchg", "string", "misc", "segs", "code16", "exceptions",
+    # "single_step"
+}
+
+
+for test_name, jitters in QEMU_TESTS.iteritems():
+    for jitter_engine in jitters:
+        testset += QEMUTest(test_name, jitter_engine)
+
 
 ## Semantic
 class SemanticTestAsm(RegressionTest):