be128
be128 lengths;
be128 lengths;
static void ghash_reflect(u64 h[], const be128 *k)
be128 h, k;
be128 lengths;
be128 lengths;
be128 k;
static void ghash_reflect(u64 h[], const be128 *k)
be128 h;
be128 __aligned(8) lengths;
be128 *consts = (be128 *)ctx->consts;
static const u8 x_to_the_minus1[16] __aligned(__alignof__(be128)) = {
static const u8 x_to_the_63[16] __aligned(__alignof__(be128)) = {
be128 h1 = {};
be128 h;
gf128mul_lle(&h, (const be128 *)x_to_the_minus1);
gf128mul_lle(&h1, (const be128 *)x_to_the_63);
be128 t = rctx->t;
const be128 *wsrc;
be128 *wdst;
(__alignof__(be128) - 1);
be128 mulinc[128];
be128 t;
be128 tmp = { 0 };
ctx->table = gf128mul_init_64k_bbe((be128 *)tweak);
static inline void be128_xor(be128 *r, const be128 *p, const be128 *q)
void gf128mul_lle(be128 *a, const be128 *b);
static inline void gf128mul_x_lle(be128 *r, const be128 *x)
static inline void gf128mul_x_bbe(be128 *r, const be128 *x)
be128 t[256];
struct gf128mul_64k *gf128mul_init_64k_bbe(const be128 *g);
void gf128mul_64k_bbe(be128 *a, const struct gf128mul_64k *t);
static void gf128mul_x8_lle_ti(be128 *x)
static void gf128mul_x8_bbe(be128 *x)
void gf128mul_lle(be128 *r, const be128 *b)
be128 array[16 + 3] = {};
be128 *p = PTR_ALIGN(&array[0], 2 * sizeof(be128));
struct gf128mul_64k *gf128mul_init_64k_bbe(const be128 *g)
void gf128mul_64k_bbe(be128 *a, const struct gf128mul_64k *t)
be128 r[1];