[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86: do away with HAVE_AS_NEGATIVE_TRUE
On 19.05.2023 08:15, Jan Beulich wrote: > On 17.05.2023 19:05, Andrew Cooper wrote: >> On 17/05/2023 3:22 pm, Jan Beulich wrote: >>> There's no real need for the associated probing - we can easily convert >>> to a uniform value without knowing the specific behavior (note also that >>> the respective comments weren't fully correct and have gone stale). All >>> we (need to) depend upon is unary ! producing 0 or 1 (and never -1). >>> >>> For all present purposes yielding a value with all bits set is more >>> useful. >>> >>> No difference in generated code. >>> >>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >>> --- >>> Unlike in C, there's also binary ! in assembly expressions, and even >>> binary !!. But those don't get in the way here. >> >> I had been wanting to do this for a while, but IMO a clearer expression >> is to take ((x) & 1) to discard the sign. >> >> It doesn't change any of the logic to use +1 (I don't think), and it's >> definitely the more common way for the programmer to think. > > Well, I can certainly switch. It simply seemed to me that with our many > uses of !! elsewhere, using this here as well would only be consistent. > (I did in fact consider the ... & 1 alternative.) Before even starting with this - you do realize that the C macro (AS_TRUE) expands to just a prefix for the expression to be dealt with? That would then become "1 & ", which I have to admit I find a little odd. The alternative of making this a more ordinary macro (with a parameter) would likely be more intrusive. Plus I assume you had a reason to do it the way it is right now (and I might end up figuring that reason the hard way when trying to change things). Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |