From 5b55867a7a495e33e0880d89167c5d1915dc4a02 Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Mon, 24 Apr 2017 05:36:11 -0400 Subject: [PATCH] Slightly cheaper Ext assembly --- lib/qcd/action/fermion/WilsonKernelsAsmBody.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/qcd/action/fermion/WilsonKernelsAsmBody.h b/lib/qcd/action/fermion/WilsonKernelsAsmBody.h index d424c12b..c9989cc2 100644 --- a/lib/qcd/action/fermion/WilsonKernelsAsmBody.h +++ b/lib/qcd/action/fermion/WilsonKernelsAsmBody.h @@ -101,7 +101,6 @@ #define ASM_LEG(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) \ base = st.GetInfo(ptype,local,perm,Dir,ent,plocal); ent++; \ - /*if((!local) ) {*/ \ if((!local)&&(!st.same_node[Dir]) ) { \ LOAD_CHI(base); \ MULT_2SPIN_DIR_PF(Dir,base); \ @@ -111,8 +110,15 @@ } #define ASM_LEG_XP(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) \ - nmu=0;{ ZERO_PSI; } \ - ASM_LEG(Dir,NxtDir,PERMUTE_DIR,PROJ,RECON) + nmu=0; \ + base = st.GetInfo(ptype,local,perm,Dir,ent,plocal); ent++; \ + if((!local)&&(!st.same_node[Dir]) ) { \ + LOAD_CHI(base); \ + MULT_2SPIN_DIR_PF(Dir,base); \ + LOAD64(%r10,isigns); \ + RECON; \ + nmu++; \ + } else { ZERO_PSI; }; #define RESULT(base,basep) if (nmu){ ADD_RESULT(base,base);}