Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: x86/aegis128 - remove unneeded FRAME_BEGIN and FRAME_END

Stop using FRAME_BEGIN and FRAME_END in the AEGIS assembly functions,
since all these functions are now leaf functions. This eliminates some
unnecessary instructions.

Reviewed-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Eric Biggers and committed by
Herbert Xu
a09be035 a0927a03

-34
-34
arch/x86/crypto/aegis128-aesni-asm.S
··· 8 8 */ 9 9 10 10 #include <linux/linkage.h> 11 - #include <asm/frame.h> 12 11 13 12 #define STATE0 %xmm0 14 13 #define STATE1 %xmm1 ··· 145 146 .set STATEP, %rdi 146 147 .set KEYP, %rsi 147 148 .set IVP, %rdx 148 - FRAME_BEGIN 149 149 150 150 /* load IV: */ 151 151 movdqu (IVP), T1 ··· 180 182 movdqu STATE2, 0x20(STATEP) 181 183 movdqu STATE3, 0x30(STATEP) 182 184 movdqu STATE4, 0x40(STATEP) 183 - 184 - FRAME_END 185 185 RET 186 186 SYM_FUNC_END(aegis128_aesni_init) 187 187 ··· 193 197 .set STATEP, %rdi 194 198 .set SRC, %rsi 195 199 .set LEN, %edx 196 - FRAME_BEGIN 197 200 198 201 test LEN, LEN 199 202 jz .Lad_out ··· 246 251 movdqu STATE2, 0x20(STATEP) 247 252 movdqu STATE3, 0x30(STATEP) 248 253 movdqu STATE4, 0x40(STATEP) 249 - FRAME_END 250 254 RET 251 255 252 256 .Lad_out_1: ··· 254 260 movdqu STATE1, 0x20(STATEP) 255 261 movdqu STATE2, 0x30(STATEP) 256 262 movdqu STATE3, 0x40(STATEP) 257 - FRAME_END 258 263 RET 259 264 260 265 .Lad_out_2: ··· 262 269 movdqu STATE0, 0x20(STATEP) 263 270 movdqu STATE1, 0x30(STATEP) 264 271 movdqu STATE2, 0x40(STATEP) 265 - FRAME_END 266 272 RET 267 273 268 274 .Lad_out_3: ··· 270 278 movdqu STATE4, 0x20(STATEP) 271 279 movdqu STATE0, 0x30(STATEP) 272 280 movdqu STATE1, 0x40(STATEP) 273 - FRAME_END 274 281 RET 275 282 276 283 .Lad_out_4: ··· 278 287 movdqu STATE3, 0x20(STATEP) 279 288 movdqu STATE4, 0x30(STATEP) 280 289 movdqu STATE0, 0x40(STATEP) 281 - FRAME_END 282 290 RET 283 291 284 292 .Lad_out: 285 - FRAME_END 286 293 RET 287 294 SYM_FUNC_END(aegis128_aesni_ad) 288 295 ··· 312 323 .set SRC, %rsi 313 324 .set DST, %rdx 314 325 .set LEN, %ecx 315 - FRAME_BEGIN 316 326 317 327 /* load the state: */ 318 328 movdqu 0x00(STATEP), STATE0 ··· 339 351 movdqu STATE1, 0x20(STATEP) 340 352 movdqu STATE2, 0x30(STATEP) 341 353 movdqu STATE3, 0x40(STATEP) 342 - FRAME_END 343 354 RET 344 355 345 356 .Lenc_out_1: ··· 347 360 movdqu STATE0, 0x20(STATEP) 348 361 movdqu STATE1, 0x30(STATEP) 349 362 movdqu STATE2, 0x40(STATEP) 350 - FRAME_END 351 363 RET 352 364 353 365 .Lenc_out_2: ··· 355 369 movdqu STATE4, 0x20(STATEP) 356 370 movdqu STATE0, 0x30(STATEP) 357 371 movdqu STATE1, 0x40(STATEP) 358 - FRAME_END 359 372 RET 360 373 361 374 .Lenc_out_3: ··· 363 378 movdqu STATE3, 0x20(STATEP) 364 379 movdqu STATE4, 0x30(STATEP) 365 380 movdqu STATE0, 0x40(STATEP) 366 - FRAME_END 367 381 RET 368 382 369 383 .Lenc_out_4: ··· 371 387 movdqu STATE2, 0x20(STATEP) 372 388 movdqu STATE3, 0x30(STATEP) 373 389 movdqu STATE4, 0x40(STATEP) 374 - FRAME_END 375 390 RET 376 391 377 392 .Lenc_out: 378 - FRAME_END 379 393 RET 380 394 SYM_FUNC_END(aegis128_aesni_enc) 381 395 ··· 386 404 .set SRC, %rsi 387 405 .set DST, %rdx 388 406 .set LEN, %ecx /* {load,store}_partial rely on this being %ecx */ 389 - FRAME_BEGIN 390 407 391 408 /* load the state: */ 392 409 movdqu 0x00(STATEP), STATE0 ··· 417 436 movdqu STATE1, 0x20(STATEP) 418 437 movdqu STATE2, 0x30(STATEP) 419 438 movdqu STATE3, 0x40(STATEP) 420 - 421 - FRAME_END 422 439 RET 423 440 SYM_FUNC_END(aegis128_aesni_enc_tail) 424 441 ··· 447 468 .set SRC, %rsi 448 469 .set DST, %rdx 449 470 .set LEN, %ecx 450 - FRAME_BEGIN 451 471 452 472 /* load the state: */ 453 473 movdqu 0x00(STATEP), STATE0 ··· 474 496 movdqu STATE1, 0x20(STATEP) 475 497 movdqu STATE2, 0x30(STATEP) 476 498 movdqu STATE3, 0x40(STATEP) 477 - FRAME_END 478 499 RET 479 500 480 501 .Ldec_out_1: ··· 482 505 movdqu STATE0, 0x20(STATEP) 483 506 movdqu STATE1, 0x30(STATEP) 484 507 movdqu STATE2, 0x40(STATEP) 485 - FRAME_END 486 508 RET 487 509 488 510 .Ldec_out_2: ··· 490 514 movdqu STATE4, 0x20(STATEP) 491 515 movdqu STATE0, 0x30(STATEP) 492 516 movdqu STATE1, 0x40(STATEP) 493 - FRAME_END 494 517 RET 495 518 496 519 .Ldec_out_3: ··· 498 523 movdqu STATE3, 0x20(STATEP) 499 524 movdqu STATE4, 0x30(STATEP) 500 525 movdqu STATE0, 0x40(STATEP) 501 - FRAME_END 502 526 RET 503 527 504 528 .Ldec_out_4: ··· 506 532 movdqu STATE2, 0x20(STATEP) 507 533 movdqu STATE3, 0x30(STATEP) 508 534 movdqu STATE4, 0x40(STATEP) 509 - FRAME_END 510 535 RET 511 536 512 537 .Ldec_out: 513 - FRAME_END 514 538 RET 515 539 SYM_FUNC_END(aegis128_aesni_dec) 516 540 ··· 521 549 .set SRC, %rsi 522 550 .set DST, %rdx 523 551 .set LEN, %ecx /* {load,store}_partial rely on this being %ecx */ 524 - FRAME_BEGIN 525 552 526 553 /* load the state: */ 527 554 movdqu 0x00(STATEP), STATE0 ··· 557 586 movdqu STATE1, 0x20(STATEP) 558 587 movdqu STATE2, 0x30(STATEP) 559 588 movdqu STATE3, 0x40(STATEP) 560 - 561 - FRAME_END 562 589 RET 563 590 SYM_FUNC_END(aegis128_aesni_dec_tail) 564 591 ··· 570 601 .set TAG_XOR, %rsi 571 602 .set ASSOCLEN, %edx 572 603 .set CRYPTLEN, %ecx 573 - FRAME_BEGIN 574 604 575 605 /* load the state: */ 576 606 movdqu 0x00(STATEP), STATE0 ··· 604 636 pxor STATE4, MSG 605 637 606 638 movdqu MSG, (TAG_XOR) 607 - 608 - FRAME_END 609 639 RET 610 640 SYM_FUNC_END(aegis128_aesni_final)