[tip:x86/core 1/1] arch/x86/um/../lib/csum-partial_64.c:98:12: error: implicit declaration of function 'load_unaligned_zeropad'
Noah Goldstein
goldstein.w.n at gmail.com
Wed Nov 24 22:49:34 PST 2021
On Thu, Nov 25, 2021 at 12:46 AM Eric Dumazet <edumazet at google.com> wrote:
>
> On Wed, Nov 24, 2021 at 10:32 PM Eric Dumazet <edumazet at google.com> wrote:
>
> > - }
> > + if (unlikely(odd))
> > + result = ror32(result, 8);
> > return (__force __wsum)result;
>
> Oh well, gcc at least removes the conditional and generates a ror and a cmov
Seems like a missed optimization for `unlikely` where dependency breaking
is pretty common.
Although still saves a uop because of `imm8` operand.
>
> mov %edx,%eax
> ror $0x8,%eax
> test %r8,%r8
> cmove %edx,%eax
> ret
>
> clang keeps the cond jmp
> test $0x1,%dil
> je 93
> rol $0x18,%eax
> 93: ret
More information about the linux-um
mailing list