#ifdef AMD64 #define _ASM_AX rax #define _ASM_CX rcx #define _ASM_DX rdx #else #define _ASM_AX eax #define _ASM_CX ecx #define _ASM_DX edx #endif .text .globl __get_user_1 .globl __get_user_2 .globl __get_user_4 #ifdef AMD64 .globl __get_user_8 #else .globl __get_user_8_32 #endif __get_user_1: movzb (%_ASM_CX),%eax xor %ecx,%ecx ret __get_user_2: add $1,%_ASM_CX movzwl -1(%_ASM_CX),%eax xor %ecx,%ecx ret __get_user_4: add $3,%_ASM_CX mov -3(%_ASM_CX),%eax xor %ecx,%ecx ret #ifdef AMD64 __get_user_8: add $7,%_ASM_CX movq -7(%_ASM_CX),%_ASM_AX xor %ecx,%ecx ret #else __get_user_8_32: add $7,%_ASM_CX movl -7(%_ASM_CX),%eax movl -3(%_ASM_CX),%edx xor %ecx,%ecx ret #endif