On 03/17/2015 07:58 AM, Paolo Bonzini wrote:
> On 17/03/2015 12:56, Stefan Hajnoczi wrote:
>> +        for (f = ctz32(level) + 1, i = f - 1, level >>= f - 1;
>> +             f != 33;
>> +             i += f, level >>= f) {
>>              p = s->bank[j].priority[i];
>>              if (p <= p_intr) {
>>                  p_intr = p;
>>                  sir_intr = 32 * j + i;
>>              }
>> -            f = ffs(level >> 1);
>> +            f = ctz32(level >> 1) + 1;
>>          }
> 
> Since it's 2.4, we might as well make the code nicer:
> 
>          while (level != 0) {
>              i = ctz32(level);
>              p = s->bank[j].priority[i];
>              if (p <= p_intr) {
>                  p_intr = p;
>                  sir_intr = 32 * j + i;
>              }
>              level &= level - 1;
>          }

Agreed.


r~


Reply via email to