forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/tools/testing/selftests/powerpc/pmu/loop.S
....@@ -1,6 +1,6 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * Copyright 2013, Michael Ellerman, IBM Corp.
3
- * Licensed under GPLv2.
44 */
55
66 #include <ppc-asm.h>
....@@ -41,3 +41,38 @@
4141 subi r3,r3,1
4242 b FUNC_NAME(thirty_two_instruction_loop)
4343 FUNC_END(thirty_two_instruction_loop)
44
+
45
+FUNC_START(thirty_two_instruction_loop_with_ll_sc)
46
+ cmpdi r3,0
47
+ beqlr
48
+ addi r5,r5,1
49
+ addi r5,r5,1
50
+ addi r5,r5,1 # 5
51
+ addi r5,r5,1
52
+ addi r5,r5,1
53
+ addi r5,r5,1
54
+ addi r5,r5,1
55
+1: ldarx r6,0,r4 # 10
56
+ addi r5,r5,1
57
+ addi r5,r5,1
58
+ addi r5,r5,1
59
+ addi r5,r5,1
60
+ addi r5,r5,1 # 15
61
+ addi r5,r5,1
62
+ addi r5,r5,1
63
+ stdcx. r6,0,r4
64
+ bne- 1b
65
+ addi r5,r5,1 # 20
66
+ addi r5,r5,1
67
+ addi r5,r5,1
68
+ addi r5,r5,1
69
+ addi r5,r5,1
70
+ addi r5,r5,1 # 25
71
+ addi r5,r5,1
72
+ addi r5,r5,1
73
+ addi r5,r5,1
74
+ addi r5,r5,1
75
+ addi r5,r5,1 # 30
76
+ subi r3,r3,1
77
+ b FUNC_NAME(thirty_two_instruction_loop_with_ll_sc)
78
+FUNC_END(thirty_two_instruction_loop_with_ll_sc)