|
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