diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-06-16 16:59:00 +0000 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-06-16 16:59:33 +0000 |
| commit | 9aba81d8eb048db908c94a3c40c25a5fde0caee6 (patch) | |
| tree | b765e7fb5e9a3c2143c68b0414e0055adb70e785 /results/classifier/118/risc-v/1441 | |
| parent | b89a938452613061c0f1f23e710281cf5c83cb29 (diff) | |
| download | qemu-analysis-9aba81d8eb048db908c94a3c40c25a5fde0caee6.tar.gz qemu-analysis-9aba81d8eb048db908c94a3c40c25a5fde0caee6.zip | |
add 18th iteration of classifier
Diffstat (limited to 'results/classifier/118/risc-v/1441')
| -rw-r--r-- | results/classifier/118/risc-v/1441 | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/results/classifier/118/risc-v/1441 b/results/classifier/118/risc-v/1441 new file mode 100644 index 000000000..281d01323 --- /dev/null +++ b/results/classifier/118/risc-v/1441 @@ -0,0 +1,64 @@ +risc-v: 0.884 +vnc: 0.812 +graphic: 0.732 +device: 0.715 +architecture: 0.651 +network: 0.594 +PID: 0.548 +files: 0.540 +ppc: 0.537 +TCG: 0.526 +arm: 0.504 +register: 0.490 +socket: 0.471 +debug: 0.436 +permissions: 0.428 +semantic: 0.412 +performance: 0.403 +virtual: 0.401 +boot: 0.340 +VMM: 0.269 +kernel: 0.254 +user-level: 0.248 +peripherals: 0.221 +hypervisor: 0.188 +assembly: 0.166 +mistranslation: 0.152 +x86: 0.127 +KVM: 0.074 +i386: 0.073 + +Assertion failure when executing RISC-V vfncvt.rtz.x.f.w instruction +Description of problem: +When emulating the `vfncvt.rtz.x.f.w` instruction, QEMU crashes with an assertion failure at `target/riscv/translate.c:211`, complaining that ```decode_save_opc: Assertion `ctx->insn_start != NULL' failed.``` + +It appears this problem first emerged with https://gitlab.com/qemu-project/qemu/-/commit/a9814e3e08d2aacbd9018c36c77c2fb652537848 +Steps to reproduce: +The following C program triggers the assertion failure when built a sufficiently recent version of the Clang cross compiler (in my case 15.0.6): +``` +/* test.c */ +#include <riscv_vector.h> + +#define LEN 4 + +int main(int argc, char *argv[]) { + double in[LEN]; + int out[LEN]; + + vfloat64m1_t vf = vle64_v_f64m1(in, LEN); + vint32mf2_t vi = vfncvt_rtz_x_f_w_i32mf2(vf, LEN); + vse32_v_i32mf2(out, vi, LEN); + + return 0; +} +``` + +The above `test.c` can be compiled and run as follows: +``` +clang -O3 -march=rv64gcv -static test.c +qemu-riscv64 -cpu "rv64,zba=true,zbb=true,zbc=true,zbs=true,v=true,vlen=512,elen=64,vext_spec=v1.0" a.out +qemu-riscv64: ../target/riscv/translate.c:211: decode_save_opc: Assertion `ctx->insn_start != NULL' failed. +Segmentation fault (core dumped) +``` +Additional information: + |