+ const u32x k = (a ^ v) & 0xff;
+
+ const u32x s = a >> 8;
+
+ #if VECT_SIZE == 1
+ a = (u32x) crc32tab[k];
+ #elif VECT_SIZE == 2
+ a = (u32x) (crc32tab[k.s0], crc32tab[k.s1]);
+ #elif VECT_SIZE == 4
+ a = (u32x) (crc32tab[k.s0], crc32tab[k.s1], crc32tab[k.s2], crc32tab[k.s3]);
+ #elif VECT_SIZE == 8
+ a = (u32x) (crc32tab[k.s0], crc32tab[k.s1], crc32tab[k.s2], crc32tab[k.s3], crc32tab[k.s4], crc32tab[k.s5], crc32tab[k.s6], crc32tab[k.s7]);
+ #elif VECT_SIZE == 16
+ a = (u32x) (crc32tab[k.s0], crc32tab[k.s1], crc32tab[k.s2], crc32tab[k.s3], crc32tab[k.s4], crc32tab[k.s5], crc32tab[k.s6], crc32tab[k.s7], crc32tab[k.s8], crc32tab[k.s9], crc32tab[k.sa], crc32tab[k.sb], crc32tab[k.sc], crc32tab[k.sd], crc32tab[k.se], crc32tab[k.sf]);
+ #endif