diff options
Diffstat (limited to 'results/classifier/zero-shot/108/other/1441')
| -rw-r--r-- | results/classifier/zero-shot/108/other/1441 | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/108/other/1441 b/results/classifier/zero-shot/108/other/1441 new file mode 100644 index 00000000..e2003c51 --- /dev/null +++ b/results/classifier/zero-shot/108/other/1441 @@ -0,0 +1,49 @@ +vnc: 0.812 +graphic: 0.732 +device: 0.715 +network: 0.594 +PID: 0.548 +files: 0.540 +socket: 0.471 +debug: 0.436 +permissions: 0.428 +semantic: 0.412 +performance: 0.403 +boot: 0.340 +other: 0.142 +KVM: 0.074 + +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: + |