On Wed, May 06, 2020 at 08:10:57PM +0200, Christophe Leroy wrote: > Le 06/05/2020 à 19:58, Segher Boessenkool a écrit : > >> #define __put_user_asm_goto(x, addr, label, op) \ > >> asm volatile goto( \ > >>- "1: " op "%U1%X1 %0,%1 # put_user\n" \ > >>+ "1: " op "%X1 %0,%1 # put_user\n" \ > >> EX_TABLE(1b, %l2) \ > >> : \ > >>- : "r" (x), "m<>" (*addr) \ > >>+ : "r" (x), "m" (*addr) \ > >> : \ > >> : label) > > > >Like that. But you will have to do that to *all* places we use the "<>" > >constraints, or wait for more stuff to fail? And, there probably are > >places we *do* want update form insns used (they do help in some loops, > >for example)? > > > > AFAICT, git grep "m<>" provides no result.
Ah, okay. > However many places have %Ux: <snip> Yes, all of those are from when "m" still meant what "m<>" is now. For seeing how many update form insns can be generated (and how much that matters), these all should be fixed, at a minimum. Segher