Re: [PATCH] vsyscall: use __iter_div_u64_rem()

From: Arnd Bergmann
Date: Thu Jul 11 2019 - 16:55:53 EST


On Thu, Jul 11, 2019 at 7:14 PM 'Nick Desaulniers' via Clang Built
Linux <clang-built-linux@xxxxxxxxxxxxxxxx> wrote:
>
> On Thu, Jul 11, 2019 at 5:28 AM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> > clang does not like an inline assembly with a "=q" contraint for
> > a 64-bit output:
>
> Seems like starting in GCC 7, GCC may not like it either:
> https://godbolt.org/z/UyBUfh
> it simply warns then proceeds with code gen. Another difference may
> come from when GCC vs Clang perform dead code elimination (DCE) vs
> semantic analysis.

Right, I also had the idea to work around it with a set of
__builtin_choos_expr()
instead of the switch()/case but did not complete that patch as the percpu
code is rather complex and this would touch lots of code.

Arnd