[Math-atlas-commits] CVS: AtlasBase/kernel/ClintWhaley ATL_smm14x1x84_sse.c,NONE,1.1 ATL_smm14x1x84_
Brought to you by:
rwhaley,
tonyc040457
From: R. C. W. <rw...@us...> - 2003-01-07 20:38:05
|
Update of /cvsroot/math-atlas/AtlasBase/kernel/ClintWhaley In directory sc8-pr-cvs1:/tmp/cvs-serv24925 Added Files: ATL_smm14x1x84_sse.c ATL_smm14x1x84_sseCU.c Log Message: hammer sgemm kernels --- NEW FILE: ATL_smm14x1x84_sse.c --- #if !defined(NB) || (NB == 0) #error "NB must be a compile-time constant!" #endif #if (NB/14)*14 != NB #error "NB must be multiple of 14!" #endif #if !defined(ATL_GAS_x8664) #error "This kernel requires a gas x86-64 assembler!" #endif # # Prefetch defines # #define pref2(mem) prefetcht1 mem #define prefB(mem) prefetcht0 mem #define prefC(mem) prefetchw mem [...2320 lines suppressed...] # End unrolled final M-loop iteration # stM # # # pC += incCn; pA -= NBNB; pB += NB; # addq incCn, pC subq $NBNBso-NB14so, pA addq $NBso, pB # # while (pB != stN); # cmp pB, stN jne UNLOOP # # Restore callee-saved iregs # movq %r11, %rbp ret --- NEW FILE: ATL_smm14x1x84_sseCU.c --- #if !defined(KB) || (KB == 0) #error "KB must be a compile-time constant!" #endif #ifndef MB #define MB 0 #endif #if (MB/14)*14 != MB #error "MB must be multiple of 14!" #endif #if !defined(ATL_GAS_x8664) #error "This kernel requires a gas x86-64 assembler!" #endif # # Prefetch defines # #define pref2(mem) prefetcht1 mem [...2414 lines suppressed...] # End unrolled final M-loop iteration # stM # # # pC += incCn; pA -= NBNB; pB += NB; # addq incCn, pC movq pA0, pA addq $NBso, pB # # while (pB != stN); # cmp pB, stN jne UNLOOP # # Restore callee-saved iregs # movq %r11, %rbp ret |