mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 07:55:35 +00:00
Debugged assemply split phase with interior suppression
This commit is contained in:
parent
e3d0e31525
commit
3accb1ef89
@ -75,22 +75,20 @@
|
|||||||
LOAD64(%r10,isigns); \
|
LOAD64(%r10,isigns); \
|
||||||
PROJ(base); \
|
PROJ(base); \
|
||||||
MAYBEPERM(PERMUTE_DIR,perm); \
|
MAYBEPERM(PERMUTE_DIR,perm); \
|
||||||
} else if ( st.same_node[Dir] ) { \
|
}else if ( st.same_node[Dir] ) {LOAD_CHI(base);} \
|
||||||
LOAD_CHI(base); \
|
|
||||||
} \
|
|
||||||
base = st.GetInfo(ptype,local,perm,NxtDir,ent,plocal); ent++; \
|
|
||||||
PREFETCH_CHIMU(base); \
|
|
||||||
if ( local || st.same_node[Dir] ) { \
|
if ( local || st.same_node[Dir] ) { \
|
||||||
MULT_2SPIN_DIR_PF(Dir,basep); \
|
MULT_2SPIN_DIR_PF(Dir,basep); \
|
||||||
LOAD64(%r10,isigns); \
|
LOAD64(%r10,isigns); \
|
||||||
RECON; \
|
RECON; \
|
||||||
}
|
} \
|
||||||
|
base = st.GetInfo(ptype,local,perm,NxtDir,ent,plocal); ent++; \
|
||||||
|
PREFETCH_CHIMU(base); \
|
||||||
|
|
||||||
#define ASM_LEG_XP(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) \
|
#define ASM_LEG_XP(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) \
|
||||||
base = st.GetInfo(ptype,local,perm,Dir,ent,plocal); ent++; \
|
base = st.GetInfo(ptype,local,perm,Dir,ent,plocal); ent++; \
|
||||||
PF_GAUGE(Xp); \
|
PF_GAUGE(Xp); \
|
||||||
PREFETCH1_CHIMU(base); \
|
PREFETCH1_CHIMU(base);{ ZERO_PSI; } \
|
||||||
ASM_LEG(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) else { ZERO_PSI; }
|
ASM_LEG(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON)
|
||||||
|
|
||||||
#define RESULT(base,basep) SAVE_RESULT(base,basep);
|
#define RESULT(base,basep) SAVE_RESULT(base,basep);
|
||||||
|
|
||||||
@ -100,8 +98,10 @@
|
|||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
#ifdef EXTERIOR
|
#ifdef EXTERIOR
|
||||||
|
|
||||||
|
|
||||||
#define ASM_LEG(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) \
|
#define ASM_LEG(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) \
|
||||||
base = st.GetInfo(ptype,local,perm,Dir,ent,plocal); ent++; \
|
base = st.GetInfo(ptype,local,perm,Dir,ent,plocal); ent++; \
|
||||||
|
/*if((!local) ) {*/ \
|
||||||
if((!local)&&(!st.same_node[Dir]) ) { \
|
if((!local)&&(!st.same_node[Dir]) ) { \
|
||||||
LOAD_CHI(base); \
|
LOAD_CHI(base); \
|
||||||
MULT_2SPIN_DIR_PF(Dir,base); \
|
MULT_2SPIN_DIR_PF(Dir,base); \
|
||||||
@ -111,8 +111,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define ASM_LEG_XP(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) \
|
#define ASM_LEG_XP(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) \
|
||||||
nmu=0; \
|
nmu=0;{ ZERO_PSI; } \
|
||||||
ASM_LEG(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) else { ZERO_PSI; }
|
ASM_LEG(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON)
|
||||||
|
|
||||||
#define RESULT(base,basep) if (nmu){ ADD_RESULT(base,base);}
|
#define RESULT(base,basep) if (nmu){ ADD_RESULT(base,base);}
|
||||||
|
|
||||||
@ -151,8 +151,7 @@
|
|||||||
ASM_LEG(Tm,Xp,PERMUTE_DIR0,DIR7_PROJMEM,DIR7_RECON);
|
ASM_LEG(Tm,Xp,PERMUTE_DIR0,DIR7_PROJMEM,DIR7_RECON);
|
||||||
|
|
||||||
#ifndef EXTERIOR
|
#ifndef EXTERIOR
|
||||||
//Early out if no work
|
if (nmu==0) break; //Early out if no work
|
||||||
//if (nmu==0) break;
|
|
||||||
#endif
|
#endif
|
||||||
base = (uint64_t) &out._odata[ss];
|
base = (uint64_t) &out._odata[ss];
|
||||||
basep= st.GetPFInfo(nent,plocal); nent++;
|
basep= st.GetPFInfo(nent,plocal); nent++;
|
||||||
|
Loading…
Reference in New Issue
Block a user