| @@ -220,6 +220,11 @@ REALNAME: ;\ | |||||
| #define BUFFER_SIZE ( 8 << 20) | #define BUFFER_SIZE ( 8 << 20) | ||||
| #if defined(LOONGSON3A) | |||||
| #define PAGESIZE (16UL << 10) | |||||
| #define FIXED_PAGESIZE (16UL << 10) | |||||
| #endif | |||||
| #ifndef PAGESIZE | #ifndef PAGESIZE | ||||
| #define PAGESIZE (64UL << 10) | #define PAGESIZE (64UL << 10) | ||||
| #endif | #endif | ||||
| @@ -91,15 +91,37 @@ ifndef ZGEMM_BETA | |||||
| ZGEMM_BETA = ../generic/zgemm_beta.c | ZGEMM_BETA = ../generic/zgemm_beta.c | ||||
| endif | endif | ||||
| ifndef STRSMKERNEL_LN | |||||
| STRSMKERNEL_LN = trsm_kernel_LN.S | STRSMKERNEL_LN = trsm_kernel_LN.S | ||||
| endif | |||||
| ifndef STRSMKERNEL_LT | |||||
| STRSMKERNEL_LT = trsm_kernel_LT.S | STRSMKERNEL_LT = trsm_kernel_LT.S | ||||
| endif | |||||
| ifndef STRSMKERNEL_RN | |||||
| STRSMKERNEL_RN = trsm_kernel_LT.S | STRSMKERNEL_RN = trsm_kernel_LT.S | ||||
| endif | |||||
| ifndef STRSMKERNEL_RT | |||||
| STRSMKERNEL_RT = trsm_kernel_RT.S | STRSMKERNEL_RT = trsm_kernel_RT.S | ||||
| endif | |||||
| ifndef DTRSMKERNEL_LN | |||||
| DTRSMKERNEL_LN = trsm_kernel_LN.S | DTRSMKERNEL_LN = trsm_kernel_LN.S | ||||
| endif | |||||
| ifndef DTRSMKERNEL_LT | |||||
| DTRSMKERNEL_LT = trsm_kernel_LT.S | DTRSMKERNEL_LT = trsm_kernel_LT.S | ||||
| endif | |||||
| ifndef DTRSMKERNEL_RN | |||||
| DTRSMKERNEL_RN = trsm_kernel_LT.S | DTRSMKERNEL_RN = trsm_kernel_LT.S | ||||
| endif | |||||
| ifndef DTRSMKERNEL_RT | |||||
| DTRSMKERNEL_RT = trsm_kernel_RT.S | DTRSMKERNEL_RT = trsm_kernel_RT.S | ||||
| endif | |||||
| CTRSMKERNEL_LN = ztrsm_kernel_LT.S | CTRSMKERNEL_LN = ztrsm_kernel_LT.S | ||||
| CTRSMKERNEL_LT = ztrsm_kernel_LT.S | CTRSMKERNEL_LT = ztrsm_kernel_LT.S | ||||
| @@ -1,2 +1,24 @@ | |||||
| SAXPYKERNEL=axpy_loongson3a.S | SAXPYKERNEL=axpy_loongson3a.S | ||||
| DAXPYKERNEL=daxpy_loongson3a_simd.S | DAXPYKERNEL=daxpy_loongson3a_simd.S | ||||
| SGEMMKERNEL = sgemm_kernel_loongson3a.S | |||||
| SGEMMONCOPY = ../generic/gemm_ncopy_4.c | |||||
| SGEMMOTCOPY = ../generic/gemm_tcopy_4.c | |||||
| SGEMMONCOPYOBJ = sgemm_oncopy.o | |||||
| SGEMMOTCOPYOBJ = sgemm_otcopy.o | |||||
| DGEMMKERNEL = gemm_kernel_loongson3a.S | |||||
| DGEMMONCOPY = ../generic/gemm_ncopy_4.c | |||||
| DGEMMOTCOPY = ../generic/gemm_tcopy_4.c | |||||
| DGEMMONCOPYOBJ = dgemm_oncopy.o | |||||
| DGEMMOTCOPYOBJ = dgemm_otcopy.o | |||||
| STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | |||||
| STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | |||||
| STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c | |||||
| STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | |||||
| DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | |||||
| DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | |||||
| DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c | |||||
| DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | |||||
| @@ -1480,27 +1480,29 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| #define GEMM_DEFAULT_OFFSET_B 0 | #define GEMM_DEFAULT_OFFSET_B 0 | ||||
| #define GEMM_DEFAULT_ALIGN 0x03fffUL | #define GEMM_DEFAULT_ALIGN 0x03fffUL | ||||
| #define SGEMM_DEFAULT_UNROLL_M 2 | |||||
| #define SGEMM_DEFAULT_UNROLL_N 8 | |||||
| #define DGEMM_DEFAULT_UNROLL_M 2 | |||||
| #define DGEMM_DEFAULT_UNROLL_N 8 | |||||
| #define SGEMM_DEFAULT_UNROLL_M 4 | |||||
| #define SGEMM_DEFAULT_UNROLL_N 4 | |||||
| #define DGEMM_DEFAULT_UNROLL_M 4 | |||||
| #define DGEMM_DEFAULT_UNROLL_N 4 | |||||
| #define CGEMM_DEFAULT_UNROLL_M 1 | #define CGEMM_DEFAULT_UNROLL_M 1 | ||||
| #define CGEMM_DEFAULT_UNROLL_N 4 | #define CGEMM_DEFAULT_UNROLL_N 4 | ||||
| #define ZGEMM_DEFAULT_UNROLL_M 1 | #define ZGEMM_DEFAULT_UNROLL_M 1 | ||||
| #define ZGEMM_DEFAULT_UNROLL_N 4 | #define ZGEMM_DEFAULT_UNROLL_N 4 | ||||
| #define SGEMM_DEFAULT_P 108 | |||||
| #define DGEMM_DEFAULT_P 112 | |||||
| #define SGEMM_DEFAULT_P 32 | |||||
| #define DGEMM_DEFAULT_P 32 | |||||
| #define CGEMM_DEFAULT_P 108 | #define CGEMM_DEFAULT_P 108 | ||||
| #define ZGEMM_DEFAULT_P 112 | #define ZGEMM_DEFAULT_P 112 | ||||
| #define SGEMM_DEFAULT_Q 288 | |||||
| #define DGEMM_DEFAULT_Q 144 | |||||
| #define SGEMM_DEFAULT_Q 116 | |||||
| #define DGEMM_DEFAULT_Q 116 | |||||
| #define CGEMM_DEFAULT_Q 144 | #define CGEMM_DEFAULT_Q 144 | ||||
| #define ZGEMM_DEFAULT_Q 72 | #define ZGEMM_DEFAULT_Q 72 | ||||
| #define SGEMM_DEFAULT_R 2000 | |||||
| #define DGEMM_DEFAULT_R 2000 | |||||
| #define SGEMM_DEFAULT_R 1000 | |||||
| #define DGEMM_DEFAULT_R 1000 | |||||
| #define CGEMM_DEFAULT_R 2000 | #define CGEMM_DEFAULT_R 2000 | ||||
| #define ZGEMM_DEFAULT_R 2000 | #define ZGEMM_DEFAULT_R 2000 | ||||