hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* 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)