summary refs log tree commit diff stats
path: root/gitlab/issues/target_sh4/host_missing/accel_missing/2317.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_sh4/host_missing/accel_missing/2317.toml')
-rw-r--r--gitlab/issues/target_sh4/host_missing/accel_missing/2317.toml46
1 files changed, 0 insertions, 46 deletions
diff --git a/gitlab/issues/target_sh4/host_missing/accel_missing/2317.toml b/gitlab/issues/target_sh4/host_missing/accel_missing/2317.toml
deleted file mode 100644
index 8b39bb732..000000000
--- a/gitlab/issues/target_sh4/host_missing/accel_missing/2317.toml
+++ /dev/null
@@ -1,46 +0,0 @@
-id = 2317
-title = "SH4:  ADDV instruction not emulated properly"
-state = "closed"
-created_at = "2024-04-29T17:09:55.119Z"
-closed_at = "2024-05-04T02:01:16.513Z"
-labels = ["kind::Bug", "target: sh4", "workflow::Patch available"]
-url = "https://gitlab.com/qemu-project/qemu/-/issues/2317"
-host-os = "Debian testing"
-host-arch = "x86_64"
-qemu-version = "qemu-sh4 version 8.2.1 (Debian 1:8.2.1+ds-2)"
-guest-os = "Buildroot uClibc (qemu-user)"
-guest-arch = "SH4"
-description = """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`"""
-reproduce = """```c
-#include <stdio.h>
-
-int main(void)
-{
-\tregister unsigned int a asm("r8") = 0x7fffffff;
-\tregister unsigned int b asm("r9") = 1;
-\tregister unsigned int c asm("r10");
-
-\tasm volatile("clrt\\n"
-\t\t     "addv %2,%0\\n"
-\t\t     "movt %1\\n"
-\t\t     : "+r"(a), "=r"(c) : "r"(b) :);
-
-\tprintf("Values: a=0x%x b=0x%x c=0x%x\\n", a, b, c);
-
-\treturn 0;
-}
-
-```"""
-additional = """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`"""