"add    %0, %0, %2      \n\t"
"add    %0, %0, %3      \n\t" "bgtz   %2, 1b          \n\t"
static void put_pixels8_mmi(uint8_t *block, const uint8_t *pixels, int line_size, int h){    int i;    for(i=0; i<h; i++) {        asm volatile(        ".set   push            \n\t"        ".set   mips3           \n\t"        "ldr    $8, 0(%1)       \n\t"        "ldl    $8, 7(%1)       \n\t"        "add    %1, %1, %2      \n\t"        "sd     $8, 0(%0)       \n\t"        "add    %0, %0, %2      \n\t"        ".set   pop             \n\t"        :: "r" (block), "r" (pixels), "r" (line_size) : "$8", "memory" );    }}