summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBabu Moger <babu.moger@oracle.com>2017-08-07 19:52:50 -0400
committerDavid S. Miller <davem@davemloft.net>2017-08-10 17:56:05 -0400
commit1ab326934fa1a16f776b014ba482c1be08a205a1 (patch)
tree9209747ea41877454fae3634d59a0a5ec2793c64
parentde5c073e383d884da391627dbab8e0e7cfe48558 (diff)
arch/sparc: Rename exception handlers
Rename exception handlers to memcpy_xxx as these are going to be used by new memcpy routines and these handlers are not exclusive to NG4memcpy anymore. Signed-off-by: Babu Moger <babu.moger@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc/lib/Memcpy_utils.S120
-rw-r--r--arch/sparc/lib/NG4memcpy.S128
2 files changed, 124 insertions, 124 deletions
diff --git a/arch/sparc/lib/Memcpy_utils.S b/arch/sparc/lib/Memcpy_utils.S
index f7a26e0be94f..bcc5d77b2027 100644
--- a/arch/sparc/lib/Memcpy_utils.S
+++ b/arch/sparc/lib/Memcpy_utils.S
@@ -16,148 +16,148 @@ ENTRY(__restore_asi)
16 wr %g0, ASI_AIUS, %asi 16 wr %g0, ASI_AIUS, %asi
17ENDPROC(__restore_asi) 17ENDPROC(__restore_asi)
18 18
19ENTRY(NG4_retl_o2) 19ENTRY(memcpy_retl_o2)
20 ba,pt %xcc, __restore_asi 20 ba,pt %xcc, __restore_asi
21 mov %o2, %o0 21 mov %o2, %o0
22ENDPROC(NG4_retl_o2) 22ENDPROC(memcpy_retl_o2)
23ENTRY(NG4_retl_o2_plus_1) 23ENTRY(memcpy_retl_o2_plus_1)
24 ba,pt %xcc, __restore_asi 24 ba,pt %xcc, __restore_asi
25 add %o2, 1, %o0 25 add %o2, 1, %o0
26ENDPROC(NG4_retl_o2_plus_1) 26ENDPROC(memcpy_retl_o2_plus_1)
27ENTRY(NG4_retl_o2_plus_4) 27ENTRY(memcpy_retl_o2_plus_4)
28 ba,pt %xcc, __restore_asi 28 ba,pt %xcc, __restore_asi
29 add %o2, 4, %o0 29 add %o2, 4, %o0
30ENDPROC(NG4_retl_o2_plus_4) 30ENDPROC(memcpy_retl_o2_plus_4)
31ENTRY(NG4_retl_o2_plus_o5) 31ENTRY(memcpy_retl_o2_plus_o5)
32 ba,pt %xcc, __restore_asi 32 ba,pt %xcc, __restore_asi
33 add %o2, %o5, %o0 33 add %o2, %o5, %o0
34ENDPROC(NG4_retl_o2_plus_o5) 34ENDPROC(memcpy_retl_o2_plus_o5)
35ENTRY(NG4_retl_o2_plus_o5_plus_4) 35ENTRY(memcpy_retl_o2_plus_o5_plus_4)
36 add %o5, 4, %o5 36 add %o5, 4, %o5
37 ba,pt %xcc, __restore_asi 37 ba,pt %xcc, __restore_asi
38 add %o2, %o5, %o0 38 add %o2, %o5, %o0
39ENDPROC(NG4_retl_o2_plus_o5_plus_4) 39ENDPROC(memcpy_retl_o2_plus_o5_plus_4)
40ENTRY(NG4_retl_o2_plus_o5_plus_8) 40ENTRY(memcpy_retl_o2_plus_o5_plus_8)
41 add %o5, 8, %o5 41 add %o5, 8, %o5
42 ba,pt %xcc, __restore_asi 42 ba,pt %xcc, __restore_asi
43 add %o2, %o5, %o0 43 add %o2, %o5, %o0
44ENDPROC(NG4_retl_o2_plus_o5_plus_8) 44ENDPROC(memcpy_retl_o2_plus_o5_plus_8)
45ENTRY(NG4_retl_o2_plus_o5_plus_16) 45ENTRY(memcpy_retl_o2_plus_o5_plus_16)
46 add %o5, 16, %o5 46 add %o5, 16, %o5
47 ba,pt %xcc, __restore_asi 47 ba,pt %xcc, __restore_asi
48 add %o2, %o5, %o0 48 add %o2, %o5, %o0
49ENDPROC(NG4_retl_o2_plus_o5_plus_16) 49ENDPROC(memcpy_retl_o2_plus_o5_plus_16)
50ENTRY(NG4_retl_o2_plus_o5_plus_24) 50ENTRY(memcpy_retl_o2_plus_o5_plus_24)
51 add %o5, 24, %o5 51 add %o5, 24, %o5
52 ba,pt %xcc, __restore_asi 52 ba,pt %xcc, __restore_asi
53 add %o2, %o5, %o0 53 add %o2, %o5, %o0
54ENDPROC(NG4_retl_o2_plus_o5_plus_24) 54ENDPROC(memcpy_retl_o2_plus_o5_plus_24)
55ENTRY(NG4_retl_o2_plus_o5_plus_32) 55ENTRY(memcpy_retl_o2_plus_o5_plus_32)
56 add %o5, 32, %o5 56 add %o5, 32, %o5
57 ba,pt %xcc, __restore_asi 57 ba,pt %xcc, __restore_asi
58 add %o2, %o5, %o0 58 add %o2, %o5, %o0
59ENDPROC(NG4_retl_o2_plus_o5_plus_32) 59ENDPROC(memcpy_retl_o2_plus_o5_plus_32)
60ENTRY(NG4_retl_o2_plus_g1) 60ENTRY(memcpy_retl_o2_plus_g1)
61 ba,pt %xcc, __restore_asi 61 ba,pt %xcc, __restore_asi
62 add %o2, %g1, %o0 62 add %o2, %g1, %o0
63ENDPROC(NG4_retl_o2_plus_g1) 63ENDPROC(memcpy_retl_o2_plus_g1)
64ENTRY(NG4_retl_o2_plus_g1_plus_1) 64ENTRY(memcpy_retl_o2_plus_g1_plus_1)
65 add %g1, 1, %g1 65 add %g1, 1, %g1
66 ba,pt %xcc, __restore_asi 66 ba,pt %xcc, __restore_asi
67 add %o2, %g1, %o0 67 add %o2, %g1, %o0
68ENDPROC(NG4_retl_o2_plus_g1_plus_1) 68ENDPROC(memcpy_retl_o2_plus_g1_plus_1)
69ENTRY(NG4_retl_o2_plus_g1_plus_8) 69ENTRY(memcpy_retl_o2_plus_g1_plus_8)
70 add %g1, 8, %g1 70 add %g1, 8, %g1
71 ba,pt %xcc, __restore_asi 71 ba,pt %xcc, __restore_asi
72 add %o2, %g1, %o0 72 add %o2, %g1, %o0
73ENDPROC(NG4_retl_o2_plus_g1_plus_8) 73ENDPROC(memcpy_retl_o2_plus_g1_plus_8)
74ENTRY(NG4_retl_o2_plus_o4) 74ENTRY(memcpy_retl_o2_plus_o4)
75 ba,pt %xcc, __restore_asi 75 ba,pt %xcc, __restore_asi
76 add %o2, %o4, %o0 76 add %o2, %o4, %o0
77ENDPROC(NG4_retl_o2_plus_o4) 77ENDPROC(memcpy_retl_o2_plus_o4)
78ENTRY(NG4_retl_o2_plus_o4_plus_8) 78ENTRY(memcpy_retl_o2_plus_o4_plus_8)
79 add %o4, 8, %o4 79 add %o4, 8, %o4
80 ba,pt %xcc, __restore_asi 80 ba,pt %xcc, __restore_asi
81 add %o2, %o4, %o0 81 add %o2, %o4, %o0
82ENDPROC(NG4_retl_o2_plus_o4_plus_8) 82ENDPROC(memcpy_retl_o2_plus_o4_plus_8)
83ENTRY(NG4_retl_o2_plus_o4_plus_16) 83ENTRY(memcpy_retl_o2_plus_o4_plus_16)
84 add %o4, 16, %o4 84 add %o4, 16, %o4
85 ba,pt %xcc, __restore_asi 85 ba,pt %xcc, __restore_asi
86 add %o2, %o4, %o0 86 add %o2, %o4, %o0
87ENDPROC(NG4_retl_o2_plus_o4_plus_16) 87ENDPROC(memcpy_retl_o2_plus_o4_plus_16)
88ENTRY(NG4_retl_o2_plus_o4_plus_24) 88ENTRY(memcpy_retl_o2_plus_o4_plus_24)
89 add %o4, 24, %o4 89 add %o4, 24, %o4
90 ba,pt %xcc, __restore_asi 90 ba,pt %xcc, __restore_asi
91 add %o2, %o4, %o0 91 add %o2, %o4, %o0
92ENDPROC(NG4_retl_o2_plus_o4_plus_24) 92ENDPROC(memcpy_retl_o2_plus_o4_plus_24)
93ENTRY(NG4_retl_o2_plus_o4_plus_32) 93ENTRY(memcpy_retl_o2_plus_o4_plus_32)
94 add %o4, 32, %o4 94 add %o4, 32, %o4
95 ba,pt %xcc, __restore_asi 95 ba,pt %xcc, __restore_asi
96 add %o2, %o4, %o0 96 add %o2, %o4, %o0
97ENDPROC(NG4_retl_o2_plus_o4_plus_32) 97ENDPROC(memcpy_retl_o2_plus_o4_plus_32)
98ENTRY(NG4_retl_o2_plus_o4_plus_40) 98ENTRY(memcpy_retl_o2_plus_o4_plus_40)
99 add %o4, 40, %o4 99 add %o4, 40, %o4
100 ba,pt %xcc, __restore_asi 100 ba,pt %xcc, __restore_asi
101 add %o2, %o4, %o0 101 add %o2, %o4, %o0
102ENDPROC(NG4_retl_o2_plus_o4_plus_40) 102ENDPROC(memcpy_retl_o2_plus_o4_plus_40)
103ENTRY(NG4_retl_o2_plus_o4_plus_48) 103ENTRY(memcpy_retl_o2_plus_o4_plus_48)
104 add %o4, 48, %o4 104 add %o4, 48, %o4
105 ba,pt %xcc, __restore_asi 105 ba,pt %xcc, __restore_asi
106 add %o2, %o4, %o0 106 add %o2, %o4, %o0
107ENDPROC(NG4_retl_o2_plus_o4_plus_48) 107ENDPROC(memcpy_retl_o2_plus_o4_plus_48)
108ENTRY(NG4_retl_o2_plus_o4_plus_56) 108ENTRY(memcpy_retl_o2_plus_o4_plus_56)
109 add %o4, 56, %o4 109 add %o4, 56, %o4
110 ba,pt %xcc, __restore_asi 110 ba,pt %xcc, __restore_asi
111 add %o2, %o4, %o0 111 add %o2, %o4, %o0
112ENDPROC(NG4_retl_o2_plus_o4_plus_56) 112ENDPROC(memcpy_retl_o2_plus_o4_plus_56)
113ENTRY(NG4_retl_o2_plus_o4_plus_64) 113ENTRY(memcpy_retl_o2_plus_o4_plus_64)
114 add %o4, 64, %o4 114 add %o4, 64, %o4
115 ba,pt %xcc, __restore_asi 115 ba,pt %xcc, __restore_asi
116 add %o2, %o4, %o0 116 add %o2, %o4, %o0
117ENDPROC(NG4_retl_o2_plus_o4_plus_64) 117ENDPROC(memcpy_retl_o2_plus_o4_plus_64)
118ENTRY(NG4_retl_o2_plus_o4_fp) 118ENTRY(memcpy_retl_o2_plus_o4_fp)
119 ba,pt %xcc, __restore_asi_fp 119 ba,pt %xcc, __restore_asi_fp
120 add %o2, %o4, %o0 120 add %o2, %o4, %o0
121ENDPROC(NG4_retl_o2_plus_o4_fp) 121ENDPROC(memcpy_retl_o2_plus_o4_fp)
122ENTRY(NG4_retl_o2_plus_o4_plus_8_fp) 122ENTRY(memcpy_retl_o2_plus_o4_plus_8_fp)
123 add %o4, 8, %o4 123 add %o4, 8, %o4
124 ba,pt %xcc, __restore_asi_fp 124 ba,pt %xcc, __restore_asi_fp
125 add %o2, %o4, %o0 125 add %o2, %o4, %o0
126ENDPROC(NG4_retl_o2_plus_o4_plus_8_fp) 126ENDPROC(memcpy_retl_o2_plus_o4_plus_8_fp)
127ENTRY(NG4_retl_o2_plus_o4_plus_16_fp) 127ENTRY(memcpy_retl_o2_plus_o4_plus_16_fp)
128 add %o4, 16, %o4 128 add %o4, 16, %o4
129 ba,pt %xcc, __restore_asi_fp 129 ba,pt %xcc, __restore_asi_fp
130 add %o2, %o4, %o0 130 add %o2, %o4, %o0
131ENDPROC(NG4_retl_o2_plus_o4_plus_16_fp) 131ENDPROC(memcpy_retl_o2_plus_o4_plus_16_fp)
132ENTRY(NG4_retl_o2_plus_o4_plus_24_fp) 132ENTRY(memcpy_retl_o2_plus_o4_plus_24_fp)
133 add %o4, 24, %o4 133 add %o4, 24, %o4
134 ba,pt %xcc, __restore_asi_fp 134 ba,pt %xcc, __restore_asi_fp
135 add %o2, %o4, %o0 135 add %o2, %o4, %o0
136ENDPROC(NG4_retl_o2_plus_o4_plus_24_fp) 136ENDPROC(memcpy_retl_o2_plus_o4_plus_24_fp)
137ENTRY(NG4_retl_o2_plus_o4_plus_32_fp) 137ENTRY(memcpy_retl_o2_plus_o4_plus_32_fp)
138 add %o4, 32, %o4 138 add %o4, 32, %o4
139 ba,pt %xcc, __restore_asi_fp 139 ba,pt %xcc, __restore_asi_fp
140 add %o2, %o4, %o0 140 add %o2, %o4, %o0
141ENDPROC(NG4_retl_o2_plus_o4_plus_32_fp) 141ENDPROC(memcpy_retl_o2_plus_o4_plus_32_fp)
142ENTRY(NG4_retl_o2_plus_o4_plus_40_fp) 142ENTRY(memcpy_retl_o2_plus_o4_plus_40_fp)
143 add %o4, 40, %o4 143 add %o4, 40, %o4
144 ba,pt %xcc, __restore_asi_fp 144 ba,pt %xcc, __restore_asi_fp
145 add %o2, %o4, %o0 145 add %o2, %o4, %o0
146ENDPROC(NG4_retl_o2_plus_o4_plus_40_fp) 146ENDPROC(memcpy_retl_o2_plus_o4_plus_40_fp)
147ENTRY(NG4_retl_o2_plus_o4_plus_48_fp) 147ENTRY(memcpy_retl_o2_plus_o4_plus_48_fp)
148 add %o4, 48, %o4 148 add %o4, 48, %o4
149 ba,pt %xcc, __restore_asi_fp 149 ba,pt %xcc, __restore_asi_fp
150 add %o2, %o4, %o0 150 add %o2, %o4, %o0
151ENDPROC(NG4_retl_o2_plus_o4_plus_48_fp) 151ENDPROC(memcpy_retl_o2_plus_o4_plus_48_fp)
152ENTRY(NG4_retl_o2_plus_o4_plus_56_fp) 152ENTRY(memcpy_retl_o2_plus_o4_plus_56_fp)
153 add %o4, 56, %o4 153 add %o4, 56, %o4
154 ba,pt %xcc, __restore_asi_fp 154 ba,pt %xcc, __restore_asi_fp
155 add %o2, %o4, %o0 155 add %o2, %o4, %o0
156ENDPROC(NG4_retl_o2_plus_o4_plus_56_fp) 156ENDPROC(memcpy_retl_o2_plus_o4_plus_56_fp)
157ENTRY(NG4_retl_o2_plus_o4_plus_64_fp) 157ENTRY(memcpy_retl_o2_plus_o4_plus_64_fp)
158 add %o4, 64, %o4 158 add %o4, 64, %o4
159 ba,pt %xcc, __restore_asi_fp 159 ba,pt %xcc, __restore_asi_fp
160 add %o2, %o4, %o0 160 add %o2, %o4, %o0
161ENDPROC(NG4_retl_o2_plus_o4_plus_64_fp) 161ENDPROC(memcpy_retl_o2_plus_o4_plus_64_fp)
162 162
163#endif 163#endif
diff --git a/arch/sparc/lib/NG4memcpy.S b/arch/sparc/lib/NG4memcpy.S
index e20d6541fb68..b5dacd1d2078 100644
--- a/arch/sparc/lib/NG4memcpy.S
+++ b/arch/sparc/lib/NG4memcpy.S
@@ -126,12 +126,12 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
126 sub %o2, %g1, %o2 126 sub %o2, %g1, %o2
127 127
128 128
1291: EX_LD(LOAD(ldub, %o1 + 0x00, %g2), NG4_retl_o2_plus_g1) 1291: EX_LD(LOAD(ldub, %o1 + 0x00, %g2), memcpy_retl_o2_plus_g1)
130 add %o1, 1, %o1 130 add %o1, 1, %o1
131 subcc %g1, 1, %g1 131 subcc %g1, 1, %g1
132 add %o0, 1, %o0 132 add %o0, 1, %o0
133 bne,pt %icc, 1b 133 bne,pt %icc, 1b
134 EX_ST(STORE(stb, %g2, %o0 - 0x01), NG4_retl_o2_plus_g1_plus_1) 134 EX_ST(STORE(stb, %g2, %o0 - 0x01), memcpy_retl_o2_plus_g1_plus_1)
135 135
13651: LOAD(prefetch, %o1 + 0x040, #n_reads_strong) 13651: LOAD(prefetch, %o1 + 0x040, #n_reads_strong)
137 LOAD(prefetch, %o1 + 0x080, #n_reads_strong) 137 LOAD(prefetch, %o1 + 0x080, #n_reads_strong)
@@ -156,43 +156,43 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
156 brz,pt %g1, .Llarge_aligned 156 brz,pt %g1, .Llarge_aligned
157 sub %o2, %g1, %o2 157 sub %o2, %g1, %o2
158 158
1591: EX_LD(LOAD(ldx, %o1 + 0x00, %g2), NG4_retl_o2_plus_g1) 1591: EX_LD(LOAD(ldx, %o1 + 0x00, %g2), memcpy_retl_o2_plus_g1)
160 add %o1, 8, %o1 160 add %o1, 8, %o1
161 subcc %g1, 8, %g1 161 subcc %g1, 8, %g1
162 add %o0, 8, %o0 162 add %o0, 8, %o0
163 bne,pt %icc, 1b 163 bne,pt %icc, 1b
164 EX_ST(STORE(stx, %g2, %o0 - 0x08), NG4_retl_o2_plus_g1_plus_8) 164 EX_ST(STORE(stx, %g2, %o0 - 0x08), memcpy_retl_o2_plus_g1_plus_8)
165 165
166.Llarge_aligned: 166.Llarge_aligned:
167 /* len >= 0x80 && src 8-byte aligned && dest 8-byte aligned */ 167 /* len >= 0x80 && src 8-byte aligned && dest 8-byte aligned */
168 andn %o2, 0x3f, %o4 168 andn %o2, 0x3f, %o4
169 sub %o2, %o4, %o2 169 sub %o2, %o4, %o2
170 170
1711: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), NG4_retl_o2_plus_o4) 1711: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), memcpy_retl_o2_plus_o4)
172 add %o1, 0x40, %o1 172 add %o1, 0x40, %o1
173 EX_LD(LOAD(ldx, %o1 - 0x38, %g2), NG4_retl_o2_plus_o4) 173 EX_LD(LOAD(ldx, %o1 - 0x38, %g2), memcpy_retl_o2_plus_o4)
174 subcc %o4, 0x40, %o4 174 subcc %o4, 0x40, %o4
175 EX_LD(LOAD(ldx, %o1 - 0x30, %g3), NG4_retl_o2_plus_o4_plus_64) 175 EX_LD(LOAD(ldx, %o1 - 0x30, %g3), memcpy_retl_o2_plus_o4_plus_64)
176 EX_LD(LOAD(ldx, %o1 - 0x28, GLOBAL_SPARE), NG4_retl_o2_plus_o4_plus_64) 176 EX_LD(LOAD(ldx, %o1 - 0x28, GLOBAL_SPARE), memcpy_retl_o2_plus_o4_plus_64)
177 EX_LD(LOAD(ldx, %o1 - 0x20, %o5), NG4_retl_o2_plus_o4_plus_64) 177 EX_LD(LOAD(ldx, %o1 - 0x20, %o5), memcpy_retl_o2_plus_o4_plus_64)
178 EX_ST(STORE_INIT(%g1, %o0), NG4_retl_o2_plus_o4_plus_64) 178 EX_ST(STORE_INIT(%g1, %o0), memcpy_retl_o2_plus_o4_plus_64)
179 add %o0, 0x08, %o0 179 add %o0, 0x08, %o0
180 EX_ST(STORE_INIT(%g2, %o0), NG4_retl_o2_plus_o4_plus_56) 180 EX_ST(STORE_INIT(%g2, %o0), memcpy_retl_o2_plus_o4_plus_56)
181 add %o0, 0x08, %o0 181 add %o0, 0x08, %o0
182 EX_LD(LOAD(ldx, %o1 - 0x18, %g2), NG4_retl_o2_plus_o4_plus_48) 182 EX_LD(LOAD(ldx, %o1 - 0x18, %g2), memcpy_retl_o2_plus_o4_plus_48)
183 EX_ST(STORE_INIT(%g3, %o0), NG4_retl_o2_plus_o4_plus_48) 183 EX_ST(STORE_INIT(%g3, %o0), memcpy_retl_o2_plus_o4_plus_48)
184 add %o0, 0x08, %o0 184 add %o0, 0x08, %o0
185 EX_LD(LOAD(ldx, %o1 - 0x10, %g3), NG4_retl_o2_plus_o4_plus_40) 185 EX_LD(LOAD(ldx, %o1 - 0x10, %g3), memcpy_retl_o2_plus_o4_plus_40)
186 EX_ST(STORE_INIT(GLOBAL_SPARE, %o0), NG4_retl_o2_plus_o4_plus_40) 186 EX_ST(STORE_INIT(GLOBAL_SPARE, %o0), memcpy_retl_o2_plus_o4_plus_40)
187 add %o0, 0x08, %o0 187 add %o0, 0x08, %o0
188 EX_LD(LOAD(ldx, %o1 - 0x08, GLOBAL_SPARE), NG4_retl_o2_plus_o4_plus_32) 188 EX_LD(LOAD(ldx, %o1 - 0x08, GLOBAL_SPARE), memcpy_retl_o2_plus_o4_plus_32)
189 EX_ST(STORE_INIT(%o5, %o0), NG4_retl_o2_plus_o4_plus_32) 189 EX_ST(STORE_INIT(%o5, %o0), memcpy_retl_o2_plus_o4_plus_32)
190 add %o0, 0x08, %o0 190 add %o0, 0x08, %o0
191 EX_ST(STORE_INIT(%g2, %o0), NG4_retl_o2_plus_o4_plus_24) 191 EX_ST(STORE_INIT(%g2, %o0), memcpy_retl_o2_plus_o4_plus_24)
192 add %o0, 0x08, %o0 192 add %o0, 0x08, %o0
193 EX_ST(STORE_INIT(%g3, %o0), NG4_retl_o2_plus_o4_plus_16) 193 EX_ST(STORE_INIT(%g3, %o0), memcpy_retl_o2_plus_o4_plus_16)
194 add %o0, 0x08, %o0 194 add %o0, 0x08, %o0
195 EX_ST(STORE_INIT(GLOBAL_SPARE, %o0), NG4_retl_o2_plus_o4_plus_8) 195 EX_ST(STORE_INIT(GLOBAL_SPARE, %o0), memcpy_retl_o2_plus_o4_plus_8)
196 add %o0, 0x08, %o0 196 add %o0, 0x08, %o0
197 bne,pt %icc, 1b 197 bne,pt %icc, 1b
198 LOAD(prefetch, %o1 + 0x200, #n_reads_strong) 198 LOAD(prefetch, %o1 + 0x200, #n_reads_strong)
@@ -218,17 +218,17 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
218 sub %o2, %o4, %o2 218 sub %o2, %o4, %o2
219 alignaddr %o1, %g0, %g1 219 alignaddr %o1, %g0, %g1
220 add %o1, %o4, %o1 220 add %o1, %o4, %o1
221 EX_LD_FP(LOAD(ldd, %g1 + 0x00, %f0), NG4_retl_o2_plus_o4) 221 EX_LD_FP(LOAD(ldd, %g1 + 0x00, %f0), memcpy_retl_o2_plus_o4)
2221: EX_LD_FP(LOAD(ldd, %g1 + 0x08, %f2), NG4_retl_o2_plus_o4) 2221: EX_LD_FP(LOAD(ldd, %g1 + 0x08, %f2), memcpy_retl_o2_plus_o4)
223 subcc %o4, 0x40, %o4 223 subcc %o4, 0x40, %o4
224 EX_LD_FP(LOAD(ldd, %g1 + 0x10, %f4), NG4_retl_o2_plus_o4_plus_64) 224 EX_LD_FP(LOAD(ldd, %g1 + 0x10, %f4), memcpy_retl_o2_plus_o4_plus_64)
225 EX_LD_FP(LOAD(ldd, %g1 + 0x18, %f6), NG4_retl_o2_plus_o4_plus_64) 225 EX_LD_FP(LOAD(ldd, %g1 + 0x18, %f6), memcpy_retl_o2_plus_o4_plus_64)
226 EX_LD_FP(LOAD(ldd, %g1 + 0x20, %f8), NG4_retl_o2_plus_o4_plus_64) 226 EX_LD_FP(LOAD(ldd, %g1 + 0x20, %f8), memcpy_retl_o2_plus_o4_plus_64)
227 EX_LD_FP(LOAD(ldd, %g1 + 0x28, %f10), NG4_retl_o2_plus_o4_plus_64) 227 EX_LD_FP(LOAD(ldd, %g1 + 0x28, %f10), memcpy_retl_o2_plus_o4_plus_64)
228 EX_LD_FP(LOAD(ldd, %g1 + 0x30, %f12), NG4_retl_o2_plus_o4_plus_64) 228 EX_LD_FP(LOAD(ldd, %g1 + 0x30, %f12), memcpy_retl_o2_plus_o4_plus_64)
229 EX_LD_FP(LOAD(ldd, %g1 + 0x38, %f14), NG4_retl_o2_plus_o4_plus_64) 229 EX_LD_FP(LOAD(ldd, %g1 + 0x38, %f14), memcpy_retl_o2_plus_o4_plus_64)
230 faligndata %f0, %f2, %f16 230 faligndata %f0, %f2, %f16
231 EX_LD_FP(LOAD(ldd, %g1 + 0x40, %f0), NG4_retl_o2_plus_o4_plus_64) 231 EX_LD_FP(LOAD(ldd, %g1 + 0x40, %f0), memcpy_retl_o2_plus_o4_plus_64)
232 faligndata %f2, %f4, %f18 232 faligndata %f2, %f4, %f18
233 add %g1, 0x40, %g1 233 add %g1, 0x40, %g1
234 faligndata %f4, %f6, %f20 234 faligndata %f4, %f6, %f20
@@ -237,14 +237,14 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
237 faligndata %f10, %f12, %f26 237 faligndata %f10, %f12, %f26
238 faligndata %f12, %f14, %f28 238 faligndata %f12, %f14, %f28
239 faligndata %f14, %f0, %f30 239 faligndata %f14, %f0, %f30
240 EX_ST_FP(STORE(std, %f16, %o0 + 0x00), NG4_retl_o2_plus_o4_plus_64) 240 EX_ST_FP(STORE(std, %f16, %o0 + 0x00), memcpy_retl_o2_plus_o4_plus_64)
241 EX_ST_FP(STORE(std, %f18, %o0 + 0x08), NG4_retl_o2_plus_o4_plus_56) 241 EX_ST_FP(STORE(std, %f18, %o0 + 0x08), memcpy_retl_o2_plus_o4_plus_56)
242 EX_ST_FP(STORE(std, %f20, %o0 + 0x10), NG4_retl_o2_plus_o4_plus_48) 242 EX_ST_FP(STORE(std, %f20, %o0 + 0x10), memcpy_retl_o2_plus_o4_plus_48)
243 EX_ST_FP(STORE(std, %f22, %o0 + 0x18), NG4_retl_o2_plus_o4_plus_40) 243 EX_ST_FP(STORE(std, %f22, %o0 + 0x18), memcpy_retl_o2_plus_o4_plus_40)
244 EX_ST_FP(STORE(std, %f24, %o0 + 0x20), NG4_retl_o2_plus_o4_plus_32) 244 EX_ST_FP(STORE(std, %f24, %o0 + 0x20), memcpy_retl_o2_plus_o4_plus_32)
245 EX_ST_FP(STORE(std, %f26, %o0 + 0x28), NG4_retl_o2_plus_o4_plus_24) 245 EX_ST_FP(STORE(std, %f26, %o0 + 0x28), memcpy_retl_o2_plus_o4_plus_24)
246 EX_ST_FP(STORE(std, %f28, %o0 + 0x30), NG4_retl_o2_plus_o4_plus_16) 246 EX_ST_FP(STORE(std, %f28, %o0 + 0x30), memcpy_retl_o2_plus_o4_plus_16)
247 EX_ST_FP(STORE(std, %f30, %o0 + 0x38), NG4_retl_o2_plus_o4_plus_8) 247 EX_ST_FP(STORE(std, %f30, %o0 + 0x38), memcpy_retl_o2_plus_o4_plus_8)
248 add %o0, 0x40, %o0 248 add %o0, 0x40, %o0
249 bne,pt %icc, 1b 249 bne,pt %icc, 1b
250 LOAD(prefetch, %g1 + 0x200, #n_reads_strong) 250 LOAD(prefetch, %g1 + 0x200, #n_reads_strong)
@@ -272,38 +272,38 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
272 andncc %o2, 0x20 - 1, %o5 272 andncc %o2, 0x20 - 1, %o5
273 be,pn %icc, 2f 273 be,pn %icc, 2f
274 sub %o2, %o5, %o2 274 sub %o2, %o5, %o2
2751: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), NG4_retl_o2_plus_o5) 2751: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), memcpy_retl_o2_plus_o5)
276 EX_LD(LOAD(ldx, %o1 + 0x08, %g2), NG4_retl_o2_plus_o5) 276 EX_LD(LOAD(ldx, %o1 + 0x08, %g2), memcpy_retl_o2_plus_o5)
277 EX_LD(LOAD(ldx, %o1 + 0x10, GLOBAL_SPARE), NG4_retl_o2_plus_o5) 277 EX_LD(LOAD(ldx, %o1 + 0x10, GLOBAL_SPARE), memcpy_retl_o2_plus_o5)
278 EX_LD(LOAD(ldx, %o1 + 0x18, %o4), NG4_retl_o2_plus_o5) 278 EX_LD(LOAD(ldx, %o1 + 0x18, %o4), memcpy_retl_o2_plus_o5)
279 add %o1, 0x20, %o1 279 add %o1, 0x20, %o1
280 subcc %o5, 0x20, %o5 280 subcc %o5, 0x20, %o5
281 EX_ST(STORE(stx, %g1, %o0 + 0x00), NG4_retl_o2_plus_o5_plus_32) 281 EX_ST(STORE(stx, %g1, %o0 + 0x00), memcpy_retl_o2_plus_o5_plus_32)
282 EX_ST(STORE(stx, %g2, %o0 + 0x08), NG4_retl_o2_plus_o5_plus_24) 282 EX_ST(STORE(stx, %g2, %o0 + 0x08), memcpy_retl_o2_plus_o5_plus_24)
283 EX_ST(STORE(stx, GLOBAL_SPARE, %o0 + 0x10), NG4_retl_o2_plus_o5_plus_24) 283 EX_ST(STORE(stx, GLOBAL_SPARE, %o0 + 0x10), memcpy_retl_o2_plus_o5_plus_24)
284 EX_ST(STORE(stx, %o4, %o0 + 0x18), NG4_retl_o2_plus_o5_plus_8) 284 EX_ST(STORE(stx, %o4, %o0 + 0x18), memcpy_retl_o2_plus_o5_plus_8)
285 bne,pt %icc, 1b 285 bne,pt %icc, 1b
286 add %o0, 0x20, %o0 286 add %o0, 0x20, %o0
2872: andcc %o2, 0x18, %o5 2872: andcc %o2, 0x18, %o5
288 be,pt %icc, 3f 288 be,pt %icc, 3f
289 sub %o2, %o5, %o2 289 sub %o2, %o5, %o2
290 290
2911: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), NG4_retl_o2_plus_o5) 2911: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), memcpy_retl_o2_plus_o5)
292 add %o1, 0x08, %o1 292 add %o1, 0x08, %o1
293 add %o0, 0x08, %o0 293 add %o0, 0x08, %o0
294 subcc %o5, 0x08, %o5 294 subcc %o5, 0x08, %o5
295 bne,pt %icc, 1b 295 bne,pt %icc, 1b
296 EX_ST(STORE(stx, %g1, %o0 - 0x08), NG4_retl_o2_plus_o5_plus_8) 296 EX_ST(STORE(stx, %g1, %o0 - 0x08), memcpy_retl_o2_plus_o5_plus_8)
2973: brz,pt %o2, .Lexit 2973: brz,pt %o2, .Lexit
298 cmp %o2, 0x04 298 cmp %o2, 0x04
299 bl,pn %icc, .Ltiny 299 bl,pn %icc, .Ltiny
300 nop 300 nop
301 EX_LD(LOAD(lduw, %o1 + 0x00, %g1), NG4_retl_o2) 301 EX_LD(LOAD(lduw, %o1 + 0x00, %g1), memcpy_retl_o2)
302 add %o1, 0x04, %o1 302 add %o1, 0x04, %o1
303 add %o0, 0x04, %o0 303 add %o0, 0x04, %o0
304 subcc %o2, 0x04, %o2 304 subcc %o2, 0x04, %o2
305 bne,pn %icc, .Ltiny 305 bne,pn %icc, .Ltiny
306 EX_ST(STORE(stw, %g1, %o0 - 0x04), NG4_retl_o2_plus_4) 306 EX_ST(STORE(stw, %g1, %o0 - 0x04), memcpy_retl_o2_plus_4)
307 ba,a,pt %icc, .Lexit 307 ba,a,pt %icc, .Lexit
308.Lmedium_unaligned: 308.Lmedium_unaligned:
309 /* First get dest 8 byte aligned. */ 309 /* First get dest 8 byte aligned. */
@@ -312,12 +312,12 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
312 brz,pt %g1, 2f 312 brz,pt %g1, 2f
313 sub %o2, %g1, %o2 313 sub %o2, %g1, %o2
314 314
3151: EX_LD(LOAD(ldub, %o1 + 0x00, %g2), NG4_retl_o2_plus_g1) 3151: EX_LD(LOAD(ldub, %o1 + 0x00, %g2), memcpy_retl_o2_plus_g1)
316 add %o1, 1, %o1 316 add %o1, 1, %o1
317 subcc %g1, 1, %g1 317 subcc %g1, 1, %g1
318 add %o0, 1, %o0 318 add %o0, 1, %o0
319 bne,pt %icc, 1b 319 bne,pt %icc, 1b
320 EX_ST(STORE(stb, %g2, %o0 - 0x01), NG4_retl_o2_plus_g1_plus_1) 320 EX_ST(STORE(stb, %g2, %o0 - 0x01), memcpy_retl_o2_plus_g1_plus_1)
3212: 3212:
322 and %o1, 0x7, %g1 322 and %o1, 0x7, %g1
323 brz,pn %g1, .Lmedium_noprefetch 323 brz,pn %g1, .Lmedium_noprefetch
@@ -325,16 +325,16 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
325 mov 64, %g2 325 mov 64, %g2
326 sub %g2, %g1, %g2 326 sub %g2, %g1, %g2
327 andn %o1, 0x7, %o1 327 andn %o1, 0x7, %o1
328 EX_LD(LOAD(ldx, %o1 + 0x00, %o4), NG4_retl_o2) 328 EX_LD(LOAD(ldx, %o1 + 0x00, %o4), memcpy_retl_o2)
329 sllx %o4, %g1, %o4 329 sllx %o4, %g1, %o4
330 andn %o2, 0x08 - 1, %o5 330 andn %o2, 0x08 - 1, %o5
331 sub %o2, %o5, %o2 331 sub %o2, %o5, %o2
3321: EX_LD(LOAD(ldx, %o1 + 0x08, %g3), NG4_retl_o2_plus_o5) 3321: EX_LD(LOAD(ldx, %o1 + 0x08, %g3), memcpy_retl_o2_plus_o5)
333 add %o1, 0x08, %o1 333 add %o1, 0x08, %o1
334 subcc %o5, 0x08, %o5 334 subcc %o5, 0x08, %o5
335 srlx %g3, %g2, GLOBAL_SPARE 335 srlx %g3, %g2, GLOBAL_SPARE
336 or GLOBAL_SPARE, %o4, GLOBAL_SPARE 336 or GLOBAL_SPARE, %o4, GLOBAL_SPARE
337 EX_ST(STORE(stx, GLOBAL_SPARE, %o0 + 0x00), NG4_retl_o2_plus_o5_plus_8) 337 EX_ST(STORE(stx, GLOBAL_SPARE, %o0 + 0x00), memcpy_retl_o2_plus_o5_plus_8)
338 add %o0, 0x08, %o0 338 add %o0, 0x08, %o0
339 bne,pt %icc, 1b 339 bne,pt %icc, 1b
340 sllx %g3, %g1, %o4 340 sllx %g3, %g1, %o4
@@ -345,17 +345,17 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
345 ba,pt %icc, .Lsmall_unaligned 345 ba,pt %icc, .Lsmall_unaligned
346 346
347.Ltiny: 347.Ltiny:
348 EX_LD(LOAD(ldub, %o1 + 0x00, %g1), NG4_retl_o2) 348 EX_LD(LOAD(ldub, %o1 + 0x00, %g1), memcpy_retl_o2)
349 subcc %o2, 1, %o2 349 subcc %o2, 1, %o2
350 be,pn %icc, .Lexit 350 be,pn %icc, .Lexit
351 EX_ST(STORE(stb, %g1, %o0 + 0x00), NG4_retl_o2_plus_1) 351 EX_ST(STORE(stb, %g1, %o0 + 0x00), memcpy_retl_o2_plus_1)
352 EX_LD(LOAD(ldub, %o1 + 0x01, %g1), NG4_retl_o2) 352 EX_LD(LOAD(ldub, %o1 + 0x01, %g1), memcpy_retl_o2)
353 subcc %o2, 1, %o2 353 subcc %o2, 1, %o2
354 be,pn %icc, .Lexit 354 be,pn %icc, .Lexit
355 EX_ST(STORE(stb, %g1, %o0 + 0x01), NG4_retl_o2_plus_1) 355 EX_ST(STORE(stb, %g1, %o0 + 0x01), memcpy_retl_o2_plus_1)
356 EX_LD(LOAD(ldub, %o1 + 0x02, %g1), NG4_retl_o2) 356 EX_LD(LOAD(ldub, %o1 + 0x02, %g1), memcpy_retl_o2)
357 ba,pt %icc, .Lexit 357 ba,pt %icc, .Lexit
358 EX_ST(STORE(stb, %g1, %o0 + 0x02), NG4_retl_o2) 358 EX_ST(STORE(stb, %g1, %o0 + 0x02), memcpy_retl_o2)
359 359
360.Lsmall: 360.Lsmall:
361 andcc %g2, 0x3, %g0 361 andcc %g2, 0x3, %g0
@@ -363,23 +363,23 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
363 andn %o2, 0x4 - 1, %o5 363 andn %o2, 0x4 - 1, %o5
364 sub %o2, %o5, %o2 364 sub %o2, %o5, %o2
3651: 3651:
366 EX_LD(LOAD(lduw, %o1 + 0x00, %g1), NG4_retl_o2_plus_o5) 366 EX_LD(LOAD(lduw, %o1 + 0x00, %g1), memcpy_retl_o2_plus_o5)
367 add %o1, 0x04, %o1 367 add %o1, 0x04, %o1
368 subcc %o5, 0x04, %o5 368 subcc %o5, 0x04, %o5
369 add %o0, 0x04, %o0 369 add %o0, 0x04, %o0
370 bne,pt %icc, 1b 370 bne,pt %icc, 1b
371 EX_ST(STORE(stw, %g1, %o0 - 0x04), NG4_retl_o2_plus_o5_plus_4) 371 EX_ST(STORE(stw, %g1, %o0 - 0x04), memcpy_retl_o2_plus_o5_plus_4)
372 brz,pt %o2, .Lexit 372 brz,pt %o2, .Lexit
373 nop 373 nop
374 ba,a,pt %icc, .Ltiny 374 ba,a,pt %icc, .Ltiny
375 375
376.Lsmall_unaligned: 376.Lsmall_unaligned:
3771: EX_LD(LOAD(ldub, %o1 + 0x00, %g1), NG4_retl_o2) 3771: EX_LD(LOAD(ldub, %o1 + 0x00, %g1), memcpy_retl_o2)
378 add %o1, 1, %o1 378 add %o1, 1, %o1
379 add %o0, 1, %o0 379 add %o0, 1, %o0
380 subcc %o2, 1, %o2 380 subcc %o2, 1, %o2
381 bne,pt %icc, 1b 381 bne,pt %icc, 1b
382 EX_ST(STORE(stb, %g1, %o0 - 0x01), NG4_retl_o2_plus_1) 382 EX_ST(STORE(stb, %g1, %o0 - 0x01), memcpy_retl_o2_plus_1)
383 ba,a,pt %icc, .Lexit 383 ba,a,pt %icc, .Lexit
384 nop 384 nop
385 .size FUNC_NAME, .-FUNC_NAME 385 .size FUNC_NAME, .-FUNC_NAME