INNER CODE UNIT · C
operation
aegis-aead/libaegis · src/aegis128l/aegis128l_neon_sha3.c:90
operation == AEGIS_BULK_STREAM ? vmovq_n_u8(0) : AES_BLOCK_LOAD(src + i + 16);
for (j = 0; j < 8; j++) {
const size_t prev = (j + 7) % 8;
if (complemented && (prev == 3 || prev == 7)) {
r[j] = vaesmcq_u8(vaeseq_u8(x[prev], vmovq_n_u8(255)));
} else if (split & (1U << prev)) {
r[j] = vaesmcq_u8(vaeseq_u8(x[prev], y[prev]));
} else {
r[j] = vaesmcq_u8(vaeseq_u8(vmovq_n_u8(0), x[prev]));
}
}
for (j = 0; j < 8; j++) {
if (split & (1U << j)) {
x[j] = AES_BLOCK_XOR(x[j], y[j]);
}
}