--- /dev/null
+f(short *samples, int *volumes, unsigned channels, unsigned length)
+{
+ long channel, temp;
+ asm volatile("sub %5, %4"
+ : "+r"(samples), "+r"(volumes), "+r"(length),
+ "=D"((long) channel), "=&r"(temp)
+ : "rm"((long) channels)
+ : "cc");
+}