summaryrefslogtreecommitdiffstats
path: root/results/classifier/zero-shot/105/instruction/1308381
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/zero-shot/105/instruction/1308381')
-rw-r--r--results/classifier/zero-shot/105/instruction/130838199
1 files changed, 99 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/105/instruction/1308381 b/results/classifier/zero-shot/105/instruction/1308381
new file mode 100644
index 00000000..b6f24b24
--- /dev/null
+++ b/results/classifier/zero-shot/105/instruction/1308381
@@ -0,0 +1,99 @@
+instruction: 0.904
+assembly: 0.817
+graphic: 0.807
+device: 0.793
+other: 0.778
+vnc: 0.762
+boot: 0.749
+mistranslation: 0.744
+socket: 0.709
+network: 0.693
+KVM: 0.628
+semantic: 0.520
+
+illegal instructions for AArch64 ARMv8
+
+The test case is in the attachment. To reproduce as following (I tried both GCC and Clang):
+$aarch64-linux-gnu-gcc qemu.c -o test
+$./test
+qemu: uncaught target signal 4 (Illegal instruction) - core dumped
+Illegal instruction (core dumped)
+
+There are 3 intrinsics are tested in the test case: vqmovunh_s16, vqmovuns_s32, vqmovund_s64. They will be compiled into instructions:
+SQXTUN Bd, Hn
+SQXTUN Hd, Sn
+SQXTUN Sd, Dn.
+
+It seems that these instructions are not supported in QEMU. Is this a bug?
+
+
+
+Can you attach a statically linked test case binary, please?
+
+
+
+Peter Maydell <email address hidden> writes:
+
+> Can you attach a statically linked test case binary, please?
+
+I can reproduce with the source file. It looks like:
+
+@@ -7553,12 +7555,9 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn)
+ }
+ break;
+ case 0x12: /* SQXTUN */
+- if (u) {
+- unallocated_encoding(s);
+- return;
+- }
+ /* fall through */
+
+Fixes it. Let me check why this slipped through the risu tests and
+re-validate. I'll submit a patch once I've double checked.
+
+--
+Alex Bennée
+
+
+
+On 16 April 2014 11:55, Alex Bennée <email address hidden> wrote:
+>
+> Peter Maydell <email address hidden> writes:
+>
+>> Can you attach a statically linked test case binary, please?
+>
+> I can reproduce with the source file. It looks like:
+>
+> @@ -7553,12 +7555,9 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn)
+> }
+> break;
+> case 0x12: /* SQXTUN */
+> - if (u) {
+> - unallocated_encoding(s);
+> - return;
+> - }
+> /* fall through */
+>
+> Fixes it.
+
+However the ARM ARM, unless I'm misreading it, requires scalar-2-misc
+SQXTUN to have U==1, so the correct fix should be to turn that "if (u)"
+into "if (!u)" I think. (Opcode 0x12 u==0 isn't in the table so should undef.)
+
+Better check we didn't make the same mistake in the vector-2-misc
+decode as well.
+
+thanks
+-- PMM
+
+
+Fix identified
+
+I've sent this patch to the mailing list but it fixes the attached test case and has been tested with risu patterns.
+
+@pmaydell: yeah vector is unaffected as U is used to select another opcode.
+
+Patch had been included here:
+http://git.qemu.org/?p=qemu.git;a=commitdiff;h=e44a90c59697cf98
+==> Fix released
+