From 6a17475b1cc713734acd3534f83f59d1d7158738 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Jun 10 2015 18:19:20 +0000 Subject: Refreshed AArch64 patch --- diff --git a/atlas-aarch64port.patch b/atlas-aarch64port.patch index 6c45a59..ad06226 100644 --- a/atlas-aarch64port.patch +++ b/atlas-aarch64port.patch @@ -1,32 +1,32 @@ Author: Mark Salter -diff --git a/CONFIG/include/atlconf.h b/CONFIG/include/atlconf.h -index cdceda3..e6d71d3 100644 ---- a/CONFIG/include/atlconf.h -+++ b/CONFIG/include/atlconf.h -@@ -16,9 +16,9 @@ enum OSTYPE {OSOther=0, OSLinux, OSSunOS, OSSunOS4, OSOSF1, OSIRIX, OSAIX, +Index: ATLAS/CONFIG/include/atlconf.h +=================================================================== +--- ATLAS.orig/CONFIG/include/atlconf.h ++++ ATLAS/CONFIG/include/atlconf.h +@@ -16,9 +16,9 @@ enum OSTYPE {OSOther=0, OSLinux, OSSunOS ((OS_) == OSWin64) ) enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS, - AFARM, AFS390}; + AFARM, AFS390, AFAARCH64}; --#define NMACH 47 -+#define NMACH 48 +-#define NMACH 52 ++#define NMACH 53 static char *machnam[NMACH] = {"UNKNOWN", "POWER3", "POWER4", "POWER5", "PPCG4", "PPCG5", - "POWER6", "POWER7", "IBMz9", "IBMz10", "IBMz196", -@@ -28,7 +28,7 @@ static char *machnam[NMACH] = - "Efficeon", "K7", "HAMMER", "AMD64K10h", "AMDDOZER", "UNKNOWNx86", - "IA64Itan", "IA64Itan2", - "USI", "USII", "USIII", "USIV", "UST2", "UnknownUS", + "POWER6", "POWER7", "POWERe6500", "IBMz9", "IBMz10", "IBMz196", +@@ -29,7 +29,7 @@ static char *machnam[NMACH] = + "Efficeon", "K7", "HAMMER", "AMD64K10h", "AMDLLANO", "AMDDOZER","AMDDRIVER", + "UNKNOWNx86", "IA64Itan", "IA64Itan2", + "USI", "USII", "USIII", "USIV", "UST1", "UST2", "UnknownUS", - "MIPSR1xK", "MIPSICE9", "ARMv7"}; + "MIPSR1xK", "MIPSICE9", "ARMv7", "AARCH64"}; enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5, - IbmPwr6, IbmPwr7, + IbmPwr6, IbmPwr7, Pwre6500, IbmZ9, IbmZ10, IbmZ196, /* s390(x) in Linux */ -@@ -41,7 +41,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5, - SunUSI, SunUSII, SunUSIII, SunUSIV, SunUST2, SunUSX, +@@ -42,7 +42,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPw + SunUSI, SunUSII, SunUSIII, SunUSIV, SunUST1, SunUST2, SunUSX, MIPSR1xK, /* includes R10K, R12K, R14K, R16K */ MIPSICE9, /* SiCortex ICE9 -- like MIPS5K */ - ARMv7 /* includes Cortex A8, A9 */ @@ -35,7 +35,7 @@ index cdceda3..e6d71d3 100644 }; #define MachIsX86(mach_) \ ( (mach_) >= x86x87 && (mach_) <= x86X ) -@@ -62,6 +63,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5, +@@ -63,6 +64,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPw ( (mach_) == ARMv7 ) #define MachIsS390(mach_) \ ( (mach_) >= IbmZ9 && (mach_) <= IbmZ196 ) @@ -44,7 +44,7 @@ index cdceda3..e6d71d3 100644 static char *f2c_namestr[5] = {"UNKNOWN","Add_", "Add__", "NoChange", "UpCase"}; -@@ -83,13 +86,13 @@ enum ISAEXT +@@ -84,13 +87,13 @@ enum ISAEXT {ISA_None=0, ISA_VSX, ISA_AV, ISA_AVXMAC, ISA_AVXFMA4, ISA_AVX, ISA_SSE3, ISA_SSE2, ISA_SSE1, ISA_3DNow, ISA_NEON}; @@ -61,10 +61,10 @@ index cdceda3..e6d71d3 100644 /* * Used for archinfo probes (can pack in bitfield) -diff --git a/CONFIG/src/Makefile b/CONFIG/src/Makefile -index 8eb38f7..afad1bc 100644 ---- a/CONFIG/src/Makefile -+++ b/CONFIG/src/Makefile +Index: ATLAS/CONFIG/src/Makefile +=================================================================== +--- ATLAS.orig/CONFIG/src/Makefile ++++ ATLAS/CONFIG/src/Makefile @@ -260,6 +260,11 @@ IRun_BINDP : redir=config0.out - cat config0.out @@ -77,11 +77,11 @@ index 8eb38f7..afad1bc 100644 IRun_GAS_S390 : $(CC) $(CCFLAGS) -o xprobe_gas_s390 $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_s390.S $(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_s390 args="$(args)" \ -diff --git a/CONFIG/src/SpewMakeInc.c b/CONFIG/src/SpewMakeInc.c -index 65d68a1..f5eb467 100644 ---- a/CONFIG/src/SpewMakeInc.c -+++ b/CONFIG/src/SpewMakeInc.c -@@ -391,6 +391,8 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enum MACHTYPE arch, int ptrbits, +Index: ATLAS/CONFIG/src/SpewMakeInc.c +=================================================================== +--- ATLAS.orig/CONFIG/src/SpewMakeInc.c ++++ ATLAS/CONFIG/src/SpewMakeInc.c +@@ -391,6 +391,8 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enu if (MachIsIA64(arch)) return(sp); @@ -90,11 +90,11 @@ index 65d68a1..f5eb467 100644 if (MachIsMIPS(arch)) return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32"); if (MachIsS390(arch)) -diff --git a/CONFIG/src/atlcomp.txt b/CONFIG/src/atlcomp.txt -index 5bf32d9..5e0c538 100644 ---- a/CONFIG/src/atlcomp.txt -+++ b/CONFIG/src/atlcomp.txt -@@ -263,6 +263,17 @@ MACH=ARMv7 OS=ALL LVL=1000 COMPS=dmc,dkc +Index: ATLAS/CONFIG/src/atlcomp.txt +=================================================================== +--- ATLAS.orig/CONFIG/src/atlcomp.txt ++++ ATLAS/CONFIG/src/atlcomp.txt +@@ -267,6 +267,17 @@ MACH=ARMv7 OS=ALL LVL=1000 COMPS=dmc,dkc MACH=ARMv7 OS=ALL LVL=1000 COMPS=f77 'gfortran' '-mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=softfp -O' # @@ -112,11 +112,11 @@ index 5bf32d9..5e0c538 100644 # Generic defaults # MACH=ALL OS=ALL LVL=5 COMPS=icc,smc,dmc,skc,dkc,xcc,gcc -diff --git a/CONFIG/src/atlconf_misc.c b/CONFIG/src/atlconf_misc.c -index b669e8e..f7af4a8 100644 ---- a/CONFIG/src/atlconf_misc.c -+++ b/CONFIG/src/atlconf_misc.c -@@ -481,6 +481,7 @@ enum ARCHFAM ProbeArchFam(char *targ) +Index: ATLAS/CONFIG/src/atlconf_misc.c +=================================================================== +--- ATLAS.orig/CONFIG/src/atlconf_misc.c ++++ ATLAS/CONFIG/src/atlconf_misc.c +@@ -563,6 +563,7 @@ enum ARCHFAM ProbeArchFam(char *targ) else if (strstr(res, "ia64")) fam = AFIA64; else if (strstr(res, "mips")) fam = AFMIPS; else if (strstr(res, "arm")) fam = AFARM; @@ -124,7 +124,7 @@ index b669e8e..f7af4a8 100644 else if (strstr(res, "s390")) fam = AFS390; else if ( strstr(res, "i686") || strstr(res, "i586") || strstr(res, "i486") || strstr(res, "i386") || -@@ -506,6 +507,7 @@ enum ARCHFAM ProbeArchFam(char *targ) +@@ -588,6 +589,7 @@ enum ARCHFAM ProbeArchFam(char *targ) strstr(res, "x86_64") ) fam = AFX86; else if (strstr(res, "mips")) fam = AFMIPS; else if (strstr(res, "arm")) fam = AFARM; @@ -132,10 +132,10 @@ index b669e8e..f7af4a8 100644 else if (strstr(res, "s390")) fam = AFS390; free(res); } -diff --git a/CONFIG/src/backend/Make.ext b/CONFIG/src/backend/Make.ext -index 9f236f6..918a053 100644 ---- a/CONFIG/src/backend/Make.ext -+++ b/CONFIG/src/backend/Make.ext +Index: ATLAS/CONFIG/src/backend/Make.ext +=================================================================== +--- ATLAS.orig/CONFIG/src/backend/Make.ext ++++ ATLAS/CONFIG/src/backend/Make.ext @@ -57,6 +57,8 @@ probe_gas_arm.S : $(basf) $(extC) -b $(basf) -o probe_gas_arm.S rout=probe_gas_arm.S probe_gas_s390.S : $(basf) @@ -145,11 +145,11 @@ index 9f236f6..918a053 100644 probe_AVXMAC.S : $(basf) $(extC) -b $(basf) -o probe_AVXMAC.S rout=probe_AVXMAC.S probe_AVXFMA4.S : $(basf) -diff --git a/CONFIG/src/backend/archinfo_linux.c b/CONFIG/src/backend/archinfo_linux.c -index d3d3fd8..4c419a3 100644 ---- a/CONFIG/src/backend/archinfo_linux.c -+++ b/CONFIG/src/backend/archinfo_linux.c -@@ -248,6 +248,14 @@ enum MACHTYPE ProbeArch() +Index: ATLAS/CONFIG/src/backend/archinfo_linux.c +=================================================================== +--- ATLAS.orig/CONFIG/src/backend/archinfo_linux.c ++++ ATLAS/CONFIG/src/backend/archinfo_linux.c +@@ -267,6 +267,14 @@ enum MACHTYPE ProbeArch() free(res); } break; @@ -164,11 +164,10 @@ index d3d3fd8..4c419a3 100644 default: #if 0 if (!CmndOneLine(NULL, "fgrep 'cpu family' /proc/cpuinfo", res)) -diff --git a/CONFIG/src/backend/probe_gas_aarch64.S b/CONFIG/src/backend/probe_gas_aarch64.S -new file mode 100644 -index 0000000..d4c3d68 +Index: ATLAS/CONFIG/src/backend/probe_gas_aarch64.S +=================================================================== --- /dev/null -+++ b/CONFIG/src/backend/probe_gas_aarch64.S ++++ ATLAS/CONFIG/src/backend/probe_gas_aarch64.S @@ -0,0 +1,14 @@ +#define ATL_GAS_AARCH64 +#include "atlas_asm.h" @@ -184,11 +183,11 @@ index 0000000..d4c3d68 + add w0, w0, w0, LSL #1 + ret +.size ATL_asmdecor(asm_probe),.-ATL_asmdecor(asm_probe) -diff --git a/CONFIG/src/probe_comp.c b/CONFIG/src/probe_comp.c -index 48f518d..3d5aa3b 100644 ---- a/CONFIG/src/probe_comp.c -+++ b/CONFIG/src/probe_comp.c -@@ -578,7 +578,7 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enum MACHTYPE arch, int ptrbits, +Index: ATLAS/CONFIG/src/probe_comp.c +=================================================================== +--- ATLAS.orig/CONFIG/src/probe_comp.c ++++ ATLAS/CONFIG/src/probe_comp.c +@@ -582,7 +582,7 @@ char *GetPtrbitsFlag(enum OSTYPE OS, enu char *sp = ""; int i, j, k; @@ -197,10 +196,10 @@ index 48f518d..3d5aa3b 100644 return(sp); if (MachIsMIPS(arch)) return((ptrbits == 64) ? "-mabi=64" : "-mabi=n32"); -diff --git a/include/atlas_genparse.h b/include/atlas_genparse.h -index 1955687..909a38e 100644 ---- a/include/atlas_genparse.h -+++ b/include/atlas_genparse.h +Index: ATLAS/include/atlas_genparse.h +=================================================================== +--- ATLAS.orig/include/atlas_genparse.h ++++ ATLAS/include/atlas_genparse.h @@ -6,13 +6,13 @@ #include #include diff --git a/atlas.spec b/atlas.spec index ddb6b55..6ce4052 100644 --- a/atlas.spec +++ b/atlas.spec @@ -5,7 +5,7 @@ Version: 3.10.2 %if "%{?enable_native_atlas}" != "0" %define dist .native %endif -Release: 3%{?dist} +Release: 4%{?dist} Summary: Automatically Tuned Linear Algebra Software Group: System Environment/Libraries @@ -827,6 +827,9 @@ fi %endif %changelog +* Wed Jun 10 2015 Marcin Juszkiewicz - 3.10.2-4 +- Refreshed AArch64 patch + * Fri Jun 05 2015 Dan HorĂ¡k - 3.10.2-3 - drop upstreamed s390 patch