#include int main() { char *format = "\ %c %c %c %c %c %c %c %c %c\n"; printf(format, '1', '2', '3', '4', '5', '6', '7', '8', '9'); } static inline void __generic_memcpy_fromfs( void * to, const void * from, unsigned long n) { __asm__ volatile (" cld cmpl $3,%0 jbe 1f movl %%edi,%%ecx negl %%ecx andl $3,%%ecx subl %%ecx,%0 fs; rep; movsb movl %0,%%ecx shrl $2,%%ecx fs; rep; movsl andl $3,%0 1: movl %0,%%ecx fs; rep; movsb"); } static inline void __generic_memcpy_fromfs(void * to, const void * from, unsigned long n) { __asm__ volatile (" cld cmpl $3,%0 jbe 1f movl %%edi,%%ecx negl %%ecx andl $3,%%ecx subl %%ecx,%0 fs; rep; movsb movl %0,%%ecx shrl $2,%%ecx fs; rep; movsl andl $3,%0 1: movl %0,%%ecx fs; rep; movsb" :"=abd" (n) :"0" (n),"D" ((long) to),"S" ((long) from) :"cx","di","si", "memory"); }