Save and restore VSX registers
This commit is contained in:
@@ -48,8 +48,9 @@
|
||||
|
||||
#ifdef __64BIT__
|
||||
#define STACKSIZE 320
|
||||
#define ALPHA 296(SP)
|
||||
#define FZERO 304(SP)
|
||||
#define STACKSIZE 520
|
||||
#define ALPHA 296+200(SP)
|
||||
#define FZERO 304+200(SP)
|
||||
#else
|
||||
#define STACKSIZE 240
|
||||
#define ALPHA 224(SP)
|
||||
@@ -112,6 +113,8 @@
|
||||
#define o48 r30
|
||||
#define T1 r31
|
||||
|
||||
#define VECSAVE r11
|
||||
|
||||
#include "dtrsm_macros_LT_16x4_power8.S"
|
||||
|
||||
#ifndef NEEDPARAM
|
||||
@@ -163,6 +166,7 @@
|
||||
std r17, 256(SP)
|
||||
std r16, 264(SP)
|
||||
std r15, 272(SP)
|
||||
addi r11,SP,288
|
||||
#else
|
||||
stw r31, 144(SP)
|
||||
stw r30, 148(SP)
|
||||
@@ -178,7 +182,32 @@
|
||||
stw r20, 188(SP)
|
||||
stw r19, 192(SP)
|
||||
stw r18, 196(SP)
|
||||
addi r11,SP,208
|
||||
#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
|
||||
|
||||
|
||||
#if defined(_AIX) || defined(__APPLE__)
|
||||
@@ -269,6 +298,7 @@ L999:
|
||||
ld r17, 256(SP)
|
||||
ld r16, 264(SP)
|
||||
ld r15, 272(SP)
|
||||
addi r11,SP,288
|
||||
#else
|
||||
lwz r31, 144(SP)
|
||||
lwz r30, 148(SP)
|
||||
@@ -284,10 +314,35 @@ L999:
|
||||
lwz r20, 188(SP)
|
||||
lwz r19, 192(SP)
|
||||
lwz r18, 196(SP)
|
||||
addi r11,SP,208
|
||||
#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
|
||||
|
||||
Reference in New Issue
Block a user