|
@@ -211,6 +211,22 @@
|
|
.endm
|
|
.endm
|
|
|
|
|
|
#ifdef TOOLCHAIN_SUPPORTS_MSA
|
|
#ifdef TOOLCHAIN_SUPPORTS_MSA
|
|
|
|
+ .macro _cfcmsa rd, cs
|
|
|
|
+ .set push
|
|
|
|
+ .set mips32r2
|
|
|
|
+ .set msa
|
|
|
|
+ cfcmsa \rd, $\cs
|
|
|
|
+ .set pop
|
|
|
|
+ .endm
|
|
|
|
+
|
|
|
|
+ .macro _ctcmsa cd, rs
|
|
|
|
+ .set push
|
|
|
|
+ .set mips32r2
|
|
|
|
+ .set msa
|
|
|
|
+ ctcmsa $\cd, \rs
|
|
|
|
+ .set pop
|
|
|
|
+ .endm
|
|
|
|
+
|
|
.macro ld_d wd, off, base
|
|
.macro ld_d wd, off, base
|
|
.set push
|
|
.set push
|
|
.set mips32r2
|
|
.set mips32r2
|
|
@@ -283,7 +299,7 @@
|
|
/*
|
|
/*
|
|
* Temporary until all toolchains in use include MSA support.
|
|
* Temporary until all toolchains in use include MSA support.
|
|
*/
|
|
*/
|
|
- .macro cfcmsa rd, cs
|
|
|
|
|
|
+ .macro _cfcmsa rd, cs
|
|
.set push
|
|
.set push
|
|
.set noat
|
|
.set noat
|
|
SET_HARDFLOAT
|
|
SET_HARDFLOAT
|
|
@@ -293,7 +309,7 @@
|
|
.set pop
|
|
.set pop
|
|
.endm
|
|
.endm
|
|
|
|
|
|
- .macro ctcmsa cd, rs
|
|
|
|
|
|
+ .macro _ctcmsa cd, rs
|
|
.set push
|
|
.set push
|
|
.set noat
|
|
.set noat
|
|
SET_HARDFLOAT
|
|
SET_HARDFLOAT
|
|
@@ -391,7 +407,7 @@
|
|
.set push
|
|
.set push
|
|
.set noat
|
|
.set noat
|
|
SET_HARDFLOAT
|
|
SET_HARDFLOAT
|
|
- cfcmsa $1, MSA_CSR
|
|
|
|
|
|
+ _cfcmsa $1, MSA_CSR
|
|
sw $1, THREAD_MSA_CSR(\thread)
|
|
sw $1, THREAD_MSA_CSR(\thread)
|
|
.set pop
|
|
.set pop
|
|
.endm
|
|
.endm
|
|
@@ -401,7 +417,7 @@
|
|
.set noat
|
|
.set noat
|
|
SET_HARDFLOAT
|
|
SET_HARDFLOAT
|
|
lw $1, THREAD_MSA_CSR(\thread)
|
|
lw $1, THREAD_MSA_CSR(\thread)
|
|
- ctcmsa MSA_CSR, $1
|
|
|
|
|
|
+ _ctcmsa MSA_CSR, $1
|
|
.set pop
|
|
.set pop
|
|
ld_d 0, THREAD_FPR0, \thread
|
|
ld_d 0, THREAD_FPR0, \thread
|
|
ld_d 1, THREAD_FPR1, \thread
|
|
ld_d 1, THREAD_FPR1, \thread
|