- { \
- uint32 iv[PRE##_BLKSZ / 4]; \
- BLKC_LOAD(PRE, iv, ctx->iv); \
- \
- for (;;) { \
- uint32 x[PRE##_BLKSZ / 4]; \
- pre##_eblk(&ctx->ctx, iv, iv); \
- if (sz < PRE##_BLKSZ) \
- break; \
- BLKC_LOAD(PRE, x, s); \
- BLKC_XSTORE(PRE, d, iv, x); \
- BLKC_MOVE(PRE, iv, x); \
- s += PRE##_BLKSZ; \
- d += PRE##_BLKSZ; \
- sz -= PRE##_BLKSZ; \
- } \
- off = 0; \
- BLKC_STORE(PRE, ctx->iv, iv); \
+ BLKC_LOAD(PRE, t, ctx->b); \
+ \
+ for (;;) { \
+ pre##_eblk(&ctx->ctx, t, t); \
+ if (sz < PRE##_BLKSZ) break; \
+ BLKC_LOAD(PRE, u, s); s += PRE##_BLKSZ; \
+ BLKC_XSTORE(PRE, d, t, u); d += PRE##_BLKSZ; \
+ BLKC_MOVE(PRE, t, u); \
+ sz -= PRE##_BLKSZ; \