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

powerpc: Change vrX register defines to vX to match gcc and glibc

As our various loops (copy, string, crypto etc) get more complicated,
we want to share implementations between userspace (eg glibc) and
the kernel. We also want to write userspace test harnesses to put
in tools/testing/selftest.

One gratuitous difference between userspace and the kernel is the
VMX register definitions - the kernel uses vrX whereas both gcc and
glibc use vX.

Change the kernel to match userspace.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

authored by

Anton Blanchard and committed by
Michael Ellerman
c2ce6f9f 06e5801b

+352 -385
+32 -32
arch/powerpc/include/asm/ppc_asm.h
··· 637 637 638 638 /* AltiVec Registers (VPRs) */ 639 639 640 - #define vr0 0 641 - #define vr1 1 642 - #define vr2 2 643 - #define vr3 3 644 - #define vr4 4 645 - #define vr5 5 646 - #define vr6 6 647 - #define vr7 7 648 - #define vr8 8 649 - #define vr9 9 650 - #define vr10 10 651 - #define vr11 11 652 - #define vr12 12 653 - #define vr13 13 654 - #define vr14 14 655 - #define vr15 15 656 - #define vr16 16 657 - #define vr17 17 658 - #define vr18 18 659 - #define vr19 19 660 - #define vr20 20 661 - #define vr21 21 662 - #define vr22 22 663 - #define vr23 23 664 - #define vr24 24 665 - #define vr25 25 666 - #define vr26 26 667 - #define vr27 27 668 - #define vr28 28 669 - #define vr29 29 670 - #define vr30 30 671 - #define vr31 31 640 + #define v0 0 641 + #define v1 1 642 + #define v2 2 643 + #define v3 3 644 + #define v4 4 645 + #define v5 5 646 + #define v6 6 647 + #define v7 7 648 + #define v8 8 649 + #define v9 9 650 + #define v10 10 651 + #define v11 11 652 + #define v12 12 653 + #define v13 13 654 + #define v14 14 655 + #define v15 15 656 + #define v16 16 657 + #define v17 17 658 + #define v18 18 659 + #define v19 19 660 + #define v20 20 661 + #define v21 21 662 + #define v22 22 663 + #define v23 23 664 + #define v24 24 665 + #define v25 25 666 + #define v26 26 667 + #define v27 27 668 + #define v28 28 669 + #define v29 29 670 + #define v30 30 671 + #define v31 31 672 672 673 673 /* VSX Registers (VSRs) */ 674 674
+1 -1
arch/powerpc/include/uapi/asm/ptrace.h
··· 136 136 #endif /* __powerpc64__ */ 137 137 138 138 /* 139 - * Get/set all the altivec registers vr0..vr31, vscr, vrsave, in one go. 139 + * Get/set all the altivec registers v0..v31, vscr, vrsave, in one go. 140 140 * The transfer totals 34 quadword. Quadwords 0-31 contain the 141 141 * corresponding vector registers. Quadword 32 contains the vscr as the 142 142 * last word (offset 12) within that quadword. Quadword 33 contains the
+4 -4
arch/powerpc/kernel/tm.S
··· 152 152 153 153 addi r7, r3, THREAD_TRANSACT_VRSTATE 154 154 SAVE_32VRS(0, r6, r7) /* r6 scratch, r7 transact vr state */ 155 - mfvscr vr0 155 + mfvscr v0 156 156 li r6, VRSTATE_VSCR 157 - stvx vr0, r7, r6 157 + stvx v0, r7, r6 158 158 dont_backup_vec: 159 159 mfspr r0, SPRN_VRSAVE 160 160 std r0, THREAD_TRANSACT_VRSAVE(r3) ··· 359 359 360 360 addi r8, r3, THREAD_VRSTATE 361 361 li r5, VRSTATE_VSCR 362 - lvx vr0, r8, r5 363 - mtvscr vr0 362 + lvx v0, r8, r5 363 + mtvscr v0 364 364 REST_32VRS(0, r5, r8) /* r5 scratch, r8 ptr */ 365 365 dont_restore_vec: 366 366 ld r5, THREAD_VRSAVE(r3)
+12 -12
arch/powerpc/kernel/vector.S
··· 24 24 stw r4,THREAD_USED_VR(r3) 25 25 26 26 li r10,THREAD_TRANSACT_VRSTATE+VRSTATE_VSCR 27 - lvx vr0,r10,r3 28 - mtvscr vr0 27 + lvx v0,r10,r3 28 + mtvscr v0 29 29 addi r10,r3,THREAD_TRANSACT_VRSTATE 30 30 REST_32VRS(0,r4,r10) 31 31 ··· 52 52 */ 53 53 _GLOBAL(load_vr_state) 54 54 li r4,VRSTATE_VSCR 55 - lvx vr0,r4,r3 56 - mtvscr vr0 55 + lvx v0,r4,r3 56 + mtvscr v0 57 57 REST_32VRS(0,r4,r3) 58 58 blr 59 59 ··· 63 63 */ 64 64 _GLOBAL(store_vr_state) 65 65 SAVE_32VRS(0, r4, r3) 66 - mfvscr vr0 66 + mfvscr v0 67 67 li r4, VRSTATE_VSCR 68 - stvx vr0, r4, r3 68 + stvx v0, r4, r3 69 69 blr 70 70 71 71 /* ··· 104 104 addi r4,r4,THREAD 105 105 addi r6,r4,THREAD_VRSTATE 106 106 SAVE_32VRS(0,r5,r6) 107 - mfvscr vr0 107 + mfvscr v0 108 108 li r10,VRSTATE_VSCR 109 - stvx vr0,r10,r6 109 + stvx v0,r10,r6 110 110 /* Disable VMX for last_task_used_altivec */ 111 111 PPC_LL r5,PT_REGS(r4) 112 112 toreal(r5) ··· 142 142 li r4,1 143 143 li r10,VRSTATE_VSCR 144 144 stw r4,THREAD_USED_VR(r5) 145 - lvx vr0,r10,r6 146 - mtvscr vr0 145 + lvx v0,r10,r6 146 + mtvscr v0 147 147 REST_32VRS(0,r4,r6) 148 148 #ifndef CONFIG_SMP 149 149 /* Update last_task_used_altivec to 'current' */ ··· 186 186 addi r7,r3,THREAD_VRSTATE 187 187 2: PPC_LCMPI 0,r5,0 188 188 SAVE_32VRS(0,r4,r7) 189 - mfvscr vr0 189 + mfvscr v0 190 190 li r4,VRSTATE_VSCR 191 - stvx vr0,r4,r7 191 + stvx v0,r4,r7 192 192 beq 1f 193 193 PPC_LL r4,_MSR-STACK_FRAME_OVERHEAD(r5) 194 194 #ifdef CONFIG_VSX
+16 -16
arch/powerpc/lib/copypage_power7.S
··· 83 83 li r12,112 84 84 85 85 .align 5 86 - 1: lvx vr7,r0,r4 87 - lvx vr6,r4,r6 88 - lvx vr5,r4,r7 89 - lvx vr4,r4,r8 90 - lvx vr3,r4,r9 91 - lvx vr2,r4,r10 92 - lvx vr1,r4,r11 93 - lvx vr0,r4,r12 86 + 1: lvx v7,r0,r4 87 + lvx v6,r4,r6 88 + lvx v5,r4,r7 89 + lvx v4,r4,r8 90 + lvx v3,r4,r9 91 + lvx v2,r4,r10 92 + lvx v1,r4,r11 93 + lvx v0,r4,r12 94 94 addi r4,r4,128 95 - stvx vr7,r0,r3 96 - stvx vr6,r3,r6 97 - stvx vr5,r3,r7 98 - stvx vr4,r3,r8 99 - stvx vr3,r3,r9 100 - stvx vr2,r3,r10 101 - stvx vr1,r3,r11 102 - stvx vr0,r3,r12 95 + stvx v7,r0,r3 96 + stvx v6,r3,r6 97 + stvx v5,r3,r7 98 + stvx v4,r3,r8 99 + stvx v3,r3,r9 100 + stvx v2,r3,r10 101 + stvx v1,r3,r11 102 + stvx v0,r3,r12 103 103 addi r3,r3,128 104 104 bdnz 1b 105 105
+113 -113
arch/powerpc/lib/copyuser_power7.S
··· 388 388 li r11,48 389 389 390 390 bf cr7*4+3,5f 391 - err3; lvx vr1,r0,r4 391 + err3; lvx v1,r0,r4 392 392 addi r4,r4,16 393 - err3; stvx vr1,r0,r3 393 + err3; stvx v1,r0,r3 394 394 addi r3,r3,16 395 395 396 396 5: bf cr7*4+2,6f 397 - err3; lvx vr1,r0,r4 398 - err3; lvx vr0,r4,r9 397 + err3; lvx v1,r0,r4 398 + err3; lvx v0,r4,r9 399 399 addi r4,r4,32 400 - err3; stvx vr1,r0,r3 401 - err3; stvx vr0,r3,r9 400 + err3; stvx v1,r0,r3 401 + err3; stvx v0,r3,r9 402 402 addi r3,r3,32 403 403 404 404 6: bf cr7*4+1,7f 405 - err3; lvx vr3,r0,r4 406 - err3; lvx vr2,r4,r9 407 - err3; lvx vr1,r4,r10 408 - err3; lvx vr0,r4,r11 405 + err3; lvx v3,r0,r4 406 + err3; lvx v2,r4,r9 407 + err3; lvx v1,r4,r10 408 + err3; lvx v0,r4,r11 409 409 addi r4,r4,64 410 - err3; stvx vr3,r0,r3 411 - err3; stvx vr2,r3,r9 412 - err3; stvx vr1,r3,r10 413 - err3; stvx vr0,r3,r11 410 + err3; stvx v3,r0,r3 411 + err3; stvx v2,r3,r9 412 + err3; stvx v1,r3,r10 413 + err3; stvx v0,r3,r11 414 414 addi r3,r3,64 415 415 416 416 7: sub r5,r5,r6 ··· 433 433 */ 434 434 .align 5 435 435 8: 436 - err4; lvx vr7,r0,r4 437 - err4; lvx vr6,r4,r9 438 - err4; lvx vr5,r4,r10 439 - err4; lvx vr4,r4,r11 440 - err4; lvx vr3,r4,r12 441 - err4; lvx vr2,r4,r14 442 - err4; lvx vr1,r4,r15 443 - err4; lvx vr0,r4,r16 436 + err4; lvx v7,r0,r4 437 + err4; lvx v6,r4,r9 438 + err4; lvx v5,r4,r10 439 + err4; lvx v4,r4,r11 440 + err4; lvx v3,r4,r12 441 + err4; lvx v2,r4,r14 442 + err4; lvx v1,r4,r15 443 + err4; lvx v0,r4,r16 444 444 addi r4,r4,128 445 - err4; stvx vr7,r0,r3 446 - err4; stvx vr6,r3,r9 447 - err4; stvx vr5,r3,r10 448 - err4; stvx vr4,r3,r11 449 - err4; stvx vr3,r3,r12 450 - err4; stvx vr2,r3,r14 451 - err4; stvx vr1,r3,r15 452 - err4; stvx vr0,r3,r16 445 + err4; stvx v7,r0,r3 446 + err4; stvx v6,r3,r9 447 + err4; stvx v5,r3,r10 448 + err4; stvx v4,r3,r11 449 + err4; stvx v3,r3,r12 450 + err4; stvx v2,r3,r14 451 + err4; stvx v1,r3,r15 452 + err4; stvx v0,r3,r16 453 453 addi r3,r3,128 454 454 bdnz 8b 455 455 ··· 463 463 mtocrf 0x01,r6 464 464 465 465 bf cr7*4+1,9f 466 - err3; lvx vr3,r0,r4 467 - err3; lvx vr2,r4,r9 468 - err3; lvx vr1,r4,r10 469 - err3; lvx vr0,r4,r11 466 + err3; lvx v3,r0,r4 467 + err3; lvx v2,r4,r9 468 + err3; lvx v1,r4,r10 469 + err3; lvx v0,r4,r11 470 470 addi r4,r4,64 471 - err3; stvx vr3,r0,r3 472 - err3; stvx vr2,r3,r9 473 - err3; stvx vr1,r3,r10 474 - err3; stvx vr0,r3,r11 471 + err3; stvx v3,r0,r3 472 + err3; stvx v2,r3,r9 473 + err3; stvx v1,r3,r10 474 + err3; stvx v0,r3,r11 475 475 addi r3,r3,64 476 476 477 477 9: bf cr7*4+2,10f 478 - err3; lvx vr1,r0,r4 479 - err3; lvx vr0,r4,r9 478 + err3; lvx v1,r0,r4 479 + err3; lvx v0,r4,r9 480 480 addi r4,r4,32 481 - err3; stvx vr1,r0,r3 482 - err3; stvx vr0,r3,r9 481 + err3; stvx v1,r0,r3 482 + err3; stvx v0,r3,r9 483 483 addi r3,r3,32 484 484 485 485 10: bf cr7*4+3,11f 486 - err3; lvx vr1,r0,r4 486 + err3; lvx v1,r0,r4 487 487 addi r4,r4,16 488 - err3; stvx vr1,r0,r3 488 + err3; stvx v1,r0,r3 489 489 addi r3,r3,16 490 490 491 491 /* Up to 15B to go */ ··· 560 560 li r10,32 561 561 li r11,48 562 562 563 - LVS(vr16,0,r4) /* Setup permute control vector */ 564 - err3; lvx vr0,0,r4 563 + LVS(v16,0,r4) /* Setup permute control vector */ 564 + err3; lvx v0,0,r4 565 565 addi r4,r4,16 566 566 567 567 bf cr7*4+3,5f 568 - err3; lvx vr1,r0,r4 569 - VPERM(vr8,vr0,vr1,vr16) 568 + err3; lvx v1,r0,r4 569 + VPERM(v8,v0,v1,v16) 570 570 addi r4,r4,16 571 - err3; stvx vr8,r0,r3 571 + err3; stvx v8,r0,r3 572 572 addi r3,r3,16 573 - vor vr0,vr1,vr1 573 + vor v0,v1,v1 574 574 575 575 5: bf cr7*4+2,6f 576 - err3; lvx vr1,r0,r4 577 - VPERM(vr8,vr0,vr1,vr16) 578 - err3; lvx vr0,r4,r9 579 - VPERM(vr9,vr1,vr0,vr16) 576 + err3; lvx v1,r0,r4 577 + VPERM(v8,v0,v1,v16) 578 + err3; lvx v0,r4,r9 579 + VPERM(v9,v1,v0,v16) 580 580 addi r4,r4,32 581 - err3; stvx vr8,r0,r3 582 - err3; stvx vr9,r3,r9 581 + err3; stvx v8,r0,r3 582 + err3; stvx v9,r3,r9 583 583 addi r3,r3,32 584 584 585 585 6: bf cr7*4+1,7f 586 - err3; lvx vr3,r0,r4 587 - VPERM(vr8,vr0,vr3,vr16) 588 - err3; lvx vr2,r4,r9 589 - VPERM(vr9,vr3,vr2,vr16) 590 - err3; lvx vr1,r4,r10 591 - VPERM(vr10,vr2,vr1,vr16) 592 - err3; lvx vr0,r4,r11 593 - VPERM(vr11,vr1,vr0,vr16) 586 + err3; lvx v3,r0,r4 587 + VPERM(v8,v0,v3,v16) 588 + err3; lvx v2,r4,r9 589 + VPERM(v9,v3,v2,v16) 590 + err3; lvx v1,r4,r10 591 + VPERM(v10,v2,v1,v16) 592 + err3; lvx v0,r4,r11 593 + VPERM(v11,v1,v0,v16) 594 594 addi r4,r4,64 595 - err3; stvx vr8,r0,r3 596 - err3; stvx vr9,r3,r9 597 - err3; stvx vr10,r3,r10 598 - err3; stvx vr11,r3,r11 595 + err3; stvx v8,r0,r3 596 + err3; stvx v9,r3,r9 597 + err3; stvx v10,r3,r10 598 + err3; stvx v11,r3,r11 599 599 addi r3,r3,64 600 600 601 601 7: sub r5,r5,r6 ··· 618 618 */ 619 619 .align 5 620 620 8: 621 - err4; lvx vr7,r0,r4 622 - VPERM(vr8,vr0,vr7,vr16) 623 - err4; lvx vr6,r4,r9 624 - VPERM(vr9,vr7,vr6,vr16) 625 - err4; lvx vr5,r4,r10 626 - VPERM(vr10,vr6,vr5,vr16) 627 - err4; lvx vr4,r4,r11 628 - VPERM(vr11,vr5,vr4,vr16) 629 - err4; lvx vr3,r4,r12 630 - VPERM(vr12,vr4,vr3,vr16) 631 - err4; lvx vr2,r4,r14 632 - VPERM(vr13,vr3,vr2,vr16) 633 - err4; lvx vr1,r4,r15 634 - VPERM(vr14,vr2,vr1,vr16) 635 - err4; lvx vr0,r4,r16 636 - VPERM(vr15,vr1,vr0,vr16) 621 + err4; lvx v7,r0,r4 622 + VPERM(v8,v0,v7,v16) 623 + err4; lvx v6,r4,r9 624 + VPERM(v9,v7,v6,v16) 625 + err4; lvx v5,r4,r10 626 + VPERM(v10,v6,v5,v16) 627 + err4; lvx v4,r4,r11 628 + VPERM(v11,v5,v4,v16) 629 + err4; lvx v3,r4,r12 630 + VPERM(v12,v4,v3,v16) 631 + err4; lvx v2,r4,r14 632 + VPERM(v13,v3,v2,v16) 633 + err4; lvx v1,r4,r15 634 + VPERM(v14,v2,v1,v16) 635 + err4; lvx v0,r4,r16 636 + VPERM(v15,v1,v0,v16) 637 637 addi r4,r4,128 638 - err4; stvx vr8,r0,r3 639 - err4; stvx vr9,r3,r9 640 - err4; stvx vr10,r3,r10 641 - err4; stvx vr11,r3,r11 642 - err4; stvx vr12,r3,r12 643 - err4; stvx vr13,r3,r14 644 - err4; stvx vr14,r3,r15 645 - err4; stvx vr15,r3,r16 638 + err4; stvx v8,r0,r3 639 + err4; stvx v9,r3,r9 640 + err4; stvx v10,r3,r10 641 + err4; stvx v11,r3,r11 642 + err4; stvx v12,r3,r12 643 + err4; stvx v13,r3,r14 644 + err4; stvx v14,r3,r15 645 + err4; stvx v15,r3,r16 646 646 addi r3,r3,128 647 647 bdnz 8b 648 648 ··· 656 656 mtocrf 0x01,r6 657 657 658 658 bf cr7*4+1,9f 659 - err3; lvx vr3,r0,r4 660 - VPERM(vr8,vr0,vr3,vr16) 661 - err3; lvx vr2,r4,r9 662 - VPERM(vr9,vr3,vr2,vr16) 663 - err3; lvx vr1,r4,r10 664 - VPERM(vr10,vr2,vr1,vr16) 665 - err3; lvx vr0,r4,r11 666 - VPERM(vr11,vr1,vr0,vr16) 659 + err3; lvx v3,r0,r4 660 + VPERM(v8,v0,v3,v16) 661 + err3; lvx v2,r4,r9 662 + VPERM(v9,v3,v2,v16) 663 + err3; lvx v1,r4,r10 664 + VPERM(v10,v2,v1,v16) 665 + err3; lvx v0,r4,r11 666 + VPERM(v11,v1,v0,v16) 667 667 addi r4,r4,64 668 - err3; stvx vr8,r0,r3 669 - err3; stvx vr9,r3,r9 670 - err3; stvx vr10,r3,r10 671 - err3; stvx vr11,r3,r11 668 + err3; stvx v8,r0,r3 669 + err3; stvx v9,r3,r9 670 + err3; stvx v10,r3,r10 671 + err3; stvx v11,r3,r11 672 672 addi r3,r3,64 673 673 674 674 9: bf cr7*4+2,10f 675 - err3; lvx vr1,r0,r4 676 - VPERM(vr8,vr0,vr1,vr16) 677 - err3; lvx vr0,r4,r9 678 - VPERM(vr9,vr1,vr0,vr16) 675 + err3; lvx v1,r0,r4 676 + VPERM(v8,v0,v1,v16) 677 + err3; lvx v0,r4,r9 678 + VPERM(v9,v1,v0,v16) 679 679 addi r4,r4,32 680 - err3; stvx vr8,r0,r3 681 - err3; stvx vr9,r3,r9 680 + err3; stvx v8,r0,r3 681 + err3; stvx v9,r3,r9 682 682 addi r3,r3,32 683 683 684 684 10: bf cr7*4+3,11f 685 - err3; lvx vr1,r0,r4 686 - VPERM(vr8,vr0,vr1,vr16) 685 + err3; lvx v1,r0,r4 686 + VPERM(v8,v0,v1,v16) 687 687 addi r4,r4,16 688 - err3; stvx vr8,r0,r3 688 + err3; stvx v8,r0,r3 689 689 addi r3,r3,16 690 690 691 691 /* Up to 15B to go */
+48 -48
arch/powerpc/lib/crtsavres.S
··· 236 236 237 237 _GLOBAL(_savevr_20) 238 238 li r11,-192 239 - stvx vr20,r11,r0 239 + stvx v20,r11,r0 240 240 _GLOBAL(_savevr_21) 241 241 li r11,-176 242 - stvx vr21,r11,r0 242 + stvx v21,r11,r0 243 243 _GLOBAL(_savevr_22) 244 244 li r11,-160 245 - stvx vr22,r11,r0 245 + stvx v22,r11,r0 246 246 _GLOBAL(_savevr_23) 247 247 li r11,-144 248 - stvx vr23,r11,r0 248 + stvx v23,r11,r0 249 249 _GLOBAL(_savevr_24) 250 250 li r11,-128 251 - stvx vr24,r11,r0 251 + stvx v24,r11,r0 252 252 _GLOBAL(_savevr_25) 253 253 li r11,-112 254 - stvx vr25,r11,r0 254 + stvx v25,r11,r0 255 255 _GLOBAL(_savevr_26) 256 256 li r11,-96 257 - stvx vr26,r11,r0 257 + stvx v26,r11,r0 258 258 _GLOBAL(_savevr_27) 259 259 li r11,-80 260 - stvx vr27,r11,r0 260 + stvx v27,r11,r0 261 261 _GLOBAL(_savevr_28) 262 262 li r11,-64 263 - stvx vr28,r11,r0 263 + stvx v28,r11,r0 264 264 _GLOBAL(_savevr_29) 265 265 li r11,-48 266 - stvx vr29,r11,r0 266 + stvx v29,r11,r0 267 267 _GLOBAL(_savevr_30) 268 268 li r11,-32 269 - stvx vr30,r11,r0 269 + stvx v30,r11,r0 270 270 _GLOBAL(_savevr_31) 271 271 li r11,-16 272 - stvx vr31,r11,r0 272 + stvx v31,r11,r0 273 273 blr 274 274 275 275 _GLOBAL(_restvr_20) 276 276 li r11,-192 277 - lvx vr20,r11,r0 277 + lvx v20,r11,r0 278 278 _GLOBAL(_restvr_21) 279 279 li r11,-176 280 - lvx vr21,r11,r0 280 + lvx v21,r11,r0 281 281 _GLOBAL(_restvr_22) 282 282 li r11,-160 283 - lvx vr22,r11,r0 283 + lvx v22,r11,r0 284 284 _GLOBAL(_restvr_23) 285 285 li r11,-144 286 - lvx vr23,r11,r0 286 + lvx v23,r11,r0 287 287 _GLOBAL(_restvr_24) 288 288 li r11,-128 289 - lvx vr24,r11,r0 289 + lvx v24,r11,r0 290 290 _GLOBAL(_restvr_25) 291 291 li r11,-112 292 - lvx vr25,r11,r0 292 + lvx v25,r11,r0 293 293 _GLOBAL(_restvr_26) 294 294 li r11,-96 295 - lvx vr26,r11,r0 295 + lvx v26,r11,r0 296 296 _GLOBAL(_restvr_27) 297 297 li r11,-80 298 - lvx vr27,r11,r0 298 + lvx v27,r11,r0 299 299 _GLOBAL(_restvr_28) 300 300 li r11,-64 301 - lvx vr28,r11,r0 301 + lvx v28,r11,r0 302 302 _GLOBAL(_restvr_29) 303 303 li r11,-48 304 - lvx vr29,r11,r0 304 + lvx v29,r11,r0 305 305 _GLOBAL(_restvr_30) 306 306 li r11,-32 307 - lvx vr30,r11,r0 307 + lvx v30,r11,r0 308 308 _GLOBAL(_restvr_31) 309 309 li r11,-16 310 - lvx vr31,r11,r0 310 + lvx v31,r11,r0 311 311 blr 312 312 313 313 #endif /* CONFIG_ALTIVEC */ ··· 443 443 .globl _savevr_20 444 444 _savevr_20: 445 445 li r12,-192 446 - stvx vr20,r12,r0 446 + stvx v20,r12,r0 447 447 .globl _savevr_21 448 448 _savevr_21: 449 449 li r12,-176 450 - stvx vr21,r12,r0 450 + stvx v21,r12,r0 451 451 .globl _savevr_22 452 452 _savevr_22: 453 453 li r12,-160 454 - stvx vr22,r12,r0 454 + stvx v22,r12,r0 455 455 .globl _savevr_23 456 456 _savevr_23: 457 457 li r12,-144 458 - stvx vr23,r12,r0 458 + stvx v23,r12,r0 459 459 .globl _savevr_24 460 460 _savevr_24: 461 461 li r12,-128 462 - stvx vr24,r12,r0 462 + stvx v24,r12,r0 463 463 .globl _savevr_25 464 464 _savevr_25: 465 465 li r12,-112 466 - stvx vr25,r12,r0 466 + stvx v25,r12,r0 467 467 .globl _savevr_26 468 468 _savevr_26: 469 469 li r12,-96 470 - stvx vr26,r12,r0 470 + stvx v26,r12,r0 471 471 .globl _savevr_27 472 472 _savevr_27: 473 473 li r12,-80 474 - stvx vr27,r12,r0 474 + stvx v27,r12,r0 475 475 .globl _savevr_28 476 476 _savevr_28: 477 477 li r12,-64 478 - stvx vr28,r12,r0 478 + stvx v28,r12,r0 479 479 .globl _savevr_29 480 480 _savevr_29: 481 481 li r12,-48 482 - stvx vr29,r12,r0 482 + stvx v29,r12,r0 483 483 .globl _savevr_30 484 484 _savevr_30: 485 485 li r12,-32 486 - stvx vr30,r12,r0 486 + stvx v30,r12,r0 487 487 .globl _savevr_31 488 488 _savevr_31: 489 489 li r12,-16 490 - stvx vr31,r12,r0 490 + stvx v31,r12,r0 491 491 blr 492 492 493 493 .globl _restvr_20 494 494 _restvr_20: 495 495 li r12,-192 496 - lvx vr20,r12,r0 496 + lvx v20,r12,r0 497 497 .globl _restvr_21 498 498 _restvr_21: 499 499 li r12,-176 500 - lvx vr21,r12,r0 500 + lvx v21,r12,r0 501 501 .globl _restvr_22 502 502 _restvr_22: 503 503 li r12,-160 504 - lvx vr22,r12,r0 504 + lvx v22,r12,r0 505 505 .globl _restvr_23 506 506 _restvr_23: 507 507 li r12,-144 508 - lvx vr23,r12,r0 508 + lvx v23,r12,r0 509 509 .globl _restvr_24 510 510 _restvr_24: 511 511 li r12,-128 512 - lvx vr24,r12,r0 512 + lvx v24,r12,r0 513 513 .globl _restvr_25 514 514 _restvr_25: 515 515 li r12,-112 516 - lvx vr25,r12,r0 516 + lvx v25,r12,r0 517 517 .globl _restvr_26 518 518 _restvr_26: 519 519 li r12,-96 520 - lvx vr26,r12,r0 520 + lvx v26,r12,r0 521 521 .globl _restvr_27 522 522 _restvr_27: 523 523 li r12,-80 524 - lvx vr27,r12,r0 524 + lvx v27,r12,r0 525 525 .globl _restvr_28 526 526 _restvr_28: 527 527 li r12,-64 528 - lvx vr28,r12,r0 528 + lvx v28,r12,r0 529 529 .globl _restvr_29 530 530 _restvr_29: 531 531 li r12,-48 532 - lvx vr29,r12,r0 532 + lvx v29,r12,r0 533 533 .globl _restvr_30 534 534 _restvr_30: 535 535 li r12,-32 536 - lvx vr30,r12,r0 536 + lvx v30,r12,r0 537 537 .globl _restvr_31 538 538 _restvr_31: 539 539 li r12,-16 540 - lvx vr31,r12,r0 540 + lvx v31,r12,r0 541 541 blr 542 542 543 543 #endif /* CONFIG_ALTIVEC */
+13 -13
arch/powerpc/lib/ldstfp.S
··· 184 184 extab 2b,3b 185 185 186 186 #ifdef CONFIG_ALTIVEC 187 - /* Get the contents of vrN into vr0; N is in r3. */ 187 + /* Get the contents of vrN into v0; N is in r3. */ 188 188 _GLOBAL(get_vr) 189 189 mflr r0 190 190 rlwinm r3,r3,3,0xf8 191 191 bcl 20,31,1f 192 - blr /* vr0 is already in vr0 */ 192 + blr /* v0 is already in v0 */ 193 193 nop 194 194 reg = 1 195 195 .rept 31 196 - vor vr0,reg,reg /* assembler doesn't know vmr? */ 196 + vor v0,reg,reg /* assembler doesn't know vmr? */ 197 197 blr 198 198 reg = reg + 1 199 199 .endr ··· 203 203 mtlr r0 204 204 bctr 205 205 206 - /* Put the contents of vr0 into vrN; N is in r3. */ 206 + /* Put the contents of v0 into vrN; N is in r3. */ 207 207 _GLOBAL(put_vr) 208 208 mflr r0 209 209 rlwinm r3,r3,3,0xf8 210 210 bcl 20,31,1f 211 - blr /* vr0 is already in vr0 */ 211 + blr /* v0 is already in v0 */ 212 212 nop 213 213 reg = 1 214 214 .rept 31 215 - vor reg,vr0,vr0 215 + vor reg,v0,v0 216 216 blr 217 217 reg = reg + 1 218 218 .endr ··· 234 234 MTMSRD(r7) 235 235 isync 236 236 beq cr7,1f 237 - stvx vr0,r1,r8 237 + stvx v0,r1,r8 238 238 1: li r9,-EFAULT 239 - 2: lvx vr0,0,r4 239 + 2: lvx v0,0,r4 240 240 li r9,0 241 241 3: beq cr7,4f 242 242 bl put_vr 243 - lvx vr0,r1,r8 243 + lvx v0,r1,r8 244 244 4: PPC_LL r0,STKFRM+PPC_LR_STKOFF(r1) 245 245 mtlr r0 246 246 MTMSRD(r6) ··· 262 262 MTMSRD(r7) 263 263 isync 264 264 beq cr7,1f 265 - stvx vr0,r1,r8 265 + stvx v0,r1,r8 266 266 bl get_vr 267 267 1: li r9,-EFAULT 268 - 2: stvx vr0,0,r4 268 + 2: stvx v0,0,r4 269 269 li r9,0 270 270 3: beq cr7,4f 271 - lvx vr0,r1,r8 271 + lvx v0,r1,r8 272 272 4: PPC_LL r0,STKFRM+PPC_LR_STKOFF(r1) 273 273 mtlr r0 274 274 MTMSRD(r6) ··· 304 304 mflr r0 305 305 rlwinm r3,r3,3,0x1f8 306 306 bcl 20,31,1f 307 - blr /* vr0 is already in vr0 */ 307 + blr /* v0 is already in v0 */ 308 308 nop 309 309 reg = 1 310 310 .rept 63
+113 -113
arch/powerpc/lib/memcpy_power7.S
··· 321 321 li r11,48 322 322 323 323 bf cr7*4+3,5f 324 - lvx vr1,r0,r4 324 + lvx v1,r0,r4 325 325 addi r4,r4,16 326 - stvx vr1,r0,r3 326 + stvx v1,r0,r3 327 327 addi r3,r3,16 328 328 329 329 5: bf cr7*4+2,6f 330 - lvx vr1,r0,r4 331 - lvx vr0,r4,r9 330 + lvx v1,r0,r4 331 + lvx v0,r4,r9 332 332 addi r4,r4,32 333 - stvx vr1,r0,r3 334 - stvx vr0,r3,r9 333 + stvx v1,r0,r3 334 + stvx v0,r3,r9 335 335 addi r3,r3,32 336 336 337 337 6: bf cr7*4+1,7f 338 - lvx vr3,r0,r4 339 - lvx vr2,r4,r9 340 - lvx vr1,r4,r10 341 - lvx vr0,r4,r11 338 + lvx v3,r0,r4 339 + lvx v2,r4,r9 340 + lvx v1,r4,r10 341 + lvx v0,r4,r11 342 342 addi r4,r4,64 343 - stvx vr3,r0,r3 344 - stvx vr2,r3,r9 345 - stvx vr1,r3,r10 346 - stvx vr0,r3,r11 343 + stvx v3,r0,r3 344 + stvx v2,r3,r9 345 + stvx v1,r3,r10 346 + stvx v0,r3,r11 347 347 addi r3,r3,64 348 348 349 349 7: sub r5,r5,r6 ··· 366 366 */ 367 367 .align 5 368 368 8: 369 - lvx vr7,r0,r4 370 - lvx vr6,r4,r9 371 - lvx vr5,r4,r10 372 - lvx vr4,r4,r11 373 - lvx vr3,r4,r12 374 - lvx vr2,r4,r14 375 - lvx vr1,r4,r15 376 - lvx vr0,r4,r16 369 + lvx v7,r0,r4 370 + lvx v6,r4,r9 371 + lvx v5,r4,r10 372 + lvx v4,r4,r11 373 + lvx v3,r4,r12 374 + lvx v2,r4,r14 375 + lvx v1,r4,r15 376 + lvx v0,r4,r16 377 377 addi r4,r4,128 378 - stvx vr7,r0,r3 379 - stvx vr6,r3,r9 380 - stvx vr5,r3,r10 381 - stvx vr4,r3,r11 382 - stvx vr3,r3,r12 383 - stvx vr2,r3,r14 384 - stvx vr1,r3,r15 385 - stvx vr0,r3,r16 378 + stvx v7,r0,r3 379 + stvx v6,r3,r9 380 + stvx v5,r3,r10 381 + stvx v4,r3,r11 382 + stvx v3,r3,r12 383 + stvx v2,r3,r14 384 + stvx v1,r3,r15 385 + stvx v0,r3,r16 386 386 addi r3,r3,128 387 387 bdnz 8b 388 388 ··· 396 396 mtocrf 0x01,r6 397 397 398 398 bf cr7*4+1,9f 399 - lvx vr3,r0,r4 400 - lvx vr2,r4,r9 401 - lvx vr1,r4,r10 402 - lvx vr0,r4,r11 399 + lvx v3,r0,r4 400 + lvx v2,r4,r9 401 + lvx v1,r4,r10 402 + lvx v0,r4,r11 403 403 addi r4,r4,64 404 - stvx vr3,r0,r3 405 - stvx vr2,r3,r9 406 - stvx vr1,r3,r10 407 - stvx vr0,r3,r11 404 + stvx v3,r0,r3 405 + stvx v2,r3,r9 406 + stvx v1,r3,r10 407 + stvx v0,r3,r11 408 408 addi r3,r3,64 409 409 410 410 9: bf cr7*4+2,10f 411 - lvx vr1,r0,r4 412 - lvx vr0,r4,r9 411 + lvx v1,r0,r4 412 + lvx v0,r4,r9 413 413 addi r4,r4,32 414 - stvx vr1,r0,r3 415 - stvx vr0,r3,r9 414 + stvx v1,r0,r3 415 + stvx v0,r3,r9 416 416 addi r3,r3,32 417 417 418 418 10: bf cr7*4+3,11f 419 - lvx vr1,r0,r4 419 + lvx v1,r0,r4 420 420 addi r4,r4,16 421 - stvx vr1,r0,r3 421 + stvx v1,r0,r3 422 422 addi r3,r3,16 423 423 424 424 /* Up to 15B to go */ ··· 494 494 li r10,32 495 495 li r11,48 496 496 497 - LVS(vr16,0,r4) /* Setup permute control vector */ 498 - lvx vr0,0,r4 497 + LVS(v16,0,r4) /* Setup permute control vector */ 498 + lvx v0,0,r4 499 499 addi r4,r4,16 500 500 501 501 bf cr7*4+3,5f 502 - lvx vr1,r0,r4 503 - VPERM(vr8,vr0,vr1,vr16) 502 + lvx v1,r0,r4 503 + VPERM(v8,v0,v1,v16) 504 504 addi r4,r4,16 505 - stvx vr8,r0,r3 505 + stvx v8,r0,r3 506 506 addi r3,r3,16 507 - vor vr0,vr1,vr1 507 + vor v0,v1,v1 508 508 509 509 5: bf cr7*4+2,6f 510 - lvx vr1,r0,r4 511 - VPERM(vr8,vr0,vr1,vr16) 512 - lvx vr0,r4,r9 513 - VPERM(vr9,vr1,vr0,vr16) 510 + lvx v1,r0,r4 511 + VPERM(v8,v0,v1,v16) 512 + lvx v0,r4,r9 513 + VPERM(v9,v1,v0,v16) 514 514 addi r4,r4,32 515 - stvx vr8,r0,r3 516 - stvx vr9,r3,r9 515 + stvx v8,r0,r3 516 + stvx v9,r3,r9 517 517 addi r3,r3,32 518 518 519 519 6: bf cr7*4+1,7f 520 - lvx vr3,r0,r4 521 - VPERM(vr8,vr0,vr3,vr16) 522 - lvx vr2,r4,r9 523 - VPERM(vr9,vr3,vr2,vr16) 524 - lvx vr1,r4,r10 525 - VPERM(vr10,vr2,vr1,vr16) 526 - lvx vr0,r4,r11 527 - VPERM(vr11,vr1,vr0,vr16) 520 + lvx v3,r0,r4 521 + VPERM(v8,v0,v3,v16) 522 + lvx v2,r4,r9 523 + VPERM(v9,v3,v2,v16) 524 + lvx v1,r4,r10 525 + VPERM(v10,v2,v1,v16) 526 + lvx v0,r4,r11 527 + VPERM(v11,v1,v0,v16) 528 528 addi r4,r4,64 529 - stvx vr8,r0,r3 530 - stvx vr9,r3,r9 531 - stvx vr10,r3,r10 532 - stvx vr11,r3,r11 529 + stvx v8,r0,r3 530 + stvx v9,r3,r9 531 + stvx v10,r3,r10 532 + stvx v11,r3,r11 533 533 addi r3,r3,64 534 534 535 535 7: sub r5,r5,r6 ··· 552 552 */ 553 553 .align 5 554 554 8: 555 - lvx vr7,r0,r4 556 - VPERM(vr8,vr0,vr7,vr16) 557 - lvx vr6,r4,r9 558 - VPERM(vr9,vr7,vr6,vr16) 559 - lvx vr5,r4,r10 560 - VPERM(vr10,vr6,vr5,vr16) 561 - lvx vr4,r4,r11 562 - VPERM(vr11,vr5,vr4,vr16) 563 - lvx vr3,r4,r12 564 - VPERM(vr12,vr4,vr3,vr16) 565 - lvx vr2,r4,r14 566 - VPERM(vr13,vr3,vr2,vr16) 567 - lvx vr1,r4,r15 568 - VPERM(vr14,vr2,vr1,vr16) 569 - lvx vr0,r4,r16 570 - VPERM(vr15,vr1,vr0,vr16) 555 + lvx v7,r0,r4 556 + VPERM(v8,v0,v7,v16) 557 + lvx v6,r4,r9 558 + VPERM(v9,v7,v6,v16) 559 + lvx v5,r4,r10 560 + VPERM(v10,v6,v5,v16) 561 + lvx v4,r4,r11 562 + VPERM(v11,v5,v4,v16) 563 + lvx v3,r4,r12 564 + VPERM(v12,v4,v3,v16) 565 + lvx v2,r4,r14 566 + VPERM(v13,v3,v2,v16) 567 + lvx v1,r4,r15 568 + VPERM(v14,v2,v1,v16) 569 + lvx v0,r4,r16 570 + VPERM(v15,v1,v0,v16) 571 571 addi r4,r4,128 572 - stvx vr8,r0,r3 573 - stvx vr9,r3,r9 574 - stvx vr10,r3,r10 575 - stvx vr11,r3,r11 576 - stvx vr12,r3,r12 577 - stvx vr13,r3,r14 578 - stvx vr14,r3,r15 579 - stvx vr15,r3,r16 572 + stvx v8,r0,r3 573 + stvx v9,r3,r9 574 + stvx v10,r3,r10 575 + stvx v11,r3,r11 576 + stvx v12,r3,r12 577 + stvx v13,r3,r14 578 + stvx v14,r3,r15 579 + stvx v15,r3,r16 580 580 addi r3,r3,128 581 581 bdnz 8b 582 582 ··· 590 590 mtocrf 0x01,r6 591 591 592 592 bf cr7*4+1,9f 593 - lvx vr3,r0,r4 594 - VPERM(vr8,vr0,vr3,vr16) 595 - lvx vr2,r4,r9 596 - VPERM(vr9,vr3,vr2,vr16) 597 - lvx vr1,r4,r10 598 - VPERM(vr10,vr2,vr1,vr16) 599 - lvx vr0,r4,r11 600 - VPERM(vr11,vr1,vr0,vr16) 593 + lvx v3,r0,r4 594 + VPERM(v8,v0,v3,v16) 595 + lvx v2,r4,r9 596 + VPERM(v9,v3,v2,v16) 597 + lvx v1,r4,r10 598 + VPERM(v10,v2,v1,v16) 599 + lvx v0,r4,r11 600 + VPERM(v11,v1,v0,v16) 601 601 addi r4,r4,64 602 - stvx vr8,r0,r3 603 - stvx vr9,r3,r9 604 - stvx vr10,r3,r10 605 - stvx vr11,r3,r11 602 + stvx v8,r0,r3 603 + stvx v9,r3,r9 604 + stvx v10,r3,r10 605 + stvx v11,r3,r11 606 606 addi r3,r3,64 607 607 608 608 9: bf cr7*4+2,10f 609 - lvx vr1,r0,r4 610 - VPERM(vr8,vr0,vr1,vr16) 611 - lvx vr0,r4,r9 612 - VPERM(vr9,vr1,vr0,vr16) 609 + lvx v1,r0,r4 610 + VPERM(v8,v0,v1,v16) 611 + lvx v0,r4,r9 612 + VPERM(v9,v1,v0,v16) 613 613 addi r4,r4,32 614 - stvx vr8,r0,r3 615 - stvx vr9,r3,r9 614 + stvx v8,r0,r3 615 + stvx v9,r3,r9 616 616 addi r3,r3,32 617 617 618 618 10: bf cr7*4+3,11f 619 - lvx vr1,r0,r4 620 - VPERM(vr8,vr0,vr1,vr16) 619 + lvx v1,r0,r4 620 + VPERM(v8,v0,v1,v16) 621 621 addi r4,r4,16 622 - stvx vr8,r0,r3 622 + stvx v8,r0,r3 623 623 addi r3,r3,16 624 624 625 625 /* Up to 15B to go */
-33
tools/testing/selftests/powerpc/copyloops/asm/ppc_asm.h
··· 4 4 5 5 #define r1 1 6 6 7 - #define vr0 0 8 - #define vr1 1 9 - #define vr2 2 10 - #define vr3 3 11 - #define vr4 4 12 - #define vr5 5 13 - #define vr6 6 14 - #define vr7 7 15 - #define vr8 8 16 - #define vr9 9 17 - #define vr10 10 18 - #define vr11 11 19 - #define vr12 12 20 - #define vr13 13 21 - #define vr14 14 22 - #define vr15 15 23 - #define vr16 16 24 - #define vr17 17 25 - #define vr18 18 26 - #define vr19 19 27 - #define vr20 20 28 - #define vr21 21 29 - #define vr22 22 30 - #define vr23 23 31 - #define vr24 24 32 - #define vr25 25 33 - #define vr26 26 34 - #define vr27 27 35 - #define vr28 28 36 - #define vr29 29 37 - #define vr30 30 38 - #define vr31 31 39 - 40 7 #define R14 r14 41 8 #define R15 r15 42 9 #define R16 r16