| Summary: | s390x: Even/odd lane confusion in various vector insns | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | Andreas Arnez <arnez> |
| Component: | vex | Assignee: | Andreas Arnez <arnez> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | flo2030 |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Andreas Arnez
2025-09-15 13:11:03 UTC
I'll apply a fix that sticks to the definition of "even" lanes in libvex_ir.h, where the lanes are numbered from low to high. Note that I would not use such a numbering scheme in general on big-endian platforms. In my view, "multiply even" could also be viewed as a naming accident; if it were called something like "multiply from low", there was no need to consider lane numbering. In this way the confusion could be avoided. (In reply to Andreas Arnez from comment #1) > > In my view, "multiply even" could also be viewed as a naming > accident; if it were called something like "multiply from low", there was > no need to consider lane numbering. In this way the confusion could be > avoided. I like the idea of renaming the IROp if that makes things clearer. (In reply to Florian Krohm from comment #2) > I like the idea of renaming the IROp if that makes things clearer. I tend to agree. I'm hesitant to do that as part of the fix though, since it affects many architectures. Thus I'll apply the fix first; then we can discuss the renaming patch independently from that. Pushed a fix and a test case: 5deca19cc Bug 509517 - s390x: Add even/odd-lane memcheck test for VME etc. 6ac493c0e Bug 509517 - s390x: Fix even/odd lane confusion for VME etc. |