__asm__ (
"loop:\n\t"
"movl $1,%3\n\t"
"movl $0, %6\n"
"start:\n\t"
"movl (%1,%3,4),%4\n\t"
"movl -4(%1, %3, 4), %5\n\t"
"cmpl %4, %5\n\t"
"jle next\n\t"
"xchgl %4, %5\n\t"
"movl %4, (%1, %3, 4)\n\t"
"movl %5, -4(%1, %3, 4)\n\t"
"movl $1, %6\n"
"next:\n\t"
"incl %3\n\t"
"cmpl %3, %2\n\t"
"jge start\n\t"
"cmpl $0, %6\n\t"
"je end\n\t"
"jmp loop\n"
"end: \n\t"
:"=r"(input_array)
:"r"(input_array), "r"(size-1), "r"(1), "r"(0), "r"(0), "r"(0)
);
Я получаю:
ошибка: не удается найти регистр в классе "GENERAL_REGS" при перезагрузке ошибки "asm": операнд "asm" имеет невозможные ограничения