PUTU32
PUTU32(out, s0);
PUTU32(out + 4, s1);
PUTU32(out + 8, s2);
PUTU32(out + 12, s3);
PUTU32(out, s0);
PUTU32(out + 4, s1);
PUTU32(out + 8, s2);
PUTU32(out + 12, s3);
#if !defined(GETU32) && !defined(PUTU32)
PUTU32(ciphertext, s2);
PUTU32(ciphertext + 4, s3);
PUTU32(ciphertext + 8, s0);
PUTU32(ciphertext + 12, s1);
PUTU32(plaintext, s2);
PUTU32(plaintext+4, s3);
PUTU32(plaintext+8, s0);
PUTU32(plaintext+12, s1);
PUTU32(ivec+12,ctr32);
PUTU32(ivec+12,ctr32);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
v = (u32)(Z.hi>>32); PUTU32(p,v);
v = (u32)(Z.hi); PUTU32(p+4,v);
v = (u32)(Z.lo>>32); PUTU32(p+8,v);
v = (u32)(Z.lo); PUTU32(p+12,v);
v = (u32)(Z.hi>>32); PUTU32(p,v);
v = (u32)(Z.hi); PUTU32(p+4,v);
v = (u32)(Z.lo>>32); PUTU32(p+8,v);
v = (u32)(Z.lo); PUTU32(p+12,v);
v = (u32)(Z.hi>>32); PUTU32(p,v);
v = (u32)(Z.hi); PUTU32(p+4,v);
v = (u32)(Z.lo>>32); PUTU32(p+8,v);
v = (u32)(Z.lo); PUTU32(p+12,v);
v = (u32)(Z.hi>>32); PUTU32(p,v);
v = (u32)(Z.hi); PUTU32(p+4,v);
v = (u32)(Z.lo>>32); PUTU32(p+8,v);
v = (u32)(Z.lo); PUTU32(p+12,v);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(ctx->Yi.c+12,ctr);
PUTU32(pt , s0);
PUTU32(pt + 4, s1);
PUTU32(pt + 8, s2);
PUTU32(pt + 12, s3);
PUTU32(ct , s0);
PUTU32(ct + 4, s1);
PUTU32(ct + 8, s2);
PUTU32(ct + 12, s3);
PUTU32(ciphertext, tmp[0]);
PUTU32(ciphertext+4, tmp[1]);
PUTU32(ciphertext+8, tmp[2]);
PUTU32(ciphertext+12, tmp[3]);
PUTU32(plaintext, tmp[0]);
PUTU32(plaintext+4, tmp[1]);
PUTU32(plaintext+8, tmp[2]);
PUTU32(plaintext+12, tmp[3]);
PUTU32(ct , s0);
PUTU32(ct + 4, s1);
PUTU32(ct + 8, s2);
PUTU32(ct + 12, s3);
PUTU32(pt , s0);
PUTU32(pt + 4, s1);
PUTU32(pt + 8, s2);
PUTU32(pt + 12, s3);