[valgrind] [Bug 369439] S390x: Unhandled insns RISBLG/RISBHG and LDE/LDER
https://bugs.kde.org/show_bug.cgi?id=369439 Andreas Arnezchanged: What|Removed |Added Attachment #101320|0 |1 is obsolete|| --- Comment #3 from Andreas Arnez --- Created attachment 101330 --> https://bugs.kde.org/attachment.cgi?id=101330=edit Support LDE/LDER, and RISBHG/RISBLG (v2) Now includes "high-word.c". -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 369439] S390x: Unhandled insns RISBLG/RISBHG and LDE/LDER
https://bugs.kde.org/show_bug.cgi?id=369439 --- Comment #1 from Andreas Arnez--- Created attachment 101320 --> https://bugs.kde.org/attachment.cgi?id=101320=edit Support LDE/LDER, and RISBHG/RISBLG This patch adds support for the missing instructions. In addition, it also handles MVCIN and BRCTH and updates the instruction table. -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 369439] New: S390x: Unhandled insns RISBLG/RISBHG and LDE/LDER
https://bugs.kde.org/show_bug.cgi?id=369439 Bug ID: 369439 Summary: S390x: Unhandled insns RISBLG/RISBHG and LDE/LDER Product: valgrind Version: 3.12 SVN Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: vex Assignee: jsew...@acm.org Reporter: ar...@linux.vnet.ibm.com An upstream GCC may emit the hex floating-point instructions LDE and LDER (for loading usual binary floating-point values), and LLVM may emit the high-word facility instructions RISBLG and RISBHG. All of these are currently not handled by Valgrind. Reproducible: Always -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 366413] s390x: New z13 instructions not implemented
https://bugs.kde.org/show_bug.cgi?id=366413 --- Comment #2 from Andreas Arnez--- (In reply to Zack Brdge from comment #1) > Are there some specific KDE binaries, perhaps distributed with Debian s390x, > that have the missing instructions compiled in or are these instructions > emitted with just about every gcc/g++ binary on s390x Linux? Binaries in current distributions usually do not contain any of the new instructions, since they are compiled for compatibility with older systems. One exception is the glibc, which contains performance-optimized z13 variants of some selected functions. Those are dynamically activated via ifunc if the hardware capabilities (HWCAP) indicate vector support. Since Valgrind will currently mask off vector support from HWCAP, glibc will fall back to the non-optimized variants when running under Valgrind. However, gcc and llvm may generate many of the new instructions when compiling for z13 or higher, i.e., when the command line option "-march=z13" is specified. A resulting binary can then not be debugged under Valgrind. -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 366413] New: s390x: New z13 instructions not implemented
https://bugs.kde.org/show_bug.cgi?id=366413 Bug ID: 366413 Summary: s390x: New z13 instructions not implemented Product: valgrind Version: 3.12 SVN Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: vex Assignee: jsew...@acm.org Reporter: ar...@linux.vnet.ibm.com Valgrind currently lacks support for the new z/Architecture instructions that were first implemented with z13. In particular: - load and zero rightmost byte (LZRF, LZRG); - load logical and zero rightmost byte (LLZRGF); - load halfword high immediate on condition (LOCHHI); - load halfword immediate on condition (LOCHI, LOCGHI); - load high on condition (LOCFHR, LOCFH); - store high on condition (STOCFH); - perform pseudorandom number operation (PPNO), with the functions PPNO-Query and PPNO-SHA-512-DRNG; - all vector facility instructions described in chapters 21-24 of the z/Architecture Principles of Operations, eleventh edition (March, 2015): - vector facility support instructions (chapter 21); - vector facility integer instructions (chapter 22); - vector facility string instructions (chapter 23); - vector facility floating point instructions. (chapter 24); - load count to block boundary (LCBB). Supporting the new vector facility instructions requires modelling the new z/Architecture vector registers. Reproducible: Always -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 361226] s390x: risbgn (EC59) not implemented
https://bugs.kde.org/show_bug.cgi?id=361226 --- Comment #2 from Andreas Arnez--- (In reply to Andreas Arnez from comment #1) > Created attachment 98188 [details] > Support RISBGN Is this OK? -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 361226] s390x: risbgn (EC59) not implemented
https://bugs.kde.org/show_bug.cgi?id=361226 --- Comment #1 from Andreas Arnez--- Created attachment 98188 --> https://bugs.kde.org/attachment.cgi?id=98188=edit Support RISBGN -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 303877] valgrind doesn't support compressed debuginfo sections.
https://bugs.kde.org/show_bug.cgi?id=303877 Andreas Arnezchanged: What|Removed |Added CC||ar...@linux.vnet.ibm.com -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 361226] New: s390x: risbgn (EC59) not implemented
https://bugs.kde.org/show_bug.cgi?id=361226 Bug ID: 361226 Summary: s390x: risbgn (EC59) not implemented Product: valgrind Version: 3.12 SVN Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: vex Assignee: jsew...@acm.org Reporter: ar...@linux.vnet.ibm.com Something like this may be seen with a binary compiled for zEC12 (or higher): vex s390->IR: unimplemented insn: EC12 2021 1E59 This is because Valgrind currently doesn't implement the RISBGN instruction. Note that RISBGN has the same effect as RISBG, except that it doesn't set the condition code. Reproducible: Always -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 359289] s390x: popcnt (B9E1) not implemented
https://bugs.kde.org/show_bug.cgi?id=359289 Andreas Arnezchanged: What|Removed |Added Attachment #97264|0 |1 is obsolete|| --- Comment #5 from Andreas Arnez --- Created attachment 97268 --> https://bugs.kde.org/attachment.cgi?id=97268=edit Implement popcnt for s390x (v2) Updated patch: - add popcnt to Makefile.am; - test all-one value; - enable s390x_features to check for facility bit 45. -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 359289] s390x: popcnt (B9E1) not implemented
https://bugs.kde.org/show_bug.cgi?id=359289 --- Comment #4 from Andreas Arnez--- (In reply to Florian Krohm from comment #3) > Thanks for the patch. > As Mark said: none/tests/s390x/Makefile.am needs adjustment. Otherwise the > popcnt test does not get built during "make check". Right, I missed to include that change. Thanks to Mark for pointing out. > In opcodes.h you define POPCNT. Good! Why not use it in popcnt.c? Just a matter of taste. I prefer leaving the choice of operand registers to the compiler, like you would do in production code. > Can you add a check_popcnt call in popcnt.c where all input bits are 1? Sure. Any particular reason for testing this specific value? > We also need configury to check whether the machine has the POPCNT insn. And > only if the machine supports that opcode we should build the test. Not sure about that one. The patch always emulates the instruction, independent of the host capabilities. Do you think that should change? Wouldn't that be inconsistent with setting facility bit 45? > Other than that the patch looks good. Thanks for reviewing! -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 359289] s390x: popcnt (B9E1) not implemented
https://bugs.kde.org/show_bug.cgi?id=359289 Andreas Arnezchanged: What|Removed |Added CC||ar...@linux.vnet.ibm.com --- Comment #1 from Andreas Arnez --- Created attachment 97264 --> https://bugs.kde.org/attachment.cgi?id=97264=edit Implement popcnt for s390x Suggested fix for this Bug. -- You are receiving this mail because: You are watching all bug changes.