summary refs log tree commit diff stats
path: root/gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml')
-rw-r--r--gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml62
1 files changed, 0 insertions, 62 deletions
diff --git a/gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml b/gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml
deleted file mode 100644
index ed73610fb..000000000
--- a/gitlab/issues/target_loongarch/host_missing/accel_missing/2865.toml
+++ /dev/null
@@ -1,62 +0,0 @@
-id = 2865
-title = "loongarch64: wrong implementation of `xvldi` instruction"
-state = "closed"
-created_at = "2025-03-16T17:39:40.541Z"
-closed_at = "2025-03-17T12:59:28.649Z"
-labels = ["target: loongarch"]
-url = "https://gitlab.com/qemu-project/qemu/-/issues/2865"
-host-os = "Debian"
-host-arch = "loongarch64 (default one)"
-qemu-version = "qemu-loongarch64 version 9.2.2 (Debian 1:9.2.2+ds-1+b2)"
-guest-os = "n/a"
-guest-arch = "loongarch64 (default one)"
-description = """Consider this sample program.
-
-```c++
-#include <cstdio>
-#include <cstdint>
-#include <lsxintrin.h>
-#include <lasxintrin.h>
-
-void dump_u32(__m256i x) {
-    uint32_t tmp[32/4];
-    __lasx_xvst(x, tmp, 0);
-    putchar('[');
-    for (int i=0; i < 32/4; i++) {
-        if (i > 0) {
-            putchar(' ');
-        }
-
-        printf("%08x", tmp[i]);
-    }
-    puts("]");
-}
-
-int main() {
-    __m256i const1 = __lasx_xvldi(-3832);
-    dump_u32(const1);
-}
-```
-
-The magic constants here means: replicate in 32-bit words a byte (0x4) shifted left by 8. We should have a vector of words 0x800, and indeed, the program run on a real hardware prints expected:
-
-```
-[00000800 00000800 00000800 00000800 00000800 00000800 00000800 00000800]
-```
-
-The same program run under Qemu prints:
-
-```
-[08000800 00000000 08000800 00000000 08000800 00000000 08000800 00000000]
-```"""
-reproduce = "n/a"
-additional = """I grabbed the latest sources, it seems there's bug in `target/loongarch/tcg/insn_trans/trans_vec.c.inc`, in function `vldi_get_value`.
-
-```c
-    case 1:
-        /* data: {2{16'0, imm[7:0], 8'0}} */
-        data = (t << 24) | (t << 8);
-        break;
-```
-
-There should be `(t << (8+32)) | t << 8`."""