On Thu, Jul 11, 2019 at 7:14 PM 'Nick Desaulniers' via Clang Built Linux clang-built-linux@googlegroups.com wrote:
On Thu, Jul 11, 2019 at 5:28 AM Arnd Bergmann arnd@arndb.de 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