lkml.org 
[lkml]   [2012]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 06/31] perf, kvm: Support the intx/intx_cp modifiers in KVM arch perfmon emulation
On 10/03/2012 02:11 PM, Andi Kleen wrote:
>> > - eventsel & ARCH_PERFMON_EVENTSEL_INT);
>> > + eventsel & ARCH_PERFMON_EVENTSEL_INT,
>> > + !!(eventsel & HSW_INTX),
>> > + !!(eventsel & HSW_INTX_CHECKPOINTED));
>> > }
>> >
>>
>> Those !! are !necessary, since the formal argument is a bool.
>
> bool is 1 or 0, x & y with y > 1 is not 1 or 0.
> iirc assigning > 1 to bool is undefined
>
> So I think they are necessary.

Conversion to bool coerces the value to 0 or 1.

_Bool ret(int x) { return x & 0x10000; }
20: 81 e7 00 00 01 00 and $0x10000,%edi
26: 0f 95 c0 setne %al
29: c3 retq


--
error compiling committee.c: too many arguments to function


\
 
 \ /
  Last update: 2012-10-03 15:41    [W:0.094 / U:0.636 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site