https://bugs.kde.org/show_bug.cgi?id=271615
Mark Wielaard <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |ASSIGNED --- Comment #13 from Mark Wielaard <[email protected]> --- (In reply to mcermak from comment #12) > Created attachment 192341 [details] > proposed patch > > I've updated the proposed patch and added 2 testcases. Testcases are based > on their amd64 variant, but updated to use 32 bit registers and instruction > sizes. In the commit message please mention [email protected] as the original proposer of the patch. The bug in NEWS is in the wrong place, should be moved up under 3.28.0 fixed bugs. gen_POPCOUNT looks correct (like the amd64 variant). The instruction decoder starts with the comment: /* TODO: find out if POPCNT is supported */ Which might be possible, so we can generate a SIGILL if the underlying CPU doesn't support POPCNT. But I think it isn't really necessary. The implementation is generic. We'll just update the cpuid to indicate we do support POPCNT. I wouldn't use vassert(sz == 2 || sz == 4); but just add that to the if statement. if (insn[0] == 0xF3 && insn[1] == 0x0F && insn[2] == 0xB8 && (sz == 2 || sz == 4)) I think the testcase works (native and under valgrind produce the same bit patterns). Nitpick: But since we have 32bit registers and only popcntw and popcntl are supported I would have expected only using 32bit block values. -- You are receiving this mail because: You are watching all bug changes.
