https://bugs.kde.org/show_bug.cgi?id=385334
--- Comment #4 from Carl Love <c...@us.ibm.com> --- The issue is with the vpermr and xxpermr instructions that were reimplemented based on the vperm instruction. In those implementations, the mask needed to be 0x1F instead of 0xF and the mask assignment uses perm_val or vC_andF depending on the instruction rather then the vector containing the indexes. The vpermr and xxpermr instructions do the reverse permutation, specifically the permute value is 31 - index value for each vector entry. The subtraction causes the bits to get flipped. The real issue is that the implementation was doing the masking each of the indexes in the vector then subtracting them from 31. The indexes should be subtracted from 31 first, then the result is masked with 0xF. Once the order of operations is corrected, then the mask assignment is done against the vector-31. So, the comments and the implementation of the vpermr, xxperm and xxpermr instructions need some cleaning up to make the mask 0xF not 0x1F, etc. The patch to fix the vperm instruction need to be replaced with a clean up patch. -- You are receiving this mail because: You are watching all bug changes.