On Wed, Mar 12, 2025 at 05:09:16PM -0700, H. Peter Anvin wrote: > On March 12, 2025 4:56:31 PM PDT, Jacob Keller <jacob.e.keller@xxxxxxxxx> wrote: [...] > >This is really a question of whether you expect odd or even parity as > >the "true" value. I think that would depend on context, and we may not > >reach a good consensus. > > > >I do agree that my brain would jump to "true is even, false is odd". > >However, I also agree returning the value as 0 for even and 1 for odd > >kind of made sense before, and updating this to be a bool and then > >requiring to switch all the callers is a bit obnoxious... > > Odd = 1 = true is the only same definition. It is a bitwise XOR, or sum mod 1. The x86 implementation will be "popcnt(val) & 1", right? So if we choose to go with odd == false, we'll have to add an extra negation. So because it's a purely conventional thing, let's just pick a simpler one? Compiler's builtin parity() returns 1 for odd. Thanks, Yury