-void blake_small_g(uint8_t r, uint8_t i, uint32_t* v, const uint32_t* m){
- uint8_t a,b,c,d, s0, s1;
- a = pgm_read_byte(blake_index_lut+4*i+0);
- b = pgm_read_byte(blake_index_lut+4*i+1);
- c = pgm_read_byte(blake_index_lut+4*i+2);
- d = pgm_read_byte(blake_index_lut+4*i+3);
- s0 = pgm_read_byte(blake_sigma+16*r+2*i+0);
- s1 = pgm_read_byte(blake_sigma+16*r+2*i+1);
- v[a] += v[b] + (m[s0] ^ pgm_read_dword(&(blake_c[s1])));
- v[d] = ROTR32(v[d]^v[a], 16);
- v[c] += v[d];
- v[b] = ROTR32(v[b]^v[c], 12);
- v[a] += v[b] + (m[s1] ^ pgm_read_dword(&(blake_c[s0])));
- v[d] = ROTR32(v[d]^v[a], 8);
- v[c] += v[d];
- v[b] = ROTR32(v[b]^v[c], 7);
-
-}
-