summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_i386/host_missing/accel_TCG/1373
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_text/target_i386/host_missing/accel_TCG/1373')
-rw-r--r--gitlab/issues_text/target_i386/host_missing/accel_TCG/137320
1 files changed, 20 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_i386/host_missing/accel_TCG/1373 b/gitlab/issues_text/target_i386/host_missing/accel_TCG/1373
new file mode 100644
index 000000000..c25a3a9e9
--- /dev/null
+++ b/gitlab/issues_text/target_i386/host_missing/accel_TCG/1373
@@ -0,0 +1,20 @@
+x86 ADOX and ADCX semantic bug
+Description of problem:
+The result of instruction ADOX and ADCX are different from the CPU. The value of one of EFLAGS is different.
+Steps to reproduce:
+1. Compile this code
+```
+void main() {
+    asm("push 512; popfq;");
+    asm("mov rax, 0xffffffff84fdbf24");
+    asm("mov rbx, 0xb197d26043bec15d");
+    asm("adox eax, ebx");
+}
+```
+2. Execute and compare the result with the CPU. This problem happens with ADCX, too (with CF).
+    - CPU
+        - OF = 0
+    - QEMU
+        - OF = 1
+Additional information:
+This bug is discovered by research conducted by KAIST SoftSec.