:: "r" (block), "r" (pixels), "r" (line_size) : "$8", "$9", "memory" ); }
: "+r" (block), "+r" (pixels), "+r" (h) : "r" (line_size) : "$8", "$9", "$10", "$11", "$12", "$13", "memory" );
static void put_pixels16_mmi(uint8_t *block, const uint8_t *pixels, int line_size, int h){    int i;    for(i=0; i<(h>>2); i++) {        asm volatile (        ".set   push            \n\t"        ".set   mips3           \n\t"#define PUTPIX16 \        "ldr    $8, 0(%1)       \n\t" \        "ldl    $8, 7(%1)       \n\t" \        "ldr    $9, 8(%1)       \n\t" \        "ldl    $9, 15(%1)      \n\t" \        "add    %1, %1, %2      \n\t" \        "pcpyld $8, $9, $8      \n\t" \        "sq     $8, 0(%0)       \n\t" \        "add    %0, %0, %2      \n\t"        PUTPIX16        PUTPIX16        PUTPIX16        PUTPIX16        ".set   pop             \n\t"        :: "r" (block), "r" (pixels), "r" (line_size) : "$8", "$9", "memory" );    }}