|
129 | 129 | movzbl RW0bl, RT2d; \ |
130 | 130 | movzbl RW0bh, RT3d; \ |
131 | 131 | shrq $16, RW0; \ |
132 | | - movq s8(, RT0, 8), RT0; \ |
133 | | - xorq s6(, RT1, 8), to; \ |
| 132 | + leaq s8(%rip), RW1; \ |
| 133 | + movq (RW1, RT0, 8), RT0; \ |
| 134 | + leaq s6(%rip), RW1; \ |
| 135 | + xorq (RW1, RT1, 8), to; \ |
134 | 136 | movzbl RW0bl, RL1d; \ |
135 | 137 | movzbl RW0bh, RT1d; \ |
136 | 138 | shrl $16, RW0d; \ |
137 | | - xorq s4(, RT2, 8), RT0; \ |
138 | | - xorq s2(, RT3, 8), to; \ |
| 139 | + leaq s4(%rip), RW1; \ |
| 140 | + xorq (RW1, RT2, 8), RT0; \ |
| 141 | + leaq s2(%rip), RW1; \ |
| 142 | + xorq (RW1, RT3, 8), to; \ |
139 | 143 | movzbl RW0bl, RT2d; \ |
140 | 144 | movzbl RW0bh, RT3d; \ |
141 | | - xorq s7(, RL1, 8), RT0; \ |
142 | | - xorq s5(, RT1, 8), to; \ |
143 | | - xorq s3(, RT2, 8), RT0; \ |
| 145 | + leaq s7(%rip), RW1; \ |
| 146 | + xorq (RW1, RL1, 8), RT0; \ |
| 147 | + leaq s5(%rip), RW1; \ |
| 148 | + xorq (RW1, RT1, 8), to; \ |
| 149 | + leaq s3(%rip), RW1; \ |
| 150 | + xorq (RW1, RT2, 8), RT0; \ |
144 | 151 | load_next_key(n, RW0); \ |
145 | 152 | xorq RT0, to; \ |
146 | | - xorq s1(, RT3, 8), to; \ |
| 153 | + leaq s1(%rip), RW1; \ |
| 154 | + xorq (RW1, RT3, 8), to; \ |
147 | 155 |
|
148 | 156 | #define load_next_key(n, RWx) \ |
149 | 157 | movq (((n) + 1) * 8)(CTX), RWx; |
@@ -355,65 +363,89 @@ SYM_FUNC_END(des3_ede_x86_64_crypt_blk) |
355 | 363 | movzbl RW0bl, RT3d; \ |
356 | 364 | movzbl RW0bh, RT1d; \ |
357 | 365 | shrq $16, RW0; \ |
358 | | - xorq s8(, RT3, 8), to##0; \ |
359 | | - xorq s6(, RT1, 8), to##0; \ |
| 366 | + leaq s8(%rip), RT2; \ |
| 367 | + xorq (RT2, RT3, 8), to##0; \ |
| 368 | + leaq s6(%rip), RT2; \ |
| 369 | + xorq (RT2, RT1, 8), to##0; \ |
360 | 370 | movzbl RW0bl, RT3d; \ |
361 | 371 | movzbl RW0bh, RT1d; \ |
362 | 372 | shrq $16, RW0; \ |
363 | | - xorq s4(, RT3, 8), to##0; \ |
364 | | - xorq s2(, RT1, 8), to##0; \ |
| 373 | + leaq s4(%rip), RT2; \ |
| 374 | + xorq (RT2, RT3, 8), to##0; \ |
| 375 | + leaq s2(%rip), RT2; \ |
| 376 | + xorq (RT2, RT1, 8), to##0; \ |
365 | 377 | movzbl RW0bl, RT3d; \ |
366 | 378 | movzbl RW0bh, RT1d; \ |
367 | 379 | shrl $16, RW0d; \ |
368 | | - xorq s7(, RT3, 8), to##0; \ |
369 | | - xorq s5(, RT1, 8), to##0; \ |
| 380 | + leaq s7(%rip), RT2; \ |
| 381 | + xorq (RT2, RT3, 8), to##0; \ |
| 382 | + leaq s5(%rip), RT2; \ |
| 383 | + xorq (RT2, RT1, 8), to##0; \ |
370 | 384 | movzbl RW0bl, RT3d; \ |
371 | 385 | movzbl RW0bh, RT1d; \ |
372 | 386 | load_next_key(n, RW0); \ |
373 | | - xorq s3(, RT3, 8), to##0; \ |
374 | | - xorq s1(, RT1, 8), to##0; \ |
| 387 | + leaq s3(%rip), RT2; \ |
| 388 | + xorq (RT2, RT3, 8), to##0; \ |
| 389 | + leaq s1(%rip), RT2; \ |
| 390 | + xorq (RT2, RT1, 8), to##0; \ |
375 | 391 | xorq from##1, RW1; \ |
376 | 392 | movzbl RW1bl, RT3d; \ |
377 | 393 | movzbl RW1bh, RT1d; \ |
378 | 394 | shrq $16, RW1; \ |
379 | | - xorq s8(, RT3, 8), to##1; \ |
380 | | - xorq s6(, RT1, 8), to##1; \ |
| 395 | + leaq s8(%rip), RT2; \ |
| 396 | + xorq (RT2, RT3, 8), to##1; \ |
| 397 | + leaq s6(%rip), RT2; \ |
| 398 | + xorq (RT2, RT1, 8), to##1; \ |
381 | 399 | movzbl RW1bl, RT3d; \ |
382 | 400 | movzbl RW1bh, RT1d; \ |
383 | 401 | shrq $16, RW1; \ |
384 | | - xorq s4(, RT3, 8), to##1; \ |
385 | | - xorq s2(, RT1, 8), to##1; \ |
| 402 | + leaq s4(%rip), RT2; \ |
| 403 | + xorq (RT2, RT3, 8), to##1; \ |
| 404 | + leaq s2(%rip), RT2; \ |
| 405 | + xorq (RT2, RT1, 8), to##1; \ |
386 | 406 | movzbl RW1bl, RT3d; \ |
387 | 407 | movzbl RW1bh, RT1d; \ |
388 | 408 | shrl $16, RW1d; \ |
389 | | - xorq s7(, RT3, 8), to##1; \ |
390 | | - xorq s5(, RT1, 8), to##1; \ |
| 409 | + leaq s7(%rip), RT2; \ |
| 410 | + xorq (RT2, RT3, 8), to##1; \ |
| 411 | + leaq s5(%rip), RT2; \ |
| 412 | + xorq (RT2, RT1, 8), to##1; \ |
391 | 413 | movzbl RW1bl, RT3d; \ |
392 | 414 | movzbl RW1bh, RT1d; \ |
393 | 415 | do_movq(RW0, RW1); \ |
394 | | - xorq s3(, RT3, 8), to##1; \ |
395 | | - xorq s1(, RT1, 8), to##1; \ |
| 416 | + leaq s3(%rip), RT2; \ |
| 417 | + xorq (RT2, RT3, 8), to##1; \ |
| 418 | + leaq s1(%rip), RT2; \ |
| 419 | + xorq (RT2, RT1, 8), to##1; \ |
396 | 420 | xorq from##2, RW2; \ |
397 | 421 | movzbl RW2bl, RT3d; \ |
398 | 422 | movzbl RW2bh, RT1d; \ |
399 | 423 | shrq $16, RW2; \ |
400 | | - xorq s8(, RT3, 8), to##2; \ |
401 | | - xorq s6(, RT1, 8), to##2; \ |
| 424 | + leaq s8(%rip), RT2; \ |
| 425 | + xorq (RT2, RT3, 8), to##2; \ |
| 426 | + leaq s6(%rip), RT2; \ |
| 427 | + xorq (RT2, RT1, 8), to##2; \ |
402 | 428 | movzbl RW2bl, RT3d; \ |
403 | 429 | movzbl RW2bh, RT1d; \ |
404 | 430 | shrq $16, RW2; \ |
405 | | - xorq s4(, RT3, 8), to##2; \ |
406 | | - xorq s2(, RT1, 8), to##2; \ |
| 431 | + leaq s4(%rip), RT2; \ |
| 432 | + xorq (RT2, RT3, 8), to##2; \ |
| 433 | + leaq s2(%rip), RT2; \ |
| 434 | + xorq (RT2, RT1, 8), to##2; \ |
407 | 435 | movzbl RW2bl, RT3d; \ |
408 | 436 | movzbl RW2bh, RT1d; \ |
409 | 437 | shrl $16, RW2d; \ |
410 | | - xorq s7(, RT3, 8), to##2; \ |
411 | | - xorq s5(, RT1, 8), to##2; \ |
| 438 | + leaq s7(%rip), RT2; \ |
| 439 | + xorq (RT2, RT3, 8), to##2; \ |
| 440 | + leaq s5(%rip), RT2; \ |
| 441 | + xorq (RT2, RT1, 8), to##2; \ |
412 | 442 | movzbl RW2bl, RT3d; \ |
413 | 443 | movzbl RW2bh, RT1d; \ |
414 | 444 | do_movq(RW0, RW2); \ |
415 | | - xorq s3(, RT3, 8), to##2; \ |
416 | | - xorq s1(, RT1, 8), to##2; |
| 445 | + leaq s3(%rip), RT2; \ |
| 446 | + xorq (RT2, RT3, 8), to##2; \ |
| 447 | + leaq s1(%rip), RT2; \ |
| 448 | + xorq (RT2, RT1, 8), to##2; |
417 | 449 |
|
418 | 450 | #define __movq(src, dst) \ |
419 | 451 | movq src, dst; |
|
0 commit comments