diff options
| author | Michael Ellerman <mpe@ellerman.id.au> | 2014-06-10 08:23:07 -0400 |
|---|---|---|
| committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-06-11 03:03:45 -0400 |
| commit | 0a6121cf337d8f5183ef1f8a8bca0734f14f4bb1 (patch) | |
| tree | fd47c9217937ea385476d5a63f0eb3bb98905b1a /tools/testing/selftests/powerpc | |
| parent | 3df48c981d5a9610e02e9270b1bc4274fb536710 (diff) | |
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>
Diffstat (limited to 'tools/testing/selftests/powerpc')
| -rw-r--r-- | tools/testing/selftests/powerpc/pmu/loop.S | 73 |
1 files changed, 35 insertions, 38 deletions
diff --git a/tools/testing/selftests/powerpc/pmu/loop.S b/tools/testing/selftests/powerpc/pmu/loop.S index 8820e3df1444..20c1f0876c47 100644 --- a/tools/testing/selftests/powerpc/pmu/loop.S +++ b/tools/testing/selftests/powerpc/pmu/loop.S | |||
| @@ -3,44 +3,41 @@ | |||
| 3 | * Licensed under GPLv2. | 3 | * Licensed under GPLv2. |
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | #include <ppc-asm.h> | ||
| 7 | |||
| 6 | .text | 8 | .text |
| 7 | 9 | ||
| 8 | .global thirty_two_instruction_loop | 10 | FUNC_START(thirty_two_instruction_loop) |
| 9 | .type .thirty_two_instruction_loop,@function | 11 | cmpdi r3,0 |
| 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 | ||
| 16 | beqlr | 12 | beqlr |
| 17 | addi %r4,%r3,1 | 13 | addi r4,r3,1 |
| 18 | addi %r4,%r4,1 | 14 | addi r4,r4,1 |
| 19 | addi %r4,%r4,1 | 15 | addi r4,r4,1 |
| 20 | addi %r4,%r4,1 | 16 | addi r4,r4,1 |
| 21 | addi %r4,%r4,1 | 17 | addi r4,r4,1 |
| 22 | addi %r4,%r4,1 | 18 | addi r4,r4,1 |
| 23 | addi %r4,%r4,1 | 19 | addi r4,r4,1 |
| 24 | addi %r4,%r4,1 | 20 | addi r4,r4,1 |
| 25 | addi %r4,%r4,1 | 21 | addi r4,r4,1 |
| 26 | addi %r4,%r4,1 | 22 | addi r4,r4,1 |
| 27 | addi %r4,%r4,1 | 23 | addi r4,r4,1 |
| 28 | addi %r4,%r4,1 | 24 | addi r4,r4,1 |
| 29 | addi %r4,%r4,1 | 25 | addi r4,r4,1 |
| 30 | addi %r4,%r4,1 | 26 | addi r4,r4,1 |
| 31 | addi %r4,%r4,1 | 27 | addi r4,r4,1 |
| 32 | addi %r4,%r4,1 | 28 | addi r4,r4,1 |
| 33 | addi %r4,%r4,1 | 29 | addi r4,r4,1 |
| 34 | addi %r4,%r4,1 | 30 | addi r4,r4,1 |
| 35 | addi %r4,%r4,1 | 31 | addi r4,r4,1 |
| 36 | addi %r4,%r4,1 | 32 | addi r4,r4,1 |
| 37 | addi %r4,%r4,1 | 33 | addi r4,r4,1 |
| 38 | addi %r4,%r4,1 | 34 | addi r4,r4,1 |
| 39 | addi %r4,%r4,1 | 35 | addi r4,r4,1 |
| 40 | addi %r4,%r4,1 | 36 | addi r4,r4,1 |
| 41 | addi %r4,%r4,1 | 37 | addi r4,r4,1 |
| 42 | addi %r4,%r4,1 | 38 | addi r4,r4,1 |
| 43 | addi %r4,%r4,1 | 39 | addi r4,r4,1 |
| 44 | addi %r4,%r4,1 # 28 addi's | 40 | addi r4,r4,1 # 28 addi's |
| 45 | subi %r3,%r3,1 | 41 | subi r3,r3,1 |
| 46 | b .thirty_two_instruction_loop | 42 | b FUNC_NAME(thirty_two_instruction_loop) |
| 43 | FUNC_END(thirty_two_instruction_loop) | ||
