- t = ktab;
- if (p->f&GCMF_SWAP) {
- while (n >= 2) {
- t[1] = ENDSWAP32(k[0]); t[0] = ENDSWAP32(k[1]);
- t += 2; k += 2; n -= 2;
- }
- if (n) { t[1] = ENDSWAP32(k[0]); t[0] = 0; }
- } else {
- while (n >= 2) {
- t[1] = k[0]; t[0] = k[1];
- t += 2; k += 2; n -= 2;
- }
- if (n) { t[1] = k[0]; t[0] = 0; }
+ if (!(p->f&GCMF_SWAP)) divt(p, k_over_t, k);
+ else {
+ for (i = 0; i < n; i++) k_over_t[i] = ENDSWAP32(k[i]);
+ divt(p, k_over_t, k_over_t);
+ }
+
+ t = ktab; k = k_over_t;
+ while (n >= 2) {
+ t[1] = k[0]; t[0] = k[1];
+ t += 2; k += 2; n -= 2;