| @@ -1,42 +1,24 @@ | |||||
| CPP = $(CC) -E | |||||
| RANLIB = ranlib | |||||
| ifeq ($(LIBSUBARCH), EV4) | |||||
| LIBNAME = $(LIBPREFIX)_ev4.a | |||||
| LIBNAME_P = $(LIBPREFIX)_ev4_p.a | |||||
| endif | |||||
| ifeq ($(LIBSUBARCH), EV5) | |||||
| LIBNAME = $(LIBPREFIX)_ev5.a | |||||
| LIBNAME_P = $(LIBPREFIX)_ev5_p.a | |||||
| endif | |||||
| ifeq ($(LIBSUBARCH), EV6) | |||||
| LIBNAME = $(LIBPREFIX)_ev6.a | |||||
| LIBNAME_P = $(LIBPREFIX)_ev6_p.a | |||||
| endif | |||||
| ifneq ($(COMPILER), NATIVE) | ifneq ($(COMPILER), NATIVE) | ||||
| # GCC User | # GCC User | ||||
| ifeq ($(LIBSUBARCH), EV4) | |||||
| OPTION += -DEV4 -mcpu=ev4 | |||||
| ifeq ($(CORE), EV4) | |||||
| CCOMMON_OPT += -mcpu=ev4 | |||||
| endif | endif | ||||
| ifeq ($(LIBSUBARCH), EV5) | |||||
| OPTION += -DEV5 -mcpu=ev5 | |||||
| ifeq ($(CORE), EV5) | |||||
| CCOMMON_OPT += -mcpu=ev5 | |||||
| endif | endif | ||||
| ifeq ($(LIBSUBARCH), EV6) | |||||
| OPTION += -DEV6 -mcpu=ev6 | |||||
| ifeq ($(CORE), EV6) | |||||
| CCOMMON_OPT += -mcpu=ev6 | |||||
| endif | endif | ||||
| else | else | ||||
| # Compaq Compiler User | # Compaq Compiler User | ||||
| ifeq ($(LIBSUBARCH), EV4) | |||||
| OPTION += -DEV4 -tune ev4 -arch ev4 | |||||
| ifeq ($(CORE), EV4) | |||||
| CCOMMON_OPT += -tune ev4 -arch ev4 | |||||
| endif | endif | ||||
| ifeq ($(LIBSUBARCH), EV5) | |||||
| OPTION += -DEV5 -tune ev5 -arch ev5 | |||||
| ifeq ($(CORE), EV5) | |||||
| CCOMMON_OPT += -tune ev5 -arch ev5 | |||||
| endif | endif | ||||
| ifeq ($(LIBSUBARCH), EV6) | |||||
| OPTION += -DEV6 -tune ev6 -arch ev6 | |||||
| ifeq ($(CORE), EV6) | |||||
| CCOMMON_OPT += -tune ev6 -arch ev6 | |||||
| endif | endif | ||||
| endif | endif | ||||
| @@ -128,3 +128,7 @@ LOONGSON2K1000 | |||||
| 12. Elbrus E2000: | 12. Elbrus E2000: | ||||
| E2K | E2K | ||||
| 13. Alpha | |||||
| EV4 | |||||
| EV5 | |||||
| EV6 | |||||
| @@ -43,7 +43,7 @@ | |||||
| #define MB asm("mb") | #define MB asm("mb") | ||||
| #define WMB asm("wmb") | #define WMB asm("wmb") | ||||
| #define RMB asm("rmb") | |||||
| #define RMB asm("mb") | |||||
| static void __inline blas_lock(unsigned long *address){ | static void __inline blas_lock(unsigned long *address){ | ||||
| #ifndef __DECC | #ifndef __DECC | ||||
| @@ -2612,7 +2612,7 @@ | |||||
| #ifndef ASSEMBLER | #ifndef ASSEMBLER | ||||
| #if !defined(DYNAMIC_ARCH) \ | #if !defined(DYNAMIC_ARCH) \ | ||||
| && (defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_IA64) || defined(ARCH_MIPS64) || defined(ARCH_ARM64) \ | && (defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_IA64) || defined(ARCH_MIPS64) || defined(ARCH_ARM64) \ | ||||
| || defined(ARCH_LOONGARCH64) || defined(ARCH_E2K)) | |||||
| || defined(ARCH_LOONGARCH64) || defined(ARCH_E2K) || defined(ARCH_ALPHA)) | |||||
| extern BLASLONG gemm_offset_a; | extern BLASLONG gemm_offset_a; | ||||
| extern BLASLONG gemm_offset_b; | extern BLASLONG gemm_offset_b; | ||||
| extern BLASLONG sbgemm_p; | extern BLASLONG sbgemm_p; | ||||
| @@ -59,6 +59,11 @@ void get_subarchitecture(void){ | |||||
| printf("ev%d", implver() + 4); | printf("ev%d", implver() + 4); | ||||
| } | } | ||||
| void get_corename(void){ | |||||
| printf("EV%d", implver() + 4); | |||||
| } | |||||
| void get_subdirname(void){ | void get_subdirname(void){ | ||||
| printf("alpha"); | printf("alpha"); | ||||
| } | } | ||||
| @@ -146,6 +146,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| /* #define FORCE_SPARCV7 */ | /* #define FORCE_SPARCV7 */ | ||||
| /* #define FORCE_ZARCH_GENERIC */ | /* #define FORCE_ZARCH_GENERIC */ | ||||
| /* #define FORCE_Z13 */ | /* #define FORCE_Z13 */ | ||||
| /* #define FORCE_EV4 */ | |||||
| /* #define FORCE_EV5 */ | |||||
| /* #define FORCE_EV6 */ | |||||
| /* #define FORCE_GENERIC */ | /* #define FORCE_GENERIC */ | ||||
| #ifdef FORCE_P2 | #ifdef FORCE_P2 | ||||
| @@ -1601,6 +1604,42 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| #define CORENAME "Z14" | #define CORENAME "Z14" | ||||
| #endif | #endif | ||||
| #ifdef FORCE_EV4 | |||||
| #define FORCE | |||||
| #define ARCHITECTURE "ALPHA" | |||||
| #define SUBARCHITECTURE "ev4" | |||||
| #define ARCHCONFIG "-DEV4 " \ | |||||
| "-DL1_DATA_SIZE=16384 -DL1_DATA_LINESIZE=32 " \ | |||||
| "-DL2_SIZE=2097152 -DL2_LINESIZE=32 " \ | |||||
| "-DDTB_DEFAULT_ENTRIES=32 -DDTB_SIZE=8192 " | |||||
| #define LIBNAME "ev4" | |||||
| #define CORENAME "EV4" | |||||
| #endif | |||||
| #ifdef FORCE_EV5 | |||||
| #define FORCE | |||||
| #define ARCHITECTURE "ALPHA" | |||||
| #define SUBARCHITECTURE "ev5" | |||||
| #define ARCHCONFIG "-DEV5 " \ | |||||
| "-DL1_DATA_SIZE=16384 -DL1_DATA_LINESIZE=32 " \ | |||||
| "-DL2_SIZE=2097152 -DL2_LINESIZE=64 " \ | |||||
| "-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=8192 " | |||||
| #define LIBNAME "ev5" | |||||
| #define CORENAME "EV5" | |||||
| #endif | |||||
| #ifdef FORCE_EV6 | |||||
| #define FORCE | |||||
| #define ARCHITECTURE "ALPHA" | |||||
| #define SUBARCHITECTURE "ev6" | |||||
| #define ARCHCONFIG "-DEV6 " \ | |||||
| "-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \ | |||||
| "-DL2_SIZE=4194304 -DL2_LINESIZE=64 " \ | |||||
| "-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=8192 " | |||||
| #define LIBNAME "ev6" | |||||
| #define CORENAME "EV6" | |||||
| #endif | |||||
| #ifdef FORCE_C910V | #ifdef FORCE_C910V | ||||
| #define FORCE | #define FORCE | ||||
| #define ARCHITECTURE "RISCV64" | #define ARCHITECTURE "RISCV64" | ||||
| @@ -1777,7 +1816,7 @@ int main(int argc, char *argv[]){ | |||||
| #ifdef FORCE | #ifdef FORCE | ||||
| printf("CORE=%s\n", CORENAME); | printf("CORE=%s\n", CORENAME); | ||||
| #else | #else | ||||
| #if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv) | |||||
| #if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv) || defined(__alpha__) | |||||
| printf("CORE=%s\n", get_corename()); | printf("CORE=%s\n", get_corename()); | ||||
| #endif | #endif | ||||
| #endif | #endif | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 88 | #define PREFETCHSIZE 88 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 40 | #define PREFETCHSIZE 40 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| .set noat | .set noat | ||||
| .set noreorder | .set noreorder | ||||
| @@ -39,7 +39,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCH_SIZE 80 | #define PREFETCH_SIZE 80 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -42,7 +42,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| .globl NAME | .globl NAME | ||||
| .ent NAME | .ent NAME | ||||
| @@ -39,7 +39,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCH_SIZE 80 | #define PREFETCH_SIZE 80 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 88 | #define PREFETCHSIZE 88 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| .set noat | .set noat | ||||
| .set noreorder | .set noreorder | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #if !defined(EV4) && !defined(EV5) && !defined(EV6) | #if !defined(EV4) && !defined(EV5) && !defined(EV6) | ||||
| #error "Architecture is not specified." | #error "Architecture is not specified." | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define STACKSIZE 64 | #define STACKSIZE 64 | ||||
| #define PREFETCHSIZE 32 | #define PREFETCHSIZE 32 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define STACKSIZE 64 | #define STACKSIZE 64 | ||||
| #define PREFETCHSIZE 32 | #define PREFETCHSIZE 32 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -36,7 +36,7 @@ | |||||
| /* or implied, of The University of Texas at Austin. */ | /* or implied, of The University of Texas at Austin. */ | ||||
| /*********************************************************************/ | /*********************************************************************/ | ||||
| #include "version.h" | |||||
| .set noat | .set noat | ||||
| .set noreorder | .set noreorder | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 88 | #define PREFETCHSIZE 88 | ||||
| @@ -39,7 +39,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCH_SIZE 80 | #define PREFETCH_SIZE 80 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 88 | #define PREFETCHSIZE 88 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| PROLOGUE | PROLOGUE | ||||
| PROFCODE | PROFCODE | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #if !defined(EV4) && !defined(EV5) && !defined(EV6) | #if !defined(EV4) && !defined(EV5) && !defined(EV6) | ||||
| #error "Architecture is not specified." | #error "Architecture is not specified." | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #if !defined(EV4) && !defined(EV5) && !defined(EV6) | #if !defined(EV4) && !defined(EV5) && !defined(EV6) | ||||
| #error "Architecture is not specified." | #error "Architecture is not specified." | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #if !defined(EV4) && !defined(EV5) && !defined(EV6) | #if !defined(EV4) && !defined(EV5) && !defined(EV6) | ||||
| #error "Architecture is not specified." | #error "Architecture is not specified." | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 88 | #define PREFETCHSIZE 88 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 40 | #define PREFETCHSIZE 40 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 88 | #define PREFETCHSIZE 88 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| .set noat | .set noat | ||||
| .set noreorder | .set noreorder | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #if !defined(EV4) && !defined(EV5) && !defined(EV6) | #if !defined(EV4) && !defined(EV5) && !defined(EV6) | ||||
| #error "Architecture is not specified." | #error "Architecture is not specified." | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define STACKSIZE 64 | #define STACKSIZE 64 | ||||
| #define PREFETCHSIZE 32 | #define PREFETCHSIZE 32 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define STACKSIZE 64 | #define STACKSIZE 64 | ||||
| #define PREFETCHSIZE 32 | #define PREFETCHSIZE 32 | ||||
| @@ -39,7 +39,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCH_SIZE 80 | #define PREFETCH_SIZE 80 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define N $16 | #define N $16 | ||||
| #define X $17 | #define X $17 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 88 | #define PREFETCHSIZE 88 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #define PREFETCHSIZE 88 | #define PREFETCHSIZE 88 | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| PROLOGUE | PROLOGUE | ||||
| PROFCODE | PROFCODE | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #if !defined(EV4) && !defined(EV5) && !defined(EV6) | #if !defined(EV4) && !defined(EV5) && !defined(EV6) | ||||
| #error "Architecture is not specified." | #error "Architecture is not specified." | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #if !defined(EV4) && !defined(EV5) && !defined(EV6) | #if !defined(EV4) && !defined(EV5) && !defined(EV6) | ||||
| #error "Architecture is not specified." | #error "Architecture is not specified." | ||||
| @@ -38,7 +38,7 @@ | |||||
| #define ASSEMBLER | #define ASSEMBLER | ||||
| #include "common.h" | #include "common.h" | ||||
| #include "version.h" | |||||
| #if !defined(EV4) && !defined(EV5) && !defined(EV6) | #if !defined(EV4) && !defined(EV5) && !defined(EV6) | ||||
| #error "Architecture is not specified." | #error "Architecture is not specified." | ||||