aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/include/asm/asmmacro.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/mips/include/asm/asmmacro.h b/arch/mips/include/asm/asmmacro.h
index 6156ac8c4cfb..76317a70200d 100644
--- a/arch/mips/include/asm/asmmacro.h
+++ b/arch/mips/include/asm/asmmacro.h
@@ -211,9 +211,13 @@
211 .endm 211 .endm
212 212
213#ifdef TOOLCHAIN_SUPPORTS_MSA 213#ifdef TOOLCHAIN_SUPPORTS_MSA
214/* preprocessor replaces the fp in ".set fp=64" with $30 otherwise */
215#undef fp
216
214 .macro _cfcmsa rd, cs 217 .macro _cfcmsa rd, cs
215 .set push 218 .set push
216 .set mips32r2 219 .set mips32r2
220 .set fp=64
217 .set msa 221 .set msa
218 cfcmsa \rd, $\cs 222 cfcmsa \rd, $\cs
219 .set pop 223 .set pop
@@ -222,6 +226,7 @@
222 .macro _ctcmsa cd, rs 226 .macro _ctcmsa cd, rs
223 .set push 227 .set push
224 .set mips32r2 228 .set mips32r2
229 .set fp=64
225 .set msa 230 .set msa
226 ctcmsa $\cd, \rs 231 ctcmsa $\cd, \rs
227 .set pop 232 .set pop
@@ -230,6 +235,7 @@
230 .macro ld_d wd, off, base 235 .macro ld_d wd, off, base
231 .set push 236 .set push
232 .set mips32r2 237 .set mips32r2
238 .set fp=64
233 .set msa 239 .set msa
234 ld.d $w\wd, \off(\base) 240 ld.d $w\wd, \off(\base)
235 .set pop 241 .set pop
@@ -238,6 +244,7 @@
238 .macro st_d wd, off, base 244 .macro st_d wd, off, base
239 .set push 245 .set push
240 .set mips32r2 246 .set mips32r2
247 .set fp=64
241 .set msa 248 .set msa
242 st.d $w\wd, \off(\base) 249 st.d $w\wd, \off(\base)
243 .set pop 250 .set pop
@@ -246,6 +253,7 @@
246 .macro copy_u_w ws, n 253 .macro copy_u_w ws, n
247 .set push 254 .set push
248 .set mips32r2 255 .set mips32r2
256 .set fp=64
249 .set msa 257 .set msa
250 copy_u.w $1, $w\ws[\n] 258 copy_u.w $1, $w\ws[\n]
251 .set pop 259 .set pop
@@ -254,6 +262,7 @@
254 .macro copy_u_d ws, n 262 .macro copy_u_d ws, n
255 .set push 263 .set push
256 .set mips64r2 264 .set mips64r2
265 .set fp=64
257 .set msa 266 .set msa
258 copy_u.d $1, $w\ws[\n] 267 copy_u.d $1, $w\ws[\n]
259 .set pop 268 .set pop
@@ -262,6 +271,7 @@
262 .macro insert_w wd, n 271 .macro insert_w wd, n
263 .set push 272 .set push
264 .set mips32r2 273 .set mips32r2
274 .set fp=64
265 .set msa 275 .set msa
266 insert.w $w\wd[\n], $1 276 insert.w $w\wd[\n], $1
267 .set pop 277 .set pop
@@ -270,6 +280,7 @@
270 .macro insert_d wd, n 280 .macro insert_d wd, n
271 .set push 281 .set push
272 .set mips64r2 282 .set mips64r2
283 .set fp=64
273 .set msa 284 .set msa
274 insert.d $w\wd[\n], $1 285 insert.d $w\wd[\n], $1
275 .set pop 286 .set pop