Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 66 additions & 11 deletions kernel/power/cgemm_kernel_8x4_power8.S
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,15 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endif

#ifdef __64BIT__
#define STACKSIZE 32000
#define ALPHA_R_SP 296(SP)
#define ALPHA_I_SP 304(SP)
#define FZERO 312(SP)
#define STACKSIZE 32196
#define ALPHA_R_SP 296+196(SP)
#define ALPHA_I_SP 304+196(SP)
#define FZERO 312+196(SP)
#else
#define STACKSIZE 256
#define ALPHA_R_SP 224(SP)
#define ALPHA_I_SP 232(SP)
#define FZERO 240(SP)
#define STACKSIZE 456
#define ALPHA_R_SP 224+200(SP)
#define ALPHA_I_SP 232+200(SP)
#define FZERO 240+200(SP)
#endif

#define M r3
Expand Down Expand Up @@ -138,6 +138,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#define FRAMEPOINTER r12

#define VECSAVE r11

#define BBUFFER r14
#define L r15
#define o12 r16
Expand Down Expand Up @@ -167,6 +169,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
addi SP, SP, -STACKSIZE
addi SP, SP, -STACKSIZE
addi SP, SP, -STACKSIZE

li r0, 0

stfd f14, 0(SP)
Expand Down Expand Up @@ -211,6 +214,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
std r16, 264(SP)
std r15, 272(SP)
std r14, 280(SP)
addi r11, SP, 288
#else
stw r31, 144(SP)
stw r30, 148(SP)
Expand All @@ -230,7 +234,32 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
stw r16, 204(SP)
stw r15, 208(SP)
stw r14, 212(SP)
addi r11, SP, 224
#endif
stvx v20, r11, r0
addi r11, r11, 16
stvx v21, r11, r0
addi r11, r11, 16
stvx v22, r11, r0
addi r11, r11, 16
stvx v23, r11, r0
addi r11, r11, 16
stvx v24, r11, r0
addi r11, r11, 16
stvx v25, r11, r0
addi r11, r11, 16
stvx v26, r11, r0
addi r11, r11, 16
stvx v27, r11, r0
addi r11, r11, 16
stvx v28, r11, r0
addi r11, r11, 16
stvx v29, r11, r0
addi r11, r11, 16
stvx v30, r11, r0
addi r11, r11, 16
stvx v31, r11, r0
li r11, 0

stfs f1, ALPHA_R_SP
stfs f2, ALPHA_I_SP
Expand Down Expand Up @@ -301,9 +330,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


#ifdef __64BIT__
addi T1 , SP, 296
addi T1 , SP, 296+196
#else
addi T1 , SP, 224
addi T1 , SP, 224+200
#endif

stxsspx vs1, 0, T1
Expand Down Expand Up @@ -375,6 +404,7 @@ L999:
ld r16, 264(SP)
ld r15, 272(SP)
ld r14, 280(SP)
addi r11, SP, 288
#else
lwz r31, 144(SP)
lwz r30, 148(SP)
Expand All @@ -394,7 +424,32 @@ L999:
lwz r16, 204(SP)
lwz r15, 208(SP)
lwz r14, 212(SP)
addi r11, 224
#endif
lvx v20, r11, r0
addi r11, r11, 16
lvx v21, r11, r0
addi r11, r11, 16
lvx v22, r11, r0
addi r11, r11, 16
lvx v23, r11, r0
addi r11, r11, 16
lvx v24, r11, r0
addi r11, r11, 16
lvx v25, r11, r0
addi r11, r11, 16
lvx v26, r11, r0
addi r11, r11, 16
lvx v27, r11, r0
addi r11, r11, 16
lvx v28, r11, r0
addi r11, r11, 16
lvx v29, r11, r0
addi r11, r11, 16
lvx v30, r11, r0
addi r11, r11, 16
lvx v31, r11, r0
li r11, 0

addi SP, SP, STACKSIZE
addi SP, SP, STACKSIZE
Expand All @@ -404,4 +459,4 @@ L999:
blr

EPILOGUE
#endif
#endif^
54 changes: 52 additions & 2 deletions kernel/power/cgemm_tcopy_8_power8.S
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#define J r12


#define PREA r14
#define PREB r15
#define BO r16
Expand All @@ -109,7 +110,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#include "cgemm_tcopy_macros_8_power8.S"

#define STACKSIZE 384
#define STACKSIZE 576


PROLOGUE
Expand All @@ -136,6 +137,31 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
std r16, 264(SP)
std r15, 272(SP)
std r14, 280(SP)
addi r11, SP, 288
stvx v20, r11, r0
addi r11, r11, 16
stvx v21, r11, r0
addi r11, r11, 16
stvx v22, r11, r0
addi r11, r11, 16
stvx v23, r11, r0
addi r11, r11, 16
stvx v24, r11, r0
addi r11, r11, 16
stvx v25, r11, r0
addi r11, r11, 16
stvx v26, r11, r0
addi r11, r11, 16
stvx v27, r11, r0
addi r11, r11, 16
stvx v28, r11, r0
addi r11, r11, 16
stvx v29, r11, r0
addi r11, r11, 16
stvx v30, r11, r0
addi r11, r11, 16
stvx v31, r11, r0
li r11, 0

cmpwi cr0, M, 0
ble- L999
Expand Down Expand Up @@ -197,9 +223,33 @@ L999:
ld r16, 264(SP)
ld r15, 272(SP)
ld r14, 280(SP)
addi r11, SP, 288
lvx v20, r11, r3
addi r11, r11, 16
lvx v21, r11, r3
addi r11, r11, 16
lvx v22, r11, r3
addi r11, r11, 16
lvx v23, r11, r3
addi r11, r11, 16
lvx v24, r11, r3
addi r11, r11, 16
lvx v25, r11, r3
addi r11, r11, 16
lvx v26, r11, r3
addi r11, r11, 16
lvx v27, r11, r3
addi r11, r11, 16
lvx v28, r11, r3
addi r11, r11, 16
lvx v29, r11, r3
addi r11, r11, 16
lvx v30, r11, r3
addi r11, r11, 16
lvx v31, r11, r3
li r11, 0

addi SP, SP, STACKSIZE

blr
EPILOGUE

Expand Down
71 changes: 63 additions & 8 deletions kernel/power/ctrmm_kernel_8x4_power8.S
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,15 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#ifdef __64BIT__
#define STACKSIZE 400
#define ALPHA_R_SP 304(SP)
#define ALPHA_I_SP 312(SP)
#define STACKSIZE 592
#define ALPHA_R_SP 304+192(SP)
#define ALPHA_I_SP 312+192(SP)
#else
#define STACKSIZE 256
#define ALPHA_R_SP 224(SP)
#define ALPHA_I_SP 232(SP)
#define FZERO 240(SP)
#define STACKSIZE 452
#define ALPHA_R_SP 224+196(SP)
#define ALPHA_I_SP 232+196(SP)
#define FZERO 240+196(SP)
#endif

#define M r3
Expand Down Expand Up @@ -135,6 +137,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define alpha_sr vs30
#define alpha_si vs31

#define VECSAVE r11

#define o12 r12
#define KKK r13
#define K1 r14
Expand Down Expand Up @@ -208,6 +212,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
std r14, 280(SP)
std r13, 288(SP)
std r12, 296(SP)
addi r11, SP, 304
#else
stw r31, 144(SP)
stw r30, 148(SP)
Expand All @@ -228,7 +233,32 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
stw r15, 208(SP)
stw r14, 212(SP)
stw r13, 216(SP)
addi r11, SP, 224
#endif
stvx v20, r11, r0
addi r11, r11, 16
stvx v21, r11, r0
addi r11, r11, 16
stvx v22, r11, r0
addi r11, r11, 16
stvx v23, r11, r0
addi r11, r11, 16
stvx v24, r11, r0
addi r11, r11, 16
stvx v25, r11, r0
addi r11, r11, 16
stvx v26, r11, r0
addi r11, r11, 16
stvx v27, r11, r0
addi r11, r11, 16
stvx v28, r11, r0
addi r11, r11, 16
stvx v29, r11, r0
addi r11, r11, 16
stvx v30, r11, r0
addi r11, r11, 16
stvx v31, r11, r0
li r11, 0

stfs f1, ALPHA_R_SP
stfs f2, ALPHA_I_SP
Expand Down Expand Up @@ -295,9 +325,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


#ifdef __64BIT__
addi T1, SP, 304
addi T1, SP, 304+192
#else
addi T1, SP, 224
addi T1, SP, 224+196
#endif

lxsspx alpha_dr, 0, T1
Expand Down Expand Up @@ -369,6 +399,7 @@ L999:
ld r14, 280(SP)
ld r13, 288(SP)
ld r12, 296(SP)
addi r11, SP, 304
#else
lwz r31, 144(SP)
lwz r30, 148(SP)
Expand All @@ -389,10 +420,34 @@ L999:
lwz r15, 208(SP)
lwz r14, 212(SP)
lwz r13, 216(SP)
addi r11, SP, 224
#endif
lvx v20, r11, r3
addi r11, r11, 16
lvx v21, r11, r3
addi r11, r11, 16
lvx v22, r11, r3
addi r11, r11, 16
lvx v23, r11, r3
addi r11, r11, 16
lvx v24, r11, r3
addi r11, r11, 16
lvx v25, r11, r3
addi r11, r11, 16
lvx v26, r11, r3
addi r11, r11, 16
lvx v27, r11, r3
addi r11, r11, 16
lvx v28, r11, r3
addi r11, r11, 16
lvx v29, r11, r3
addi r11, r11, 16
lvx v30, r11, r3
addi r11, r11, 16
lvx v31, r11, r3
li r11, 0

addi SP, SP, STACKSIZE

blr

EPILOGUE
Expand Down
Loading