diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-06-01 21:35:14 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-06-01 21:35:14 +0200 |
| commit | 3e4c5a6261770bced301b5e74233e7866166ea5b (patch) | |
| tree | 9379fddaba693ef8a045da06efee8529baa5f6f4 /gitlab/issues_text/target_sh4/host_missing/accel_missing/2318 | |
| parent | e5634e2806195bee44407853c4bf8776f7abfa4f (diff) | |
| download | qemu-analysis-3e4c5a6261770bced301b5e74233e7866166ea5b.tar.gz qemu-analysis-3e4c5a6261770bced301b5e74233e7866166ea5b.zip | |
clean up repository
Diffstat (limited to 'gitlab/issues_text/target_sh4/host_missing/accel_missing/2318')
| -rw-r--r-- | gitlab/issues_text/target_sh4/host_missing/accel_missing/2318 | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/gitlab/issues_text/target_sh4/host_missing/accel_missing/2318 b/gitlab/issues_text/target_sh4/host_missing/accel_missing/2318 deleted file mode 100644 index 28438fb54..000000000 --- a/gitlab/issues_text/target_sh4/host_missing/accel_missing/2318 +++ /dev/null @@ -1,34 +0,0 @@ -SH4: SUBV instruction not emulated properly -Description of problem: -SUBV opcode is emulated incorrectly. - -The documentation says: - -`SUBV Rm, Rn Rn - Rm -> Rn, underflow -> T` - -Qemu seems to perform the subtraction correctly, but will not detect an underflow. -Steps to reproduce: -```c -#include <stdio.h> - -int main(void) -{ - register unsigned int a asm("r8") = 0x80000001; - register unsigned int b asm("r9") = 0x2; - register unsigned int c asm("r10"); - - asm volatile("subv %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=0x7fffffff b=0x2 c=0x1` - -Running with Qemu (and GCC 13.0), the same program prints: -`Values: a=0x7fffffff b=0x2 c=0x0` |