https://bugs.kde.org/show_bug.cgi?id=495817
Andreas Arnez <ar...@linux.ibm.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ar...@linux.ibm.com --- Comment #7 from Andreas Arnez <ar...@linux.ibm.com> --- (In reply to Florian Krohm from comment #6) Thanks for doing this! > ... > Specifically: this patch > 1) replaces vassert with s390_insn_assert where appropriate Yes, many bad vasserts were still present. Looks good. > 2) adds missing s390_insn_asserts (many) Right, quite a few were missing. Looks good. > 3) removes incorrect s390_insn_asserts (few) Looks good. > 4) checks availability of vector opcodes based on hardware capabilities > and issues an emulation failure if opcode is not available I'm not sure about that one. My thought is that issuing an unsupported instruction yields SIGILL on real hardware, so it's reasonable to do the same in Valgrind. Or is there a general guideline when to use EmFail? I honestly don't know, but libvex_emnote.h doesn't contain that many EmFail_* definitions for other architectures, which leads me to believe that we may be abusing this... > 5) For s390_vr_get_type and s390_v3_get_ftype remove the mask check as > it has already been asserted earlier. Add a vassert for the anxious :) That's OK. > 6) For s390_vr_get_n_elem, add a vassert (the mask was already checked > earlier). The function used to return 0 for an out-of-range mask > which would have made s390_vector_fp_mulAddOrSub to create > side-effect-free VEX IR. I don't see this. Is this part missing from the patch? There's a typo in s390_irgen_VFPSO, where the mnemonic is misspelled: > + s390_insn_assert("vfspo", m3 == 3 || (s390_host_has_vxe && m3 >= 2 && m3 > <= 4)); -- You are receiving this mail because: You are watching all bug changes.