Browse Source

updated gemv kernel for armv6

tags/v0.2.16.rc1
Werner Saar 9 years ago
parent
commit
ceaa931e48
3 changed files with 40 additions and 21 deletions
  1. +16
    -8
      kernel/arm/gemv_n_vfp.S
  2. +23
    -12
      kernel/arm/gemv_t_vfp.S
  3. +1
    -1
      lapack-netlib/TESTING/nep.in

+ 16
- 8
kernel/arm/gemv_n_vfp.S View File

@@ -59,6 +59,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#define I r12

#define FP_ZERO [fp, #-228]
#define FP_ZERO_0 [fp, #-228]
#define FP_ZERO_1 [fp, #-224]

#define M [fp, #-252 ]
#define A [fp, #-256 ]

@@ -79,7 +83,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
pld [ YO , #Y_PRE ]
pld [ YO , #Y_PRE+32 ]

vsub.f64 d8 , d8 , d8
fldd d8 , FP_ZERO
vmov.f64 d9 , d8
vmov.f64 d10 , d8
vmov.f64 d11 , d8
@@ -158,7 +162,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_F1

vsub.f64 d12 , d12 , d12
fldd d12 , FP_ZERO

.endm

@@ -185,7 +189,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_S4

vsub.f64 d12 , d12 , d12
fldd d12 , FP_ZERO
vmov.f64 d13 , d12
vmov.f64 d14 , d12
vmov.f64 d15 , d12
@@ -245,7 +249,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_S1

vsub.f64 d12 , d12 , d12
fldd d12 , FP_ZERO

.endm

@@ -279,7 +283,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

pld [ YO , #Y_PRE ]

vsub.f32 s8 , s8 , s8
flds s8 , FP_ZERO
vmov.f32 s9 , s8
vmov.f32 s10 , s8
vmov.f32 s11 , s8
@@ -357,7 +361,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_F1

vsub.f32 s12 , s12 , s12
flds s12 , FP_ZERO

.endm

@@ -384,7 +388,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_S4

vsub.f32 s12 , s12 , s12
flds s12 , FP_ZERO
vmov.f32 s13 , s12
vmov.f32 s14 , s12
vmov.f32 s15 , s12
@@ -445,7 +449,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_S1

vsub.f32 s12 , s12 , s12
flds s12 , FP_ZERO

.endm

@@ -494,6 +498,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
vstm r12, { s8 - s15 } // store floating point registers
#endif

movs r12, #0
str r12, FP_ZERO
str r12, FP_ZERO_1

cmp OLD_M, #0
ble gemvn_kernel_L999



+ 23
- 12
kernel/arm/gemv_t_vfp.S View File

@@ -59,6 +59,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#define I r12

#define FP_ZERO [fp, #-228]
#define FP_ZERO_0 [fp, #-228]
#define FP_ZERO_1 [fp, #-224]

#define N [fp, #-252 ]
#define A [fp, #-256 ]

@@ -75,8 +79,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_F2

vsub.f64 d2 , d2 , d2
vsub.f64 d3 , d3 , d3
fldd d2, FP_ZERO
vmov.f64 d3 , d2

.endm

@@ -123,7 +127,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_F1

vsub.f64 d2 , d2 , d2
fldd d2, FP_ZERO
vmov.f64 d3 , d2

.endm

@@ -160,8 +165,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_S2

vsub.f64 d2 , d2 , d2
vsub.f64 d3 , d3 , d3
fldd d2, FP_ZERO
vmov.f64 d3 , d2

.endm

@@ -224,7 +229,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_S1

vsub.f64 d2 , d2 , d2
fldd d2, FP_ZERO
vmov.f64 d3 , d2

.endm

@@ -276,8 +282,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_F2

vsub.f32 s2 , s2 , s2
vsub.f32 s3 , s3 , s3
flds s2 , FP_ZERO
vmov.f32 s3 , s2


.endm

@@ -321,7 +328,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_F1

vsub.f32 s2 , s2 , s2
flds s2 , FP_ZERO

.endm

@@ -356,8 +363,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_S2

vsub.f32 s2 , s2 , s2
vsub.f32 s3 , s3 , s3
flds s2 , FP_ZERO
vmov.f32 s3 , s2

.endm

@@ -418,7 +425,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

.macro INIT_S1

vsub.f32 s2 , s2 , s2
flds s2 , FP_ZERO

.endm

@@ -488,6 +495,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
vstm r12, { s8 - s15 } // store floating point registers
#endif

movs r12, #0
str r12, FP_ZERO
str r12, FP_ZERO_1

cmp M, #0
ble gemvt_kernel_L999



+ 1
- 1
lapack-netlib/TESTING/nep.in View File

@@ -10,7 +10,7 @@ NEP: Data file for testing Nonsymmetric Eigenvalue Problem routines
0 5 7 3 200 Values of INIBL (nibble crossover point)
1 2 4 2 1 Values of ISHFTS (number of simultaneous shifts)
0 1 2 0 1 Values of IACC22 (select structured matrix multiply: 0, 1 or 2)
20.0 Threshold value
30.0 Threshold value
T Put T to test the error exits
1 Code to interpret the seed
NEP 21

Loading…
Cancel
Save