--- a.c 2013-05-30 00:47:51.100621173 +0200 +++ b.c 2013-05-30 00:56:27.318621998 +0200 @@ -38,12 +38,6 @@ "imul %%rdx, %%rax\n\t" \ "add %%rax, %%rsi\n\t" -#define FIRMULREG(label, offset, firc)\ - LABEL_MANGLE(label)": \n\t" \ - "movslq "#offset"(%0), %%rax\n\t" \ - "imul %"#firc", %%rax\n\t" \ - "add %%rax, %%rsi\n\t" - #define CLEAR_ACCUM \ "xor %%rsi, %%rsi\n\t" @@ -63,9 +57,6 @@ "add %%eax , %%esi\n\t" \ "adc %%edx , %%ecx\n\t" -#define FIRMULREG(label, offset, firc) \ - MLPMUL(label, #offset, "0", "0") - #define CLEAR_ACCUM \ "xor %%esi, %%esi\n\t" \ "xor %%ecx, %%ecx\n\t" @@ -108,9 +99,9 @@ FIRMUL (ff_mlp_firorder_6, 0x14 ) FIRMUL (ff_mlp_firorder_5, 0x10 ) FIRMUL (ff_mlp_firorder_4, 0x0c ) - FIRMULREG(ff_mlp_firorder_3, 0x08,10) - FIRMULREG(ff_mlp_firorder_2, 0x04, 9) - FIRMULREG(ff_mlp_firorder_1, 0x00, 8) + FIRMUL (ff_mlp_firorder_3, 0x08 ) + FIRMUL (ff_mlp_firorder_2, 0x04 ) + FIRMUL (ff_mlp_firorder_1, 0x00 ) LABEL_MANGLE(ff_mlp_firorder_0)":\n\t" "jmp *%6 \n\t" IIRMUL (ff_mlp_iirorder_4, 0x0c ) @@ -137,9 +128,6 @@ /* 3*/"+r"(blocksize) : /* 4*/"r"((x86_reg)mask), /* 5*/"r"(firjump), /* 6*/"r"(iirjump) , /* 7*/"c"(filter_shift) - , /* 8*/"r"((int64_t)coeff[0]) - , /* 9*/"r"((int64_t)coeff[1]) - , /*10*/"r"((int64_t)coeff[2]) : "rax", "rdx", "rsi" #else /* ARCH_X86_32 */ /* 3*/"+m"(blocksize)