| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| /* | |
| * Copyright 2013, Michael Ellerman, IBM Corp. | |
| */ | |
| #include <ppc-asm.h> | |
| .text | |
| FUNC_START(thirty_two_instruction_loop) | |
| cmpdi r3,0 | |
| beqlr | |
| addi r4,r3,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 | |
| addi r4,r4,1 # 28 addi's | |
| subi r3,r3,1 | |
| b FUNC_NAME(thirty_two_instruction_loop) | |
| FUNC_END(thirty_two_instruction_loop) | |
| FUNC_START(thirty_two_instruction_loop_with_ll_sc) | |
| cmpdi r3,0 | |
| beqlr | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 # 5 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| 1: ldarx r6,0,r4 # 10 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 # 15 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| stdcx. r6,0,r4 | |
| bne- 1b | |
| addi r5,r5,1 # 20 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 # 25 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 | |
| addi r5,r5,1 # 30 | |
| subi r3,r3,1 | |
| b FUNC_NAME(thirty_two_instruction_loop_with_ll_sc) | |
| FUNC_END(thirty_two_instruction_loop_with_ll_sc) |