Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 471756
Collapse All | Expand All

(-)a.c (-15 / +3 lines)
Lines 38-49 Link Here
38
    "imul                 %%rdx, %%rax\n\t" \
38
    "imul                 %%rdx, %%rax\n\t" \
39
    "add                  %%rax, %%rsi\n\t"
39
    "add                  %%rax, %%rsi\n\t"
40
40
41
#define FIRMULREG(label, offset, firc)\
42
    LABEL_MANGLE(label)":       \n\t" \
43
    "movslq "#offset"(%0), %%rax\n\t" \
44
    "imul        %"#firc", %%rax\n\t" \
45
    "add            %%rax, %%rsi\n\t"
46
47
#define CLEAR_ACCUM                   \
41
#define CLEAR_ACCUM                   \
48
    "xor            %%rsi, %%rsi\n\t"
42
    "xor            %%rsi, %%rsi\n\t"
49
43
Lines 63-71 Link Here
63
    "add                %%eax , %%esi\n\t" \
57
    "add                %%eax , %%esi\n\t" \
64
    "adc                %%edx , %%ecx\n\t"
58
    "adc                %%edx , %%ecx\n\t"
65
59
66
#define FIRMULREG(label, offset, firc)  \
67
    MLPMUL(label, #offset, "0", "0")
68
69
#define CLEAR_ACCUM                  \
60
#define CLEAR_ACCUM                  \
70
    "xor           %%esi, %%esi\n\t" \
61
    "xor           %%esi, %%esi\n\t" \
71
    "xor           %%ecx, %%ecx\n\t"
62
    "xor           %%ecx, %%ecx\n\t"
Lines 108-116 Link Here
108
        FIRMUL   (ff_mlp_firorder_6, 0x14   )
99
        FIRMUL   (ff_mlp_firorder_6, 0x14   )
109
        FIRMUL   (ff_mlp_firorder_5, 0x10   )
100
        FIRMUL   (ff_mlp_firorder_5, 0x10   )
110
        FIRMUL   (ff_mlp_firorder_4, 0x0c   )
101
        FIRMUL   (ff_mlp_firorder_4, 0x0c   )
111
        FIRMULREG(ff_mlp_firorder_3, 0x08,10)
102
        FIRMUL   (ff_mlp_firorder_3, 0x08   )
112
        FIRMULREG(ff_mlp_firorder_2, 0x04, 9)
103
        FIRMUL   (ff_mlp_firorder_2, 0x04   )
113
        FIRMULREG(ff_mlp_firorder_1, 0x00, 8)
104
        FIRMUL   (ff_mlp_firorder_1, 0x00   )
114
        LABEL_MANGLE(ff_mlp_firorder_0)":\n\t"
105
        LABEL_MANGLE(ff_mlp_firorder_0)":\n\t"
115
        "jmp  *%6                     \n\t"
106
        "jmp  *%6                     \n\t"
116
        IIRMUL   (ff_mlp_iirorder_4, 0x0c   )
107
        IIRMUL   (ff_mlp_iirorder_4, 0x0c   )
Lines 137-145 Link Here
137
          /* 3*/"+r"(blocksize)
128
          /* 3*/"+r"(blocksize)
138
        : /* 4*/"r"((x86_reg)mask), /* 5*/"r"(firjump),
129
        : /* 4*/"r"((x86_reg)mask), /* 5*/"r"(firjump),
139
          /* 6*/"r"(iirjump)      , /* 7*/"c"(filter_shift)
130
          /* 6*/"r"(iirjump)      , /* 7*/"c"(filter_shift)
140
        , /* 8*/"r"((int64_t)coeff[0])
141
        , /* 9*/"r"((int64_t)coeff[1])
142
        , /*10*/"r"((int64_t)coeff[2])
143
        : "rax", "rdx", "rsi"
131
        : "rax", "rdx", "rsi"
144
#else /* ARCH_X86_32 */
132
#else /* ARCH_X86_32 */
145
          /* 3*/"+m"(blocksize)
133
          /* 3*/"+m"(blocksize)

Return to bug 471756