summaryrefslogtreecommitdiffstats
path: root/results/classifier/zero-shot/118/device/2317
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-03 19:39:53 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-07-03 19:39:53 +0200
commitdee4dcba78baf712cab403d47d9db319ab7f95d6 (patch)
tree418478faf06786701a56268672f73d6b0b4eb239 /results/classifier/zero-shot/118/device/2317
parent4d9e26c0333abd39bdbd039dcdb30ed429c475ba (diff)
downloademulator-bug-study-dee4dcba78baf712cab403d47d9db319ab7f95d6.tar.gz
emulator-bug-study-dee4dcba78baf712cab403d47d9db319ab7f95d6.zip
restructure results
Diffstat (limited to 'results/classifier/zero-shot/118/device/2317')
-rw-r--r--results/classifier/zero-shot/118/device/231768
1 files changed, 68 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/118/device/2317 b/results/classifier/zero-shot/118/device/2317
new file mode 100644
index 00000000..c6427ac2
--- /dev/null
+++ b/results/classifier/zero-shot/118/device/2317
@@ -0,0 +1,68 @@
+device: 0.841
+ppc: 0.814
+register: 0.813
+socket: 0.672
+permissions: 0.667
+graphic: 0.665
+vnc: 0.650
+hypervisor: 0.644
+kernel: 0.641
+performance: 0.638
+architecture: 0.630
+network: 0.620
+semantic: 0.613
+assembly: 0.550
+boot: 0.545
+risc-v: 0.518
+peripherals: 0.494
+mistranslation: 0.480
+PID: 0.474
+files: 0.448
+arm: 0.443
+debug: 0.369
+user-level: 0.317
+VMM: 0.300
+x86: 0.274
+i386: 0.240
+TCG: 0.232
+KVM: 0.048
+virtual: 0.026
+
+SH4: ADDV instruction not emulated properly
+Description of problem:
+ADDV opcode is emulated incorrectly.
+
+The documentation says:
+
+`ADDV Rm, Rn Rn + Rm -> Rn, overflow -> T`
+
+What Qemu actually emulates:
+
+`ADDV Rm, Rn Rn + Rm -> Rm, overflow -> T`
+Steps to reproduce:
+```c
+#include <stdio.h>
+
+int main(void)
+{
+ register unsigned int a asm("r8") = 0x7fffffff;
+ register unsigned int b asm("r9") = 1;
+ register unsigned int c asm("r10");
+
+ asm volatile("clrt\n"
+ "addv %2,%0\n"
+ "movt %1\n"
+ : "+r"(a), "=r"(c) : "r"(b) :);
+
+ printf("Values: a=0x%x b=0x%x c=0x%x\n", a, b, c);
+
+ return 0;
+}
+
+```
+Additional information:
+Tested on real hardware (SEGA Dreamcast, GCC 15.0), the program above prints:
+`Values: a=0x80000000 b=0x1 c=0x1`
+
+Running with Qemu (and GCC 13.0), the same program prints:
+`Values: a=0x7fffffff b=0x80000000 c=0x1`