Unroll accumulator loops

Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
This commit is contained in:
Jasmine Iwanek
2024-07-09 22:40:24 -04:00
parent 39e6b0fb2a
commit e6466c4d25

View File

@@ -1277,7 +1277,6 @@ nuked_generate(void *priv, int32_t *bufp)
int16_t accm; int16_t accm;
int16_t shift = 0; int16_t shift = 0;
uint8_t i; uint8_t i;
uint8_t j;
bufp[1] = dev->mixbuff[1]; bufp[1] = dev->mixbuff[1];
@@ -1294,9 +1293,7 @@ nuked_generate(void *priv, int32_t *bufp)
for (i = 0; i < 18; i++) { for (i = 0; i < 18; i++) {
ch = &dev->chan[i]; ch = &dev->chan[i];
out = ch->out; out = ch->out;
for (j = 0; j < 4; j++) accm = *out[0] + *out[1] + *out[2] + *out[3];
accm += *out[j];
mix += (int16_t) (accm & ch->cha); mix += (int16_t) (accm & ch->cha);
} }
@@ -1325,11 +1322,7 @@ nuked_generate(void *priv, int32_t *bufp)
for (i = 0; i < 18; i++) { for (i = 0; i < 18; i++) {
ch = &dev->chan[i]; ch = &dev->chan[i];
out = ch->out; out = ch->out;
accm = 0; accm = *out[0] + *out[1] + *out[2] + *out[3];
for (j = 0; j < 4; j++)
accm += *out[j];
mix += (int16_t) (accm & ch->chb); mix += (int16_t) (accm & ch->chb);
} }