static inline void do_recursion(w128_t *r, w128_t *a, w128_t * b, w128_t * lung) { const vector unsigned char sl1 = ALTI_SL1; const vector unsigned char sl1_perm = ALTI_SL1_PERM; const vector unsigned int sl1_msk = ALTI_SL1_MSK; const vector unsigned char sr1 = ALTI_SR; const vector unsigned char sr1_perm = ALTI_SR_PERM; const vector unsigned int sr1_msk = ALTI_SR_MSK; const vector unsigned char perm = ALTI_PERM; const vector unsigned int msk1 = ALTI_MSK; vector unsigned int z = a->s; vector unsigned int w = lung->s; vector unsigned int x = vec_perm(w, (vector unsigned int)perm, perm); vector unsigned int y = vec_perm(z, (vector unsigned int)sl1_perm, sl1_perm); y = vec_sll(y, sl1); y = vec_and(y, sl1_msk); w = vec_xor(x, b->s); w = vec_xor(w, y); x = vec_perm(w, (vector unsigned int)sr1_perm, sr1_perm); x = vec_srl(x, sr1); x = vec_and(x, sr1_msk); y = vec_and(w, msk1); z = vec_xor(z, y); r->s = vec_xor(z, x); lung->s = w; }
vector bool long long test_sll_vbll_vbll_vus (vector bool long long x, vector unsigned short y) { return vec_sll (x, y); }
vector bool long long test_sll_vbll_vbll_vull (vector bool long long x, vector unsigned long long y) { return vec_sll (x, y); }
vector bool long long test_sll_vbll_vbll_vuc (vector bool long long x, vector unsigned char y) { return vec_sll (x, y); }
vector unsigned int long long test_sll_vuill_vuill_vuc (vector unsigned long long int x, vector unsigned char y) { return vec_sll (x, y); }