diff options
author | Babu Moger <babu.moger@oracle.com> | 2017-08-07 19:52:50 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-08-10 17:56:05 -0400 |
commit | 1ab326934fa1a16f776b014ba482c1be08a205a1 (patch) | |
tree | 9209747ea41877454fae3634d59a0a5ec2793c64 | |
parent | de5c073e383d884da391627dbab8e0e7cfe48558 (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.S | 120 | ||||
-rw-r--r-- | arch/sparc/lib/NG4memcpy.S | 128 |
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 |
17 | ENDPROC(__restore_asi) | 17 | ENDPROC(__restore_asi) |
18 | 18 | ||
19 | ENTRY(NG4_retl_o2) | 19 | ENTRY(memcpy_retl_o2) |
20 | ba,pt %xcc, __restore_asi | 20 | ba,pt %xcc, __restore_asi |
21 | mov %o2, %o0 | 21 | mov %o2, %o0 |
22 | ENDPROC(NG4_retl_o2) | 22 | ENDPROC(memcpy_retl_o2) |
23 | ENTRY(NG4_retl_o2_plus_1) | 23 | ENTRY(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 |
26 | ENDPROC(NG4_retl_o2_plus_1) | 26 | ENDPROC(memcpy_retl_o2_plus_1) |
27 | ENTRY(NG4_retl_o2_plus_4) | 27 | ENTRY(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 |
30 | ENDPROC(NG4_retl_o2_plus_4) | 30 | ENDPROC(memcpy_retl_o2_plus_4) |
31 | ENTRY(NG4_retl_o2_plus_o5) | 31 | ENTRY(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 |
34 | ENDPROC(NG4_retl_o2_plus_o5) | 34 | ENDPROC(memcpy_retl_o2_plus_o5) |
35 | ENTRY(NG4_retl_o2_plus_o5_plus_4) | 35 | ENTRY(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 |
39 | ENDPROC(NG4_retl_o2_plus_o5_plus_4) | 39 | ENDPROC(memcpy_retl_o2_plus_o5_plus_4) |
40 | ENTRY(NG4_retl_o2_plus_o5_plus_8) | 40 | ENTRY(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 |
44 | ENDPROC(NG4_retl_o2_plus_o5_plus_8) | 44 | ENDPROC(memcpy_retl_o2_plus_o5_plus_8) |
45 | ENTRY(NG4_retl_o2_plus_o5_plus_16) | 45 | ENTRY(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 |
49 | ENDPROC(NG4_retl_o2_plus_o5_plus_16) | 49 | ENDPROC(memcpy_retl_o2_plus_o5_plus_16) |
50 | ENTRY(NG4_retl_o2_plus_o5_plus_24) | 50 | ENTRY(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 |
54 | ENDPROC(NG4_retl_o2_plus_o5_plus_24) | 54 | ENDPROC(memcpy_retl_o2_plus_o5_plus_24) |
55 | ENTRY(NG4_retl_o2_plus_o5_plus_32) | 55 | ENTRY(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 |
59 | ENDPROC(NG4_retl_o2_plus_o5_plus_32) | 59 | ENDPROC(memcpy_retl_o2_plus_o5_plus_32) |
60 | ENTRY(NG4_retl_o2_plus_g1) | 60 | ENTRY(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 |
63 | ENDPROC(NG4_retl_o2_plus_g1) | 63 | ENDPROC(memcpy_retl_o2_plus_g1) |
64 | ENTRY(NG4_retl_o2_plus_g1_plus_1) | 64 | ENTRY(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 |
68 | ENDPROC(NG4_retl_o2_plus_g1_plus_1) | 68 | ENDPROC(memcpy_retl_o2_plus_g1_plus_1) |
69 | ENTRY(NG4_retl_o2_plus_g1_plus_8) | 69 | ENTRY(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 |
73 | ENDPROC(NG4_retl_o2_plus_g1_plus_8) | 73 | ENDPROC(memcpy_retl_o2_plus_g1_plus_8) |
74 | ENTRY(NG4_retl_o2_plus_o4) | 74 | ENTRY(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 |
77 | ENDPROC(NG4_retl_o2_plus_o4) | 77 | ENDPROC(memcpy_retl_o2_plus_o4) |
78 | ENTRY(NG4_retl_o2_plus_o4_plus_8) | 78 | ENTRY(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 |
82 | ENDPROC(NG4_retl_o2_plus_o4_plus_8) | 82 | ENDPROC(memcpy_retl_o2_plus_o4_plus_8) |
83 | ENTRY(NG4_retl_o2_plus_o4_plus_16) | 83 | ENTRY(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 |
87 | ENDPROC(NG4_retl_o2_plus_o4_plus_16) | 87 | ENDPROC(memcpy_retl_o2_plus_o4_plus_16) |
88 | ENTRY(NG4_retl_o2_plus_o4_plus_24) | 88 | ENTRY(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 |
92 | ENDPROC(NG4_retl_o2_plus_o4_plus_24) | 92 | ENDPROC(memcpy_retl_o2_plus_o4_plus_24) |
93 | ENTRY(NG4_retl_o2_plus_o4_plus_32) | 93 | ENTRY(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 |
97 | ENDPROC(NG4_retl_o2_plus_o4_plus_32) | 97 | ENDPROC(memcpy_retl_o2_plus_o4_plus_32) |
98 | ENTRY(NG4_retl_o2_plus_o4_plus_40) | 98 | ENTRY(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 |
102 | ENDPROC(NG4_retl_o2_plus_o4_plus_40) | 102 | ENDPROC(memcpy_retl_o2_plus_o4_plus_40) |
103 | ENTRY(NG4_retl_o2_plus_o4_plus_48) | 103 | ENTRY(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 |
107 | ENDPROC(NG4_retl_o2_plus_o4_plus_48) | 107 | ENDPROC(memcpy_retl_o2_plus_o4_plus_48) |
108 | ENTRY(NG4_retl_o2_plus_o4_plus_56) | 108 | ENTRY(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 |
112 | ENDPROC(NG4_retl_o2_plus_o4_plus_56) | 112 | ENDPROC(memcpy_retl_o2_plus_o4_plus_56) |
113 | ENTRY(NG4_retl_o2_plus_o4_plus_64) | 113 | ENTRY(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 |
117 | ENDPROC(NG4_retl_o2_plus_o4_plus_64) | 117 | ENDPROC(memcpy_retl_o2_plus_o4_plus_64) |
118 | ENTRY(NG4_retl_o2_plus_o4_fp) | 118 | ENTRY(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 |
121 | ENDPROC(NG4_retl_o2_plus_o4_fp) | 121 | ENDPROC(memcpy_retl_o2_plus_o4_fp) |
122 | ENTRY(NG4_retl_o2_plus_o4_plus_8_fp) | 122 | ENTRY(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 |
126 | ENDPROC(NG4_retl_o2_plus_o4_plus_8_fp) | 126 | ENDPROC(memcpy_retl_o2_plus_o4_plus_8_fp) |
127 | ENTRY(NG4_retl_o2_plus_o4_plus_16_fp) | 127 | ENTRY(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 |
131 | ENDPROC(NG4_retl_o2_plus_o4_plus_16_fp) | 131 | ENDPROC(memcpy_retl_o2_plus_o4_plus_16_fp) |
132 | ENTRY(NG4_retl_o2_plus_o4_plus_24_fp) | 132 | ENTRY(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 |
136 | ENDPROC(NG4_retl_o2_plus_o4_plus_24_fp) | 136 | ENDPROC(memcpy_retl_o2_plus_o4_plus_24_fp) |
137 | ENTRY(NG4_retl_o2_plus_o4_plus_32_fp) | 137 | ENTRY(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 |
141 | ENDPROC(NG4_retl_o2_plus_o4_plus_32_fp) | 141 | ENDPROC(memcpy_retl_o2_plus_o4_plus_32_fp) |
142 | ENTRY(NG4_retl_o2_plus_o4_plus_40_fp) | 142 | ENTRY(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 |
146 | ENDPROC(NG4_retl_o2_plus_o4_plus_40_fp) | 146 | ENDPROC(memcpy_retl_o2_plus_o4_plus_40_fp) |
147 | ENTRY(NG4_retl_o2_plus_o4_plus_48_fp) | 147 | ENTRY(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 |
151 | ENDPROC(NG4_retl_o2_plus_o4_plus_48_fp) | 151 | ENDPROC(memcpy_retl_o2_plus_o4_plus_48_fp) |
152 | ENTRY(NG4_retl_o2_plus_o4_plus_56_fp) | 152 | ENTRY(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 |
156 | ENDPROC(NG4_retl_o2_plus_o4_plus_56_fp) | 156 | ENDPROC(memcpy_retl_o2_plus_o4_plus_56_fp) |
157 | ENTRY(NG4_retl_o2_plus_o4_plus_64_fp) | 157 | ENTRY(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 |
161 | ENDPROC(NG4_retl_o2_plus_o4_plus_64_fp) | 161 | ENDPROC(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 | ||
129 | 1: EX_LD(LOAD(ldub, %o1 + 0x00, %g2), NG4_retl_o2_plus_g1) | 129 | 1: 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 | ||
136 | 51: LOAD(prefetch, %o1 + 0x040, #n_reads_strong) | 136 | 51: 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 | ||
159 | 1: EX_LD(LOAD(ldx, %o1 + 0x00, %g2), NG4_retl_o2_plus_g1) | 159 | 1: 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 | ||
171 | 1: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), NG4_retl_o2_plus_o4) | 171 | 1: 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) |
222 | 1: EX_LD_FP(LOAD(ldd, %g1 + 0x08, %f2), NG4_retl_o2_plus_o4) | 222 | 1: 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 |
275 | 1: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), NG4_retl_o2_plus_o5) | 275 | 1: 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 |
287 | 2: andcc %o2, 0x18, %o5 | 287 | 2: 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 | ||
291 | 1: EX_LD(LOAD(ldx, %o1 + 0x00, %g1), NG4_retl_o2_plus_o5) | 291 | 1: 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) |
297 | 3: brz,pt %o2, .Lexit | 297 | 3: 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 | ||
315 | 1: EX_LD(LOAD(ldub, %o1 + 0x00, %g2), NG4_retl_o2_plus_g1) | 315 | 1: 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) |
321 | 2: | 321 | 2: |
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 |
332 | 1: EX_LD(LOAD(ldx, %o1 + 0x08, %g3), NG4_retl_o2_plus_o5) | 332 | 1: 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 |
365 | 1: | 365 | 1: |
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: |
377 | 1: EX_LD(LOAD(ldub, %o1 + 0x00, %g1), NG4_retl_o2) | 377 | 1: 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 |