> > + const size_t num = ctx->num % POLY1305_BLOCK_SIZE; > 0 <= ctx->num < POLY1305_BLOCK_SIZE, so no need to mod by POLY1305_BLOCK_SIZE. > > + size_t num = ctx->num % POLY1305_BLOCK_SIZE; > Same here. I know, but I was having a hard time convincing gcc-8 of that invariant, and it was warning me. Perhaps this is something they fixed, though, between 8.1 and 8.2 though. I'll check back and adjust accordingly.