| 126 | */ |
| 127 | |
| 128 | inline static void transform(uint32_t digest[], uint32_t block[BLOCK_INTS], uint64_t &transforms) |
| 129 | { |
| 130 | /* Copy digest[] to working vars */ |
| 131 | uint32_t a = digest[0]; |
| 132 | uint32_t b = digest[1]; |
| 133 | uint32_t c = digest[2]; |
| 134 | uint32_t d = digest[3]; |
| 135 | uint32_t e = digest[4]; |
| 136 | |
| 137 | /* 4 rounds of 20 operations each. Loop unrolled. */ |
| 138 | R0(block, a, b, c, d, e, 0); |
| 139 | R0(block, e, a, b, c, d, 1); |
| 140 | R0(block, d, e, a, b, c, 2); |
| 141 | R0(block, c, d, e, a, b, 3); |
| 142 | R0(block, b, c, d, e, a, 4); |
| 143 | R0(block, a, b, c, d, e, 5); |
| 144 | R0(block, e, a, b, c, d, 6); |
| 145 | R0(block, d, e, a, b, c, 7); |
| 146 | R0(block, c, d, e, a, b, 8); |
| 147 | R0(block, b, c, d, e, a, 9); |
| 148 | R0(block, a, b, c, d, e, 10); |
| 149 | R0(block, e, a, b, c, d, 11); |
| 150 | R0(block, d, e, a, b, c, 12); |
| 151 | R0(block, c, d, e, a, b, 13); |
| 152 | R0(block, b, c, d, e, a, 14); |
| 153 | R0(block, a, b, c, d, e, 15); |
| 154 | R1(block, e, a, b, c, d, 0); |
| 155 | R1(block, d, e, a, b, c, 1); |
| 156 | R1(block, c, d, e, a, b, 2); |
| 157 | R1(block, b, c, d, e, a, 3); |
| 158 | R2(block, a, b, c, d, e, 4); |
| 159 | R2(block, e, a, b, c, d, 5); |
| 160 | R2(block, d, e, a, b, c, 6); |
| 161 | R2(block, c, d, e, a, b, 7); |
| 162 | R2(block, b, c, d, e, a, 8); |
| 163 | R2(block, a, b, c, d, e, 9); |
| 164 | R2(block, e, a, b, c, d, 10); |
| 165 | R2(block, d, e, a, b, c, 11); |
| 166 | R2(block, c, d, e, a, b, 12); |
| 167 | R2(block, b, c, d, e, a, 13); |
| 168 | R2(block, a, b, c, d, e, 14); |
| 169 | R2(block, e, a, b, c, d, 15); |
| 170 | R2(block, d, e, a, b, c, 0); |
| 171 | R2(block, c, d, e, a, b, 1); |
| 172 | R2(block, b, c, d, e, a, 2); |
| 173 | R2(block, a, b, c, d, e, 3); |
| 174 | R2(block, e, a, b, c, d, 4); |
| 175 | R2(block, d, e, a, b, c, 5); |
| 176 | R2(block, c, d, e, a, b, 6); |
| 177 | R2(block, b, c, d, e, a, 7); |
| 178 | R3(block, a, b, c, d, e, 8); |
| 179 | R3(block, e, a, b, c, d, 9); |
| 180 | R3(block, d, e, a, b, c, 10); |
| 181 | R3(block, c, d, e, a, b, 11); |
| 182 | R3(block, b, c, d, e, a, 12); |
| 183 | R3(block, a, b, c, d, e, 13); |
| 184 | R3(block, e, a, b, c, d, 14); |
| 185 | R3(block, d, e, a, b, c, 15); |
no test coverage detected