Fwd: Fwd: X stopped working with 5.14 on iBook
Segher Boessenkool
segher at kernel.crashing.org
Sat Nov 6 04:58:01 AEDT 2021
On Fri, Nov 05, 2021 at 10:36:18AM +1100, Finn Thain wrote:
> There is no __get_user_asm2_goto in this tree, and __get_user_asm2 already
> has the "=&r" constraint:
>
> #define __get_user_asm2(x, addr, err) \
> __asm__ __volatile__( \
> "1: lwz%X2 %1, %2\n" \
> "2: lwz%X2 %L1, %L2\n" \
> "3:\n" \
> ".section .fixup,\"ax\"\n" \
> "4: li %0,%3\n" \
> " li %1,0\n" \
> " li %1+1,0\n" \
> " b 3b\n" \
> ".previous\n" \
> EX_TABLE(1b, 4b) \
> EX_TABLE(2b, 4b) \
> : "=r" (err), "=&r" (x) \
> : "m" (*addr), "i" (-EFAULT), "0" (err))
operand 0 needs an earlyclobber as well, in principle. But there is
nothing left it can be tied to, so this won't change generated code.
What is operand 4 about? It isn't used?
The "%1+1" can be written %L1 btw (it means exactly the same thing, but
work on more configs).
Segher
More information about the Linuxppc-dev
mailing list