Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')

From: Maciej W. Rozycki
Date: Sun May 22 2022 - 16:49:01 EST


On Fri, 20 May 2022, Nathan Chancellor wrote:

> > It doesn't matter whether there is ADDU or DADDU anymore, given that
> > commit 198688edbf77 ("MIPS: Fix inline asm input/output type mismatch in
> > checksum.h used with Clang") has added a redundant 32-bit sign-extension
> > operation right afterwards, regressing size/performance by an extra
> > instruction in this performance-critical code as a workaround for a stupid
> > compiler.
>
> Shouldn't this concern have been addressed by Tiezhu's follow up?
>
> https://lore.kernel.org/1617359240-16609-1-git-send-email-yangtiezhu@xxxxxxxxxxx/
>
> I guess it never got picked up?

Still it is a hack. I have now rewritten this code in plain C instead.

Maciej