20 static inline void _transp(
u32 d[],
unsigned int i1,
unsigned int i2,
23 u32 t = (d[i1] ^ (d[i2] >> shift)) &
mask;
32 static inline u32 get_mask(
unsigned int n)
60 static inline void transp8(
u32 d[],
unsigned int n,
unsigned int m)
67 _transp(d, 0, 1, n, mask);
69 _transp(d, 2, 3, n, mask);
71 _transp(d, 4, 5, n, mask);
73 _transp(d, 6, 7, n, mask);
78 _transp(d, 0, 2, n, mask);
79 _transp(d, 1, 3, n, mask);
81 _transp(d, 4, 6, n, mask);
82 _transp(d, 5, 7, n, mask);
87 _transp(d, 0, 4, n, mask);
88 _transp(d, 1, 5, n, mask);
89 _transp(d, 2, 6, n, mask);
90 _transp(d, 3, 7, n, mask);
102 static inline void transp4(
u32 d[],
unsigned int n,
unsigned int m)
104 u32 mask = get_mask(n);
109 _transp(d, 0, 1, n, mask);
111 _transp(d, 2, 3, n, mask);
116 _transp(d, 0, 2, n, mask);
117 _transp(d, 1, 3, n, mask);
129 static inline void transp4x(
u32 d[],
unsigned int n,
unsigned int m)
131 u32 mask = get_mask(n);
136 _transp(d, 2, 0, n, mask);
137 _transp(d, 3, 1, n, mask);
152 return ((a ^ b) & mask) ^
b;