#define XPROD31_R(_a, _b, _t, _v, _x, _y)\ {\ asm volatile ("mac.l %[a], %[t], %%acc0;"\ "mac.l %[b], %[v], %%acc0;"\ "mac.l %[b], %[t], %%acc1;"\ "msac.l %[a], %[v], %%acc1;"\ "movclr.l %%acc0, %[a];"\ "move.l %[a], (%[x]);"\ "movclr.l %%acc1, %[a];"\ "move.l %[a], (%[y]);"\ : [a] "+&r" (_a)\ : [x] "a" (_x), [y] "a" (_y),\ [b] "r" (_b), [t] "r" (_t), [v] "r" (_v)\ : "cc", "memory");\ }\