|
Lines 176-183
static int rc4test_amd64_sse2(uint8_t *key, int keylen, uint8_t *iv, uint8_t *ke
Link Here
|
| 176 |
// key = keybuf |
176 |
// key = keybuf |
| 177 |
"lea "keybuf", %q3 \n\t" |
177 |
"lea "keybuf", %q3 \n\t" |
| 178 |
// load xmm registers |
178 |
// load xmm registers |
| 179 |
"movdqa (x0123), %%xmm0 \n\t" |
179 |
"movdqa %q9, %%xmm0 \n\t" |
| 180 |
"movdqa (x4444), %%xmm1 \n\t" |
180 |
"movdqa %q10, %%xmm1 \n\t" |
| 181 |
// clear some registers |
181 |
// clear some registers |
| 182 |
"xorq %q0, %q0 \n\t" // idx |
182 |
"xorq %q0, %q0 \n\t" // idx |
| 183 |
"xorq %q1, %q1 \n\t" // i |
183 |
"xorq %q1, %q1 \n\t" // i |
|
Lines 257-263
static int rc4test_amd64_sse2(uint8_t *key, int keylen, uint8_t *iv, uint8_t *ke
Link Here
|
| 257 |
: "=&r"(idx), "=&r"(i), "=&r"(j), |
257 |
: "=&r"(idx), "=&r"(i), "=&r"(j), |
| 258 |
"+r"(key), "+r"(keylen), "+r"(iv), "+r"(keystream), |
258 |
"+r"(key), "+r"(keylen), "+r"(iv), "+r"(keystream), |
| 259 |
"=&r"(scratch1), "=&r"(scratch2) |
259 |
"=&r"(scratch1), "=&r"(scratch2) |
| 260 |
: |
260 |
: "m"(x0123), "m"(x4444) |
| 261 |
: "xmm0", "xmm1" |
261 |
: "xmm0", "xmm1" |
| 262 |
); |
262 |
); |
| 263 |
#undef state |
263 |
#undef state |
| 264 |
- |
|
|