--- vdc.cpp.orig 2015-02-13 08:35:08.490915522 -0500 +++ vdc.cpp.orig 2015-02-13 08:39:08.597898884 -0500 @@ -1040,7 +1040,7 @@ { // rdx: bg_linebuf // rsi: spr_linebuf - // rbp: vce.color_table_cache + // r8: vce.color_table_cache // rdi: target // rcx: count @@ -1051,7 +1051,7 @@ asm volatile( "push %%rbx\n\t" - "movq %%rax, %%rbp\n\t" + "movq %%rax, %%r8\n\t" "negq %%rcx\n\t" "xorq %%rax, %%rax\n\t" "xorq %%rbx, %%rbx\n\t" @@ -1066,7 +1066,7 @@ "cmovbe %%ebx, %%eax\n\t" "andl $511, %%eax\n\t" - "movl (%%rbp, %%rax, 4), %%ebx\n\t" + "movl (%%r8, %%rax, 4), %%ebx\n\t" "movl %%ebx, (%%rdi, %%rcx, 4)\n\t" "addq $1, %%rcx\n\t" @@ -1075,7 +1075,7 @@ "pop %%rbx\n\t" : "=c" (dummy), "=a" (dummy) : "d" (bg_linebuf + count), "S" (spr_linebuf + count), "D" (target + count), "c" (count), "a" (vce.color_table_cache) - : "memory", "cc", "rbp" + : "memory", "cc", "r8" ); }