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

selftests/powerpc: Fix instruction loop for ABIv2 (LE)

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

authored by

Michael Ellerman and committed by
Benjamin Herrenschmidt
0a6121cf 3df48c98

+35 -38
+35 -38
tools/testing/selftests/powerpc/pmu/loop.S
··· 3 3 * Licensed under GPLv2. 4 4 */ 5 5 6 + #include <ppc-asm.h> 7 + 6 8 .text 7 9 8 - .global thirty_two_instruction_loop 9 - .type .thirty_two_instruction_loop,@function 10 - .section ".opd","aw",@progbits 11 - thirty_two_instruction_loop: 12 - .quad .thirty_two_instruction_loop, .TOC.@tocbase, 0 13 - .previous 14 - .thirty_two_instruction_loop: 15 - cmpwi %r3,0 10 + FUNC_START(thirty_two_instruction_loop) 11 + cmpdi r3,0 16 12 beqlr 17 - addi %r4,%r3,1 18 - addi %r4,%r4,1 19 - addi %r4,%r4,1 20 - addi %r4,%r4,1 21 - addi %r4,%r4,1 22 - addi %r4,%r4,1 23 - addi %r4,%r4,1 24 - addi %r4,%r4,1 25 - addi %r4,%r4,1 26 - addi %r4,%r4,1 27 - addi %r4,%r4,1 28 - addi %r4,%r4,1 29 - addi %r4,%r4,1 30 - addi %r4,%r4,1 31 - addi %r4,%r4,1 32 - addi %r4,%r4,1 33 - addi %r4,%r4,1 34 - addi %r4,%r4,1 35 - addi %r4,%r4,1 36 - addi %r4,%r4,1 37 - addi %r4,%r4,1 38 - addi %r4,%r4,1 39 - addi %r4,%r4,1 40 - addi %r4,%r4,1 41 - addi %r4,%r4,1 42 - addi %r4,%r4,1 43 - addi %r4,%r4,1 44 - addi %r4,%r4,1 # 28 addi's 45 - subi %r3,%r3,1 46 - b .thirty_two_instruction_loop 13 + addi r4,r3,1 14 + addi r4,r4,1 15 + addi r4,r4,1 16 + addi r4,r4,1 17 + addi r4,r4,1 18 + addi r4,r4,1 19 + addi r4,r4,1 20 + addi r4,r4,1 21 + addi r4,r4,1 22 + addi r4,r4,1 23 + addi r4,r4,1 24 + addi r4,r4,1 25 + addi r4,r4,1 26 + addi r4,r4,1 27 + addi r4,r4,1 28 + addi r4,r4,1 29 + addi r4,r4,1 30 + addi r4,r4,1 31 + addi r4,r4,1 32 + addi r4,r4,1 33 + addi r4,r4,1 34 + addi r4,r4,1 35 + addi r4,r4,1 36 + addi r4,r4,1 37 + addi r4,r4,1 38 + addi r4,r4,1 39 + addi r4,r4,1 40 + addi r4,r4,1 # 28 addi's 41 + subi r3,r3,1 42 + b FUNC_NAME(thirty_two_instruction_loop) 43 + FUNC_END(thirty_two_instruction_loop)