MOVES
__get_user_asm(MOVES, __gu_err, x, ptr, u8, b, d, -EFAULT); \
__get_user_asm(MOVES, __gu_err, x, ptr, u16, w, r, -EFAULT); \
__get_user_asm(MOVES, __gu_err, x, ptr, u32, l, r, -EFAULT); \
__get_user_asm8(MOVES, __gu_err, x, ptr); \
"1: "MOVES"."#s1" (%2)+,%3\n" \
"2: "MOVES"."#s2" (%2)+,%3\n" \
"3: "MOVES"."#s3" (%2)+,%3\n" \
"11: "MOVES"."#s1" %3,(%1)+\n" \
"21: "MOVES"."#s2" %3,(%1)+\n" \
"31: "MOVES"."#s3" %3,(%1)+\n" \
__put_user_asm(MOVES, res, *(u8 *)from, (u8 __user *)to,
__put_user_asm(MOVES, res, *(u16 *)from, (u16 __user *)to,
__put_user_asm(MOVES, res, *(u32 *)from, (u32 __user *)to,
__put_user_asm(MOVES, __pu_err, __pu_val, ptr, b, d, -EFAULT); \
__put_user_asm(MOVES, __pu_err, __pu_val, ptr, w, r, -EFAULT); \
__put_user_asm(MOVES, __pu_err, __pu_val, ptr, l, r, -EFAULT); \
__put_user_asm8(MOVES, __pu_err, __pu_val, ptr); \
"1: "MOVES".l %2,(%1)+\n"
"4: "MOVES".w %2,(%1)+\n"
"6: "MOVES".b %2,(%1)\n"
"1: "MOVES".l (%1)+,%3\n"
"3: "MOVES".w (%1)+,%3\n"
"5: "MOVES".b (%1)+,%3\n"
"2: "MOVES".l %3,(%2)+\n"
"5: "MOVES".w %3,(%2)+\n"
"7: "MOVES".b %3,(%2)+\n"