summary refs log tree commit diff stats
path: root/results/classifier/118/architecture-arm/1308381
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/architecture-arm/1308381')
-rw-r--r--results/classifier/118/architecture-arm/1308381146
1 files changed, 146 insertions, 0 deletions
diff --git a/results/classifier/118/architecture-arm/1308381 b/results/classifier/118/architecture-arm/1308381
new file mode 100644
index 00000000..97f7fe68
--- /dev/null
+++ b/results/classifier/118/architecture-arm/1308381
@@ -0,0 +1,146 @@
+architecture: 0.880
+arm: 0.838
+peripherals: 0.831
+performance: 0.825
+assembly: 0.817
+hypervisor: 0.807
+graphic: 0.807
+register: 0.800
+device: 0.793
+debug: 0.789
+PID: 0.786
+ppc: 0.786
+risc-v: 0.781
+files: 0.768
+vnc: 0.762
+kernel: 0.751
+permissions: 0.749
+boot: 0.749
+VMM: 0.747
+mistranslation: 0.744
+socket: 0.709
+virtual: 0.706
+user-level: 0.706
+network: 0.693
+x86: 0.629
+KVM: 0.628
+TCG: 0.616
+i386: 0.521
+semantic: 0.520
+--------------------
+arm: 0.935
+architecture: 0.445
+assembly: 0.402
+debug: 0.311
+TCG: 0.056
+register: 0.037
+files: 0.035
+semantic: 0.020
+risc-v: 0.020
+kernel: 0.018
+PID: 0.014
+device: 0.013
+hypervisor: 0.010
+user-level: 0.008
+boot: 0.008
+VMM: 0.006
+network: 0.005
+virtual: 0.005
+performance: 0.005
+vnc: 0.004
+peripherals: 0.004
+socket: 0.004
+graphic: 0.002
+mistranslation: 0.002
+permissions: 0.001
+KVM: 0.000
+x86: 0.000
+i386: 0.000
+ppc: 0.000
+
+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
+