Merge branch 'develop' into cmake

Conflicts:
	driver/others/memory.c
This commit is contained in:
Zhang Xianyi 2015-10-13 04:46:08 +08:00
commit 94b125255f
131 changed files with 2366 additions and 1229 deletions

1
.gitignore vendored
View File

@ -15,6 +15,7 @@ lapack-netlib/make.inc
lapack-netlib/lapacke/include/lapacke_mangling.h
lapack-netlib/TESTING/testing_results.txt
*.so
*.so.*
*.a
.svn
*~

View File

@ -1,4 +1,13 @@
language: c
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/8a6e4470a0cebd090344
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always
compiler:
- gcc

View File

@ -127,5 +127,8 @@ In chronological order:
* Ton van den Heuvel <https://github.com/ton>
* [2015-03-18] Fix race condition during shutdown causing a crash in gotoblas_set_affinity().
* Martin Koehler <https://github.com/grisuthedragon/>
* [2015-09-07] Improved imatcopy
* [Your name or handle] <[email or website]>
* [Date] [Brief summary of your changes]

View File

@ -26,8 +26,8 @@ endif
ifeq ($(CORE), ARMV5)
CCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6
FCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6
CCOMMON_OPT += -marm -march=armv5
FCOMMON_OPT += -marm -march=armv5
endif

View File

@ -11,6 +11,7 @@ OPENBLAS_BINARY_DIR := $(PREFIX)/bin
OPENBLAS_BUILD_DIR := $(CURDIR)
OPENBLAS_CMAKE_DIR := $(OPENBLAS_LIBRARY_DIR)/cmake/openblas
OPENBLAS_CMAKE_CONFIG := OpenBLASConfig.cmake
OPENBLAS_CMAKE_CONFIG_VERSION := OpenBLASConfigVersion.cmake
.PHONY : install
.NOTPARALLEL : install
@ -97,6 +98,7 @@ endif
@echo Generating $(OPENBLAS_CMAKE_CONFIG) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
@echo "SET(OpenBLAS_VERSION \"${VERSION}\")" > $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
@echo "SET(OpenBLAS_INCLUDE_DIRS ${OPENBLAS_INCLUDE_DIR})" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
ifndef NO_SHARED
#ifeq logical or
ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD NetBSD))
@ -112,5 +114,16 @@ else
#only static
@echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).$(LIBSUFFIX))" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
endif
#Generating OpenBLASConfigVersion.cmake
@echo Generating $(OPENBLAS_CMAKE_CONFIG_VERSION) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
@echo "set (PACKAGE_VERSION \"${VERSION}\")" > $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo "if (PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo " set (PACKAGE_VERSION_COMPATIBLE FALSE)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo "else ()" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo " set (PACKAGE_VERSION_COMPATIBLE TRUE)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo " if (PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo " set (PACKAGE_VERSION_EXACT TRUE)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo " endif ()" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo "endif ()" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)
@echo Install OK!

View File

@ -169,6 +169,9 @@ COMMON_PROF = -pg
# 64 bit integer interfaces in OpenBLAS.
# For details, https://github.com/xianyi/OpenBLAS/pull/459
#
# The same prefix and suffix are also added to the library name,
# i.e. you get lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX) rather than libopenblas
#
# SYMBOLPREFIX=
# SYMBOLSUFFIX=

View File

@ -880,12 +880,6 @@ ifdef USE_SIMPLE_THREADED_LEVEL3
CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3
endif
ifndef LIBNAMESUFFIX
LIBPREFIX = libopenblas
else
LIBPREFIX = libopenblas_$(LIBNAMESUFFIX)
endif
ifndef SYMBOLPREFIX
SYMBOLPREFIX =
endif
@ -894,6 +888,12 @@ ifndef SYMBOLSUFFIX
SYMBOLSUFFIX =
endif
ifndef LIBNAMESUFFIX
LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)
else
LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)_$(LIBNAMESUFFIX)
endif
KERNELDIR = $(TOPDIR)/kernel/$(ARCH)
include $(TOPDIR)/Makefile.$(ARCH)

View File

@ -1,5 +1,7 @@
# OpenBLAS
[![Join the chat at https://gitter.im/xianyi/OpenBLAS](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/xianyi/OpenBLAS?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/xianyi/OpenBLAS.png?branch=develop)](https://travis-ci.org/xianyi/OpenBLAS)
## Introduction

View File

@ -44,6 +44,8 @@ NANO
POWER4
POWER5
POWER6
POWER7
POWER8
PPCG4
PPC970
PPC970MP

View File

@ -30,7 +30,7 @@ if ($ARGV[0] =~ /(.*)(-[.\d]+)/) {
$cross_suffix = $1;
}
} else {
if ($ARGV[0] =~ /(.*-)(.*)/) {
if ($ARGV[0] =~ /([^\/]*-)([^\/]*$)/) {
$cross_suffix = $1;
}
}

View File

@ -1,350 +0,0 @@
#ifndef CBLAS_H
#define CBLAS_H
#include <stddef.h>
#include "common.h"
#ifdef __cplusplus
extern "C" {
/* Assume C declarations for C++ */
#endif /* __cplusplus */
/*Set the number of threads on runtime.*/
void openblas_set_num_threads(int num_threads);
void goto_set_num_threads(int num_threads);
/*Get the number of threads on runtime.*/
int openblas_get_num_threads(void);
/*Get the number of physical processors (cores).*/
int openblas_get_num_procs(void);
/*Get the build configure on runtime.*/
char* openblas_get_config(void);
/* Get the parallelization type which is used by OpenBLAS */
int openblas_get_parallel(void);
/* OpenBLAS is compiled for sequential use */
#define OPENBLAS_SEQUENTIAL 0
/* OpenBLAS is compiled using normal threading model */
#define OPENBLAS_THREAD 1
/* OpenBLAS is compiled using OpenMP threading model */
#define OPENBLAS_OPENMP 2
#define CBLAS_INDEX size_t
typedef enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102} CBLAS_ORDER;
typedef enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113, CblasConjNoTrans=114} CBLAS_TRANSPOSE;
typedef enum CBLAS_UPLO {CblasUpper=121, CblasLower=122} CBLAS_UPLO;
typedef enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132} CBLAS_DIAG;
typedef enum CBLAS_SIDE {CblasLeft=141, CblasRight=142} CBLAS_SIDE;
float cblas_sdsdot(blasint n, float alpha, float *x, blasint incx, float *y, blasint incy);
double cblas_dsdot (blasint n, float *x, blasint incx, float *y, blasint incy);
float cblas_sdot(blasint n, float *x, blasint incx, float *y, blasint incy);
double cblas_ddot(blasint n, double *x, blasint incx, double *y, blasint incy);
openblas_complex_float cblas_cdotu(blasint n, float *x, blasint incx, float *y, blasint incy);
openblas_complex_float cblas_cdotc(blasint n, float *x, blasint incx, float *y, blasint incy);
openblas_complex_double cblas_zdotu(blasint n, double *x, blasint incx, double *y, blasint incy);
openblas_complex_double cblas_zdotc(blasint n, double *x, blasint incx, double *y, blasint incy);
void cblas_cdotu_sub(blasint n, float *x, blasint incx, float *y, blasint incy, openblas_complex_float *ret);
void cblas_cdotc_sub(blasint n, float *x, blasint incx, float *y, blasint incy, openblas_complex_float *ret);
void cblas_zdotu_sub(blasint n, double *x, blasint incx, double *y, blasint incy, openblas_complex_double *ret);
void cblas_zdotc_sub(blasint n, double *x, blasint incx, double *y, blasint incy, openblas_complex_double *ret);
float cblas_sasum (blasint n, float *x, blasint incx);
double cblas_dasum (blasint n, double *x, blasint incx);
float cblas_scasum(blasint n, float *x, blasint incx);
double cblas_dzasum(blasint n, double *x, blasint incx);
float cblas_snrm2 (blasint N, float *X, blasint incX);
double cblas_dnrm2 (blasint N, double *X, blasint incX);
float cblas_scnrm2(blasint N, float *X, blasint incX);
double cblas_dznrm2(blasint N, double *X, blasint incX);
CBLAS_INDEX cblas_isamax(blasint n, float *x, blasint incx);
CBLAS_INDEX cblas_idamax(blasint n, double *x, blasint incx);
CBLAS_INDEX cblas_icamax(blasint n, float *x, blasint incx);
CBLAS_INDEX cblas_izamax(blasint n, double *x, blasint incx);
void cblas_saxpy(blasint n, float alpha, float *x, blasint incx, float *y, blasint incy);
void cblas_daxpy(blasint n, double alpha, double *x, blasint incx, double *y, blasint incy);
void cblas_caxpy(blasint n, float *alpha, float *x, blasint incx, float *y, blasint incy);
void cblas_zaxpy(blasint n, double *alpha, double *x, blasint incx, double *y, blasint incy);
void cblas_scopy(blasint n, float *x, blasint incx, float *y, blasint incy);
void cblas_dcopy(blasint n, double *x, blasint incx, double *y, blasint incy);
void cblas_ccopy(blasint n, float *x, blasint incx, float *y, blasint incy);
void cblas_zcopy(blasint n, double *x, blasint incx, double *y, blasint incy);
void cblas_sswap(blasint n, float *x, blasint incx, float *y, blasint incy);
void cblas_dswap(blasint n, double *x, blasint incx, double *y, blasint incy);
void cblas_cswap(blasint n, float *x, blasint incx, float *y, blasint incy);
void cblas_zswap(blasint n, double *x, blasint incx, double *y, blasint incy);
void cblas_srot(blasint N, float *X, blasint incX, float *Y, blasint incY, float c, float s);
void cblas_drot(blasint N, double *X, blasint incX, double *Y, blasint incY, double c, double s);
void cblas_srotg(float *a, float *b, float *c, float *s);
void cblas_drotg(double *a, double *b, double *c, double *s);
void cblas_srotm(blasint N, float *X, blasint incX, float *Y, blasint incY, float *P);
void cblas_drotm(blasint N, double *X, blasint incX, double *Y, blasint incY, double *P);
void cblas_srotmg(float *d1, float *d2, float *b1, float b2, float *P);
void cblas_drotmg(double *d1, double *d2, double *b1, double b2, double *P);
void cblas_sscal(blasint N, float alpha, float *X, blasint incX);
void cblas_dscal(blasint N, double alpha, double *X, blasint incX);
void cblas_cscal(blasint N, float *alpha, float *X, blasint incX);
void cblas_zscal(blasint N, double *alpha, double *X, blasint incX);
void cblas_csscal(blasint N, float alpha, float *X, blasint incX);
void cblas_zdscal(blasint N, double alpha, double *X, blasint incX);
void cblas_sgemv(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE trans, blasint m, blasint n,
float alpha, float *a, blasint lda, float *x, blasint incx, float beta, float *y, blasint incy);
void cblas_dgemv(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE trans, blasint m, blasint n,
double alpha, double *a, blasint lda, double *x, blasint incx, double beta, double *y, blasint incy);
void cblas_cgemv(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE trans, blasint m, blasint n,
float *alpha, float *a, blasint lda, float *x, blasint incx, float *beta, float *y, blasint incy);
void cblas_zgemv(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE trans, blasint m, blasint n,
double *alpha, double *a, blasint lda, double *x, blasint incx, double *beta, double *y, blasint incy);
void cblas_sger (enum CBLAS_ORDER order, blasint M, blasint N, float alpha, float *X, blasint incX, float *Y, blasint incY, float *A, blasint lda);
void cblas_dger (enum CBLAS_ORDER order, blasint M, blasint N, double alpha, double *X, blasint incX, double *Y, blasint incY, double *A, blasint lda);
void cblas_cgeru(enum CBLAS_ORDER order, blasint M, blasint N, float *alpha, float *X, blasint incX, float *Y, blasint incY, float *A, blasint lda);
void cblas_cgerc(enum CBLAS_ORDER order, blasint M, blasint N, float *alpha, float *X, blasint incX, float *Y, blasint incY, float *A, blasint lda);
void cblas_zgeru(enum CBLAS_ORDER order, blasint M, blasint N, double *alpha, double *X, blasint incX, double *Y, blasint incY, double *A, blasint lda);
void cblas_zgerc(enum CBLAS_ORDER order, blasint M, blasint N, double *alpha, double *X, blasint incX, double *Y, blasint incY, double *A, blasint lda);
void cblas_strsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag, blasint N, float *A, blasint lda, float *X, blasint incX);
void cblas_dtrsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag, blasint N, double *A, blasint lda, double *X, blasint incX);
void cblas_ctrsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag, blasint N, float *A, blasint lda, float *X, blasint incX);
void cblas_ztrsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag, blasint N, double *A, blasint lda, double *X, blasint incX);
void cblas_strmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag, blasint N, float *A, blasint lda, float *X, blasint incX);
void cblas_dtrmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag, blasint N, double *A, blasint lda, double *X, blasint incX);
void cblas_ctrmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag, blasint N, float *A, blasint lda, float *X, blasint incX);
void cblas_ztrmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag, blasint N, double *A, blasint lda, double *X, blasint incX);
void cblas_ssyr(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float alpha, float *X, blasint incX, float *A, blasint lda);
void cblas_dsyr(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double alpha, double *X, blasint incX, double *A, blasint lda);
void cblas_cher(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float alpha, float *X, blasint incX, float *A, blasint lda);
void cblas_zher(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double alpha, double *X, blasint incX, double *A, blasint lda);
void cblas_ssyr2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo,blasint N, float alpha, float *X,
blasint incX, float *Y, blasint incY, float *A, blasint lda);
void cblas_dsyr2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double alpha, double *X,
blasint incX, double *Y, blasint incY, double *A, blasint lda);
void cblas_cher2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float *alpha, float *X, blasint incX,
float *Y, blasint incY, float *A, blasint lda);
void cblas_zher2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double *alpha, double *X, blasint incX,
double *Y, blasint incY, double *A, blasint lda);
void cblas_sgbmv(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, blasint M, blasint N,
blasint KL, blasint KU, float alpha, float *A, blasint lda, float *X, blasint incX, float beta, float *Y, blasint incY);
void cblas_dgbmv(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, blasint M, blasint N,
blasint KL, blasint KU, double alpha, double *A, blasint lda, double *X, blasint incX, double beta, double *Y, blasint incY);
void cblas_cgbmv(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, blasint M, blasint N,
blasint KL, blasint KU, float *alpha, float *A, blasint lda, float *X, blasint incX, float *beta, float *Y, blasint incY);
void cblas_zgbmv(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, blasint M, blasint N,
blasint KL, blasint KU, double *alpha, double *A, blasint lda, double *X, blasint incX, double *beta, double *Y, blasint incY);
void cblas_ssbmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, blasint K, float alpha, float *A,
blasint lda, float *X, blasint incX, float beta, float *Y, blasint incY);
void cblas_dsbmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, blasint K, double alpha, double *A,
blasint lda, double *X, blasint incX, double beta, double *Y, blasint incY);
void cblas_stbmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, blasint K, float *A, blasint lda, float *X, blasint incX);
void cblas_dtbmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, blasint K, double *A, blasint lda, double *X, blasint incX);
void cblas_ctbmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, blasint K, float *A, blasint lda, float *X, blasint incX);
void cblas_ztbmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, blasint K, double *A, blasint lda, double *X, blasint incX);
void cblas_stbsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, blasint K, float *A, blasint lda, float *X, blasint incX);
void cblas_dtbsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, blasint K, double *A, blasint lda, double *X, blasint incX);
void cblas_ctbsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, blasint K, float *A, blasint lda, float *X, blasint incX);
void cblas_ztbsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, blasint K, double *A, blasint lda, double *X, blasint incX);
void cblas_stpmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, float *Ap, float *X, blasint incX);
void cblas_dtpmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, double *Ap, double *X, blasint incX);
void cblas_ctpmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, float *Ap, float *X, blasint incX);
void cblas_ztpmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, double *Ap, double *X, blasint incX);
void cblas_stpsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, float *Ap, float *X, blasint incX);
void cblas_dtpsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, double *Ap, double *X, blasint incX);
void cblas_ctpsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, float *Ap, float *X, blasint incX);
void cblas_ztpsv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA, enum CBLAS_DIAG Diag,
blasint N, double *Ap, double *X, blasint incX);
void cblas_ssymv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float alpha, float *A,
blasint lda, float *X, blasint incX, float beta, float *Y, blasint incY);
void cblas_dsymv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double alpha, double *A,
blasint lda, double *X, blasint incX, double beta, double *Y, blasint incY);
void cblas_chemv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float *alpha, float *A,
blasint lda, float *X, blasint incX, float *beta, float *Y, blasint incY);
void cblas_zhemv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double *alpha, double *A,
blasint lda, double *X, blasint incX, double *beta, double *Y, blasint incY);
void cblas_sspmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float alpha, float *Ap,
float *X, blasint incX, float beta, float *Y, blasint incY);
void cblas_dspmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double alpha, double *Ap,
double *X, blasint incX, double beta, double *Y, blasint incY);
void cblas_sspr(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float alpha, float *X, blasint incX, float *Ap);
void cblas_dspr(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double alpha, double *X, blasint incX, double *Ap);
void cblas_chpr(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float alpha, float *X, blasint incX, float *A);
void cblas_zhpr(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double alpha, double *X,blasint incX, double *A);
void cblas_sspr2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float alpha, float *X, blasint incX, float *Y, blasint incY, float *A);
void cblas_dspr2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double alpha, double *X, blasint incX, double *Y, blasint incY, double *A);
void cblas_chpr2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, float *alpha, float *X, blasint incX, float *Y, blasint incY, float *Ap);
void cblas_zhpr2(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, double *alpha, double *X, blasint incX, double *Y, blasint incY, double *Ap);
void cblas_chbmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, blasint K,
float *alpha, float *A, blasint lda, float *X, blasint incX, float *beta, float *Y, blasint incY);
void cblas_zhbmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N, blasint K,
double *alpha, double *A, blasint lda, double *X, blasint incX, double *beta, double *Y, blasint incY);
void cblas_chpmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N,
float *alpha, float *Ap, float *X, blasint incX, float *beta, float *Y, blasint incY);
void cblas_zhpmv(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint N,
double *alpha, double *Ap, double *X, blasint incX, double *beta, double *Y, blasint incY);
void cblas_sgemm(enum CBLAS_ORDER Order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB, blasint M, blasint N, blasint K,
float alpha, float *A, blasint lda, float *B, blasint ldb, float beta, float *C, blasint ldc);
void cblas_dgemm(enum CBLAS_ORDER Order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB, blasint M, blasint N, blasint K,
double alpha, double *A, blasint lda, double *B, blasint ldb, double beta, double *C, blasint ldc);
void cblas_cgemm(enum CBLAS_ORDER Order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB, blasint M, blasint N, blasint K,
float *alpha, float *A, blasint lda, float *B, blasint ldb, float *beta, float *C, blasint ldc);
void cblas_cgemm3m(enum CBLAS_ORDER Order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB, blasint M, blasint N, blasint K,
float *alpha, float *A, blasint lda, float *B, blasint ldb, float *beta, float *C, blasint ldc);
void cblas_zgemm(enum CBLAS_ORDER Order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB, blasint M, blasint N, blasint K,
double *alpha, double *A, blasint lda, double *B, blasint ldb, double *beta, double *C, blasint ldc);
void cblas_zgemm3m(enum CBLAS_ORDER Order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANSPOSE TransB, blasint M, blasint N, blasint K,
double *alpha, double *A, blasint lda, double *B, blasint ldb, double *beta, double *C, blasint ldc);
void cblas_ssymm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, blasint M, blasint N,
float alpha, float *A, blasint lda, float *B, blasint ldb, float beta, float *C, blasint ldc);
void cblas_dsymm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, blasint M, blasint N,
double alpha, double *A, blasint lda, double *B, blasint ldb, double beta, double *C, blasint ldc);
void cblas_csymm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, blasint M, blasint N,
float *alpha, float *A, blasint lda, float *B, blasint ldb, float *beta, float *C, blasint ldc);
void cblas_zsymm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, blasint M, blasint N,
double *alpha, double *A, blasint lda, double *B, blasint ldb, double *beta, double *C, blasint ldc);
void cblas_ssyrk(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans,
blasint N, blasint K, float alpha, float *A, blasint lda, float beta, float *C, blasint ldc);
void cblas_dsyrk(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans,
blasint N, blasint K, double alpha, double *A, blasint lda, double beta, double *C, blasint ldc);
void cblas_csyrk(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans,
blasint N, blasint K, float *alpha, float *A, blasint lda, float *beta, float *C, blasint ldc);
void cblas_zsyrk(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans,
blasint N, blasint K, double *alpha, double *A, blasint lda, double *beta, double *C, blasint ldc);
void cblas_ssyr2k(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans,
blasint N, blasint K, float alpha, float *A, blasint lda, float *B, blasint ldb, float beta, float *C, blasint ldc);
void cblas_dsyr2k(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans,
blasint N, blasint K, double alpha, double *A, blasint lda, double *B, blasint ldb, double beta, double *C, blasint ldc);
void cblas_csyr2k(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans,
blasint N, blasint K, float *alpha, float *A, blasint lda, float *B, blasint ldb, float *beta, float *C, blasint ldc);
void cblas_zsyr2k(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans,
blasint N, blasint K, double *alpha, double *A, blasint lda, double *B, blasint ldb, double *beta, double *C, blasint ldc);
void cblas_strmm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA,
enum CBLAS_DIAG Diag, blasint M, blasint N, float alpha, float *A, blasint lda, float *B, blasint ldb);
void cblas_dtrmm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA,
enum CBLAS_DIAG Diag, blasint M, blasint N, double alpha, double *A, blasint lda, double *B, blasint ldb);
void cblas_ctrmm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA,
enum CBLAS_DIAG Diag, blasint M, blasint N, float *alpha, float *A, blasint lda, float *B, blasint ldb);
void cblas_ztrmm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA,
enum CBLAS_DIAG Diag, blasint M, blasint N, double *alpha, double *A, blasint lda, double *B, blasint ldb);
void cblas_strsm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA,
enum CBLAS_DIAG Diag, blasint M, blasint N, float alpha, float *A, blasint lda, float *B, blasint ldb);
void cblas_dtrsm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA,
enum CBLAS_DIAG Diag, blasint M, blasint N, double alpha, double *A, blasint lda, double *B, blasint ldb);
void cblas_ctrsm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA,
enum CBLAS_DIAG Diag, blasint M, blasint N, float *alpha, float *A, blasint lda, float *B, blasint ldb);
void cblas_ztrsm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE TransA,
enum CBLAS_DIAG Diag, blasint M, blasint N, double *alpha, double *A, blasint lda, double *B, blasint ldb);
void cblas_chemm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, blasint M, blasint N,
float *alpha, float *A, blasint lda, float *B, blasint ldb, float *beta, float *C, blasint ldc);
void cblas_zhemm(enum CBLAS_ORDER Order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, blasint M, blasint N,
double *alpha, double *A, blasint lda, double *B, blasint ldb, double *beta, double *C, blasint ldc);
void cblas_cherk(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans, blasint N, blasint K,
float alpha, float *A, blasint lda, float beta, float *C, blasint ldc);
void cblas_zherk(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans, blasint N, blasint K,
double alpha, double *A, blasint lda, double beta, double *C, blasint ldc);
void cblas_cher2k(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans, blasint N, blasint K,
float *alpha, float *A, blasint lda, float *B, blasint ldb, float beta, float *C, blasint ldc);
void cblas_zher2k(enum CBLAS_ORDER Order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Trans, blasint N, blasint K,
double *alpha, double *A, blasint lda, double *B, blasint ldb, double beta, double *C, blasint ldc);
void cblas_xerbla(blasint p, char *rout, char *form, ...);
/*** BLAS extensions ***/
void cblas_saxpby(blasint n, float alpha, float *x, blasint incx,float beta, float *y, blasint incy);
void cblas_daxpby(blasint n, double alpha, double *x, blasint incx,double beta, double *y, blasint incy);
void cblas_caxpby(blasint n, float *alpha, float *x, blasint incx,float *beta, float *y, blasint incy);
void cblas_zaxpby(blasint n, double *alpha, double *x, blasint incx,double *beta, double *y, blasint incy);
void cblas_somatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, float calpha, float *a,
blasint clda, float *b, blasint cldb);
void cblas_domatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, double calpha, double *a,
blasint clda, double *b, blasint cldb);
void cblas_comatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, void* calpha, void* a,
blasint clda, void *b, blasint cldb);
void cblas_zomatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, void* calpha, void* a,
blasint clda, void *b, blasint cldb);
void cblas_simatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, float calpha, float *a,
blasint clda, blasint cldb);
void cblas_dimatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, double calpha, double *a,
blasint clda, blasint cldb);
void cblas_cimatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, float* calpha, float* a,
blasint clda, blasint cldb);
void cblas_zimatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, double* calpha, double* a,
blasint clda, blasint cldb);
void cblas_sgeadd( enum CBLAS_ORDER CORDER, blasint crows, blasint ccols, float calpha, float *a, blasint clda, float cbeta,
float *c, blasint cldc);
void cblas_dgeadd( enum CBLAS_ORDER CORDER, blasint crows, blasint ccols, double calpha, double *a, blasint clda, double cbeta,
double *c, blasint cldc);
void cblas_cgeadd( enum CBLAS_ORDER CORDER, blasint crows, blasint ccols, float *calpha, float *a, blasint clda, float *cbeta,
float *c, blasint cldc);
void cblas_zgeadd( enum CBLAS_ORDER CORDER, blasint crows, blasint ccols, double *calpha, double *a, blasint clda, double *cbeta,
double *c, blasint cldc);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif

View File

@ -117,6 +117,7 @@ extern "C" {
#include <sys/shm.h>
#endif
#include <sys/time.h>
#include <time.h>
#include <unistd.h>
#include <math.h>
#ifdef SMP
@ -410,7 +411,51 @@ typedef char env_var_t[MAX_PATH];
typedef char* env_var_t;
#define readenv(p, n) ((p)=getenv(n))
#endif
#if !defined(RPCC_DEFINED) && !defined(OS_WINDOWS)
#ifdef _POSIX_MONOTONIC_CLOCK
#if defined(__GLIBC_PREREQ) // cut the if condition if two lines, otherwise will fail at __GLIBC_PREREQ(2, 17)
#if __GLIBC_PREREQ(2, 17) // don't require -lrt
#define USE_MONOTONIC
#endif
#elif defined(OS_ANDROID)
#define USE_MONOTONIC
#endif
#endif
/* use similar scale as x86 rdtsc for timeouts to work correctly */
static inline unsigned long long rpcc(void){
#ifdef USE_MONOTONIC
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
return (unsigned long long)ts.tv_sec * 1000000000ull + ts.tv_nsec;
#else
struct timeval tv;
gettimeofday(&tv,NULL);
return (unsigned long long)tv.tv_sec * 1000000000ull + tv.tv_usec * 1000;
#endif
}
#define RPCC_DEFINED
#define RPCC64BIT
#endif // !RPCC_DEFINED
#if !defined(BLAS_LOCK_DEFINED) && defined(__GNUC__)
static void __inline blas_lock(volatile BLASULONG *address){
do {
while (*address) {YIELDING;};
} while (!__sync_bool_compare_and_swap(address, 0, 1));
}
#define BLAS_LOCK_DEFINED
#endif
#ifndef RPCC_DEFINED
#error "rpcc() implementation is missing for your platform"
#endif
#ifndef BLAS_LOCK_DEFINED
#error "blas_lock() implementation is missing for your platform"
#endif
#endif // !ASSEMBLER
#ifdef OS_LINUX
#include "common_linux.h"

View File

@ -76,6 +76,7 @@ static void __inline blas_lock(unsigned long *address){
"30:", address);
#endif
}
#define BLAS_LOCK_DEFINED
static __inline unsigned int rpcc(void){
@ -89,6 +90,7 @@ static __inline unsigned int rpcc(void){
return r0;
}
#define RPCC_DEFINED
#define HALT ldq $0, 0($0)

View File

@ -51,6 +51,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef ASSEMBLER
#if defined(ARMV6) || defined(ARMV7) || defined(ARMV8)
static void __inline blas_lock(volatile BLASULONG *address){
int register ret;
@ -59,40 +61,29 @@ static void __inline blas_lock(volatile BLASULONG *address){
while (*address) {YIELDING;};
__asm__ __volatile__(
"1: \n\t"
"ldrex r2, [%1] \n\t"
"mov r2, #0 \n\t"
"strex r3, r2, [%1] \n\t"
"cmp r3, #0 \n\t"
"bne 1b \n\t"
"mov %0 , r3 \n\t"
: "=r"(ret), "=r"(address)
: "1"(address)
: "memory", "r2" , "r3"
"ldrex r2, [%1] \n\t"
"strex %0, %2, [%1] \n\t"
"orr %0, r2 \n\t"
: "=&r"(ret)
: "r"(address), "r"(1)
: "memory", "r2"
);
} while (ret);
MB;
}
static inline unsigned long long rpcc(void){
unsigned long long ret=0;
double v;
struct timeval tv;
gettimeofday(&tv,NULL);
v=(double) tv.tv_sec + (double) tv.tv_usec * 1e-6;
ret = (unsigned long long) ( v * 1000.0d );
return ret;
}
#define BLAS_LOCK_DEFINED
#endif
static inline int blas_quickdivide(blasint x, blasint y){
return x / y;
}
#if defined(DOUBLE)
#if !defined(HAVE_VFP)
/* no FPU, soft float */
#define GET_IMAGE(res)
#elif defined(DOUBLE)
#define GET_IMAGE(res) __asm__ __volatile__("vstr.f64 d1, %0" : "=m"(res) : : "memory")
#else
#define GET_IMAGE(res) __asm__ __volatile__("vstr.f32 s1, %0" : "=m"(res) : : "memory")
@ -140,4 +131,8 @@ REALNAME:
#define MAP_ANONYMOUS MAP_ANON
#endif
#if !defined(ARMV5) && !defined(ARMV6) && !defined(ARMV7) && !defined(ARMV8)
#error "you must define ARMV5, ARMV6, ARMV7 or ARMV8"
#endif
#endif

View File

@ -45,42 +45,26 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
static void __inline blas_lock(volatile BLASULONG *address){
int register ret;
int register tmp;
long register ret;
do {
while (*address) {YIELDING;};
__asm__ __volatile__(
"1: \n\t"
"ldaxr %2, [%1] \n\t"
"mov %2, #0 \n\t"
"stlxr %w0, %2, [%1] \n\t"
"cbnz %w0, 1b \n\t"
"mov %0 , #0 \n\t"
: "=r"(ret), "=r"(address), "=r"(tmp)
: "1"(address)
: "memory", "%w0"
//, "%r2" , "%r3"
"ldaxr %0, [%1] \n\t"
"stlxr w2, %2, [%1] \n\t"
"orr %0, %0, x2 \n\t"
: "=r"(ret)
: "r"(address), "r"(1l)
: "memory", "x2"
);
} while (ret);
MB;
}
#define BLAS_LOCK_DEFINED
static inline unsigned long long rpcc(void){
unsigned long long ret=0;
double v;
struct timeval tv;
gettimeofday(&tv,NULL);
v=(double) tv.tv_sec + (double) tv.tv_usec * 1e-6;
ret = (unsigned long long) ( v * 1000.0d );
return ret;
}
static inline int blas_quickdivide(blasint x, blasint y){
return x / y;
}

View File

@ -220,6 +220,15 @@
#define COMATCOPY_K_CTC comatcopy_k_ctc
#define COMATCOPY_K_RTC comatcopy_k_rtc
#define CIMATCOPY_K_CN cimatcopy_k_cn
#define CIMATCOPY_K_RN cimatcopy_k_rn
#define CIMATCOPY_K_CT cimatcopy_k_ct
#define CIMATCOPY_K_RT cimatcopy_k_rt
#define CIMATCOPY_K_CNC cimatcopy_k_cnc
#define CIMATCOPY_K_RNC cimatcopy_k_rnc
#define CIMATCOPY_K_CTC cimatcopy_k_ctc
#define CIMATCOPY_K_RTC cimatcopy_k_rtc
#define CGEADD_K cgeadd_k
#else
@ -403,6 +412,16 @@
#define COMATCOPY_K_RNC gotoblas -> comatcopy_k_rnc
#define COMATCOPY_K_CTC gotoblas -> comatcopy_k_ctc
#define COMATCOPY_K_RTC gotoblas -> comatcopy_k_rtc
#define CIMATCOPY_K_CN gotoblas -> cimatcopy_k_cn
#define CIMATCOPY_K_RN gotoblas -> cimatcopy_k_rn
#define CIMATCOPY_K_CT gotoblas -> cimatcopy_k_ct
#define CIMATCOPY_K_RT gotoblas -> cimatcopy_k_rt
#define CIMATCOPY_K_CNC gotoblas -> cimatcopy_k_cnc
#define CIMATCOPY_K_RNC gotoblas -> cimatcopy_k_rnc
#define CIMATCOPY_K_CTC gotoblas -> cimatcopy_k_ctc
#define CIMATCOPY_K_RTC gotoblas -> cimatcopy_k_rtc
#define CGEADD_K gotoblas -> cgeadd_k
#endif

View File

@ -149,6 +149,11 @@
#define DOMATCOPY_K_RN domatcopy_k_rn
#define DOMATCOPY_K_CT domatcopy_k_ct
#define DOMATCOPY_K_RT domatcopy_k_rt
#define DIMATCOPY_K_CN dimatcopy_k_cn
#define DIMATCOPY_K_RN dimatcopy_k_rn
#define DIMATCOPY_K_CT dimatcopy_k_ct
#define DIMATCOPY_K_RT dimatcopy_k_rt
#define DGEADD_K dgeadd_k
#else
@ -267,6 +272,10 @@
#define DOMATCOPY_K_RN gotoblas -> domatcopy_k_rn
#define DOMATCOPY_K_CT gotoblas -> domatcopy_k_ct
#define DOMATCOPY_K_RT gotoblas -> domatcopy_k_rt
#define DIMATCOPY_K_CN gotoblas -> dimatcopy_k_cn
#define DIMATCOPY_K_RN gotoblas -> dimatcopy_k_rn
#define DIMATCOPY_K_CT gotoblas -> dimatcopy_k_ct
#define DIMATCOPY_K_RT gotoblas -> dimatcopy_k_rt
#define DGEADD_K gotoblas -> dgeadd_k

View File

@ -68,6 +68,7 @@ static __inline void blas_lock(volatile unsigned long *address){
: "ar.ccv", "memory");
} while (ret);
}
#define BLAS_LOCK_DEFINED
static __inline unsigned long rpcc(void) {
unsigned long clocks;
@ -75,6 +76,7 @@ static __inline unsigned long rpcc(void) {
__asm__ __volatile__ ("mov %0=ar.itc" : "=r"(clocks));
return clocks;
}
#define RPCC_DEFINED
static __inline unsigned long stmxcsr(void){
@ -99,10 +101,12 @@ static __inline void blas_lock(volatile unsigned long *address){
while (*address || _InterlockedCompareExchange((volatile int *) address,1,0))
;
}
#define BLAS_LOCK_DEFINED
static __inline unsigned int rpcc(void) {
return __getReg(_IA64_REG_AR_ITC);
}
#define RPCC_DEFINED
static __inline unsigned int stmxcsr(void) {
return __getReg(_IA64_REG_AR_FPSR);

View File

@ -1736,31 +1736,55 @@ int somatcopy_k_cn(BLASLONG, BLASLONG, float, float *, BLASLONG, float *, BLAS
int somatcopy_k_rn(BLASLONG, BLASLONG, float, float *, BLASLONG, float *, BLASLONG);
int somatcopy_k_ct(BLASLONG, BLASLONG, float, float *, BLASLONG, float *, BLASLONG);
int somatcopy_k_rt(BLASLONG, BLASLONG, float, float *, BLASLONG, float *, BLASLONG);
int simatcopy_k_cn(BLASLONG, BLASLONG, float, float *, BLASLONG);
int simatcopy_k_rn(BLASLONG, BLASLONG, float, float *, BLASLONG);
int simatcopy_k_ct(BLASLONG, BLASLONG, float, float *, BLASLONG);
int simatcopy_k_rt(BLASLONG, BLASLONG, float, float *, BLASLONG);
int domatcopy_k_cn(BLASLONG, BLASLONG, double, double *, BLASLONG, double *, BLASLONG);
int domatcopy_k_rn(BLASLONG, BLASLONG, double, double *, BLASLONG, double *, BLASLONG);
int domatcopy_k_ct(BLASLONG, BLASLONG, double, double *, BLASLONG, double *, BLASLONG);
int domatcopy_k_rt(BLASLONG, BLASLONG, double, double *, BLASLONG, double *, BLASLONG);
int dimatcopy_k_cn(BLASLONG, BLASLONG, double, double *, BLASLONG);
int dimatcopy_k_rn(BLASLONG, BLASLONG, double, double *, BLASLONG);
int dimatcopy_k_ct(BLASLONG, BLASLONG, double, double *, BLASLONG);
int dimatcopy_k_rt(BLASLONG, BLASLONG, double, double *, BLASLONG);
int comatcopy_k_cn(BLASLONG, BLASLONG, float, float, float *, BLASLONG, float *, BLASLONG);
int comatcopy_k_rn(BLASLONG, BLASLONG, float, float, float *, BLASLONG, float *, BLASLONG);
int comatcopy_k_ct(BLASLONG, BLASLONG, float, float, float *, BLASLONG, float *, BLASLONG);
int comatcopy_k_rt(BLASLONG, BLASLONG, float, float, float *, BLASLONG, float *, BLASLONG);
int cimatcopy_k_cn(BLASLONG, BLASLONG, float, float, float *, BLASLONG);
int cimatcopy_k_rn(BLASLONG, BLASLONG, float, float, float *, BLASLONG);
int cimatcopy_k_ct(BLASLONG, BLASLONG, float, float, float *, BLASLONG);
int cimatcopy_k_rt(BLASLONG, BLASLONG, float, float, float *, BLASLONG);
int comatcopy_k_cnc(BLASLONG, BLASLONG, float, float, float *, BLASLONG, float *, BLASLONG);
int comatcopy_k_rnc(BLASLONG, BLASLONG, float, float, float *, BLASLONG, float *, BLASLONG);
int comatcopy_k_ctc(BLASLONG, BLASLONG, float, float, float *, BLASLONG, float *, BLASLONG);
int comatcopy_k_rtc(BLASLONG, BLASLONG, float, float, float *, BLASLONG, float *, BLASLONG);
int cimatcopy_k_cnc(BLASLONG, BLASLONG, float, float, float *, BLASLONG);
int cimatcopy_k_rnc(BLASLONG, BLASLONG, float, float, float *, BLASLONG);
int cimatcopy_k_ctc(BLASLONG, BLASLONG, float, float, float *, BLASLONG);
int cimatcopy_k_rtc(BLASLONG, BLASLONG, float, float, float *, BLASLONG);
int zomatcopy_k_cn(BLASLONG, BLASLONG, double, double, double *, BLASLONG, double *, BLASLONG);
int zomatcopy_k_rn(BLASLONG, BLASLONG, double, double, double *, BLASLONG, double *, BLASLONG);
int zomatcopy_k_ct(BLASLONG, BLASLONG, double, double, double *, BLASLONG, double *, BLASLONG);
int zomatcopy_k_rt(BLASLONG, BLASLONG, double, double, double *, BLASLONG, double *, BLASLONG);
int zimatcopy_k_cn(BLASLONG, BLASLONG, double, double, double *, BLASLONG);
int zimatcopy_k_rn(BLASLONG, BLASLONG, double, double, double *, BLASLONG);
int zimatcopy_k_ct(BLASLONG, BLASLONG, double, double, double *, BLASLONG);
int zimatcopy_k_rt(BLASLONG, BLASLONG, double, double, double *, BLASLONG);
int zomatcopy_k_cnc(BLASLONG, BLASLONG, double, double, double *, BLASLONG, double *, BLASLONG);
int zomatcopy_k_rnc(BLASLONG, BLASLONG, double, double, double *, BLASLONG, double *, BLASLONG);
int zomatcopy_k_ctc(BLASLONG, BLASLONG, double, double, double *, BLASLONG, double *, BLASLONG);
int zomatcopy_k_rtc(BLASLONG, BLASLONG, double, double, double *, BLASLONG, double *, BLASLONG);
int zimatcopy_k_cnc(BLASLONG, BLASLONG, double, double, double *, BLASLONG);
int zimatcopy_k_rnc(BLASLONG, BLASLONG, double, double, double *, BLASLONG);
int zimatcopy_k_ctc(BLASLONG, BLASLONG, double, double, double *, BLASLONG);
int zimatcopy_k_rtc(BLASLONG, BLASLONG, double, double, double *, BLASLONG);
int sgeadd_k(BLASLONG, BLASLONG, float, float*, BLASLONG, float, float *, BLASLONG);
int dgeadd_k(BLASLONG, BLASLONG, double, double*, BLASLONG, double, double *, BLASLONG);

View File

@ -634,6 +634,11 @@
#define OMATCOPY_K_RN DOMATCOPY_K_RN
#define OMATCOPY_K_CT DOMATCOPY_K_CT
#define OMATCOPY_K_RT DOMATCOPY_K_RT
#define IMATCOPY_K_CN DIMATCOPY_K_CN
#define IMATCOPY_K_RN DIMATCOPY_K_RN
#define IMATCOPY_K_CT DIMATCOPY_K_CT
#define IMATCOPY_K_RT DIMATCOPY_K_RT
#define GEADD_K DGEADD_K
#else
@ -931,6 +936,10 @@
#define OMATCOPY_K_RN SOMATCOPY_K_RN
#define OMATCOPY_K_CT SOMATCOPY_K_CT
#define OMATCOPY_K_RT SOMATCOPY_K_RT
#define IMATCOPY_K_CN SIMATCOPY_K_CN
#define IMATCOPY_K_RN SIMATCOPY_K_RN
#define IMATCOPY_K_CT SIMATCOPY_K_CT
#define IMATCOPY_K_RT SIMATCOPY_K_RT
#define GEADD_K SGEADD_K
#endif
@ -1747,6 +1756,15 @@
#define OMATCOPY_K_RNC ZOMATCOPY_K_RNC
#define OMATCOPY_K_CTC ZOMATCOPY_K_CTC
#define OMATCOPY_K_RTC ZOMATCOPY_K_RTC
#define IMATCOPY_K_CN ZIMATCOPY_K_CN
#define IMATCOPY_K_RN ZIMATCOPY_K_RN
#define IMATCOPY_K_CT ZIMATCOPY_K_CT
#define IMATCOPY_K_RT ZIMATCOPY_K_RT
#define IMATCOPY_K_CNC ZIMATCOPY_K_CNC
#define IMATCOPY_K_RNC ZIMATCOPY_K_RNC
#define IMATCOPY_K_CTC ZIMATCOPY_K_CTC
#define IMATCOPY_K_RTC ZIMATCOPY_K_RTC
#define GEADD_K ZGEADD_K
#else
@ -2160,6 +2178,14 @@
#define OMATCOPY_K_RNC COMATCOPY_K_RNC
#define OMATCOPY_K_CTC COMATCOPY_K_CTC
#define OMATCOPY_K_RTC COMATCOPY_K_RTC
#define IMATCOPY_K_CN CIMATCOPY_K_CN
#define IMATCOPY_K_RN CIMATCOPY_K_RN
#define IMATCOPY_K_CT CIMATCOPY_K_CT
#define IMATCOPY_K_RT CIMATCOPY_K_RT
#define IMATCOPY_K_CNC CIMATCOPY_K_CNC
#define IMATCOPY_K_RNC CIMATCOPY_K_RNC
#define IMATCOPY_K_CTC CIMATCOPY_K_CTC
#define IMATCOPY_K_RTC CIMATCOPY_K_RTC
#define GEADD_K CGEADD_K

View File

@ -98,6 +98,7 @@ static void INLINE blas_lock(volatile unsigned long *address){
} while (ret);
}
#define BLAS_LOCK_DEFINED
static inline unsigned int rpcc(void){
unsigned long ret;
@ -118,6 +119,7 @@ static inline unsigned int rpcc(void){
#endif
return ret;
}
#define RPCC_DEFINED
#if defined(LOONGSON3A) || defined(LOONGSON3B)
#ifndef NO_AFFINITY

View File

@ -830,31 +830,61 @@ BLASLONG (*ixamin_k)(BLASLONG, xdouble *, BLASLONG);
int (*somatcopy_k_rn) (BLASLONG, BLASLONG, float, float*, BLASLONG, float*, BLASLONG);
int (*somatcopy_k_rt) (BLASLONG, BLASLONG, float, float*, BLASLONG, float*, BLASLONG);
int (*simatcopy_k_cn) (BLASLONG, BLASLONG, float, float*, BLASLONG);
int (*simatcopy_k_ct) (BLASLONG, BLASLONG, float, float*, BLASLONG);
int (*simatcopy_k_rn) (BLASLONG, BLASLONG, float, float*, BLASLONG);
int (*simatcopy_k_rt) (BLASLONG, BLASLONG, float, float*, BLASLONG);
int (*domatcopy_k_cn) (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);
int (*domatcopy_k_ct) (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);
int (*domatcopy_k_rn) (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);
int (*domatcopy_k_rt) (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);
int (*dimatcopy_k_cn) (BLASLONG, BLASLONG, double, double*, BLASLONG);
int (*dimatcopy_k_ct) (BLASLONG, BLASLONG, double, double*, BLASLONG);
int (*dimatcopy_k_rn) (BLASLONG, BLASLONG, double, double*, BLASLONG);
int (*dimatcopy_k_rt) (BLASLONG, BLASLONG, double, double*, BLASLONG);
int (*comatcopy_k_cn) (BLASLONG, BLASLONG, float, float, float*, BLASLONG, float*, BLASLONG);
int (*comatcopy_k_ct) (BLASLONG, BLASLONG, float, float, float*, BLASLONG, float*, BLASLONG);
int (*comatcopy_k_rn) (BLASLONG, BLASLONG, float, float, float*, BLASLONG, float*, BLASLONG);
int (*comatcopy_k_rt) (BLASLONG, BLASLONG, float, float, float*, BLASLONG, float*, BLASLONG);
int (*cimatcopy_k_cn) (BLASLONG, BLASLONG, float, float, float*, BLASLONG);
int (*cimatcopy_k_ct) (BLASLONG, BLASLONG, float, float, float*, BLASLONG);
int (*cimatcopy_k_rn) (BLASLONG, BLASLONG, float, float, float*, BLASLONG);
int (*cimatcopy_k_rt) (BLASLONG, BLASLONG, float, float, float*, BLASLONG);
int (*comatcopy_k_cnc) (BLASLONG, BLASLONG, float, float, float*, BLASLONG, float*, BLASLONG);
int (*comatcopy_k_ctc) (BLASLONG, BLASLONG, float, float, float*, BLASLONG, float*, BLASLONG);
int (*comatcopy_k_rnc) (BLASLONG, BLASLONG, float, float, float*, BLASLONG, float*, BLASLONG);
int (*comatcopy_k_rtc) (BLASLONG, BLASLONG, float, float, float*, BLASLONG, float*, BLASLONG);
int (*cimatcopy_k_cnc) (BLASLONG, BLASLONG, float, float, float*, BLASLONG);
int (*cimatcopy_k_ctc) (BLASLONG, BLASLONG, float, float, float*, BLASLONG);
int (*cimatcopy_k_rnc) (BLASLONG, BLASLONG, float, float, float*, BLASLONG);
int (*cimatcopy_k_rtc) (BLASLONG, BLASLONG, float, float, float*, BLASLONG);
int (*zomatcopy_k_cn) (BLASLONG, BLASLONG, double, double, double*, BLASLONG, double*, BLASLONG);
int (*zomatcopy_k_ct) (BLASLONG, BLASLONG, double, double, double*, BLASLONG, double*, BLASLONG);
int (*zomatcopy_k_rn) (BLASLONG, BLASLONG, double, double, double*, BLASLONG, double*, BLASLONG);
int (*zomatcopy_k_rt) (BLASLONG, BLASLONG, double, double, double*, BLASLONG, double*, BLASLONG);
int (*zimatcopy_k_cn) (BLASLONG, BLASLONG, double, double, double*, BLASLONG);
int (*zimatcopy_k_ct) (BLASLONG, BLASLONG, double, double, double*, BLASLONG);
int (*zimatcopy_k_rn) (BLASLONG, BLASLONG, double, double, double*, BLASLONG);
int (*zimatcopy_k_rt) (BLASLONG, BLASLONG, double, double, double*, BLASLONG);
int (*zomatcopy_k_cnc) (BLASLONG, BLASLONG, double, double, double*, BLASLONG, double*, BLASLONG);
int (*zomatcopy_k_ctc) (BLASLONG, BLASLONG, double, double, double*, BLASLONG, double*, BLASLONG);
int (*zomatcopy_k_rnc) (BLASLONG, BLASLONG, double, double, double*, BLASLONG, double*, BLASLONG);
int (*zomatcopy_k_rtc) (BLASLONG, BLASLONG, double, double, double*, BLASLONG, double*, BLASLONG);
int (*zimatcopy_k_cnc) (BLASLONG, BLASLONG, double, double, double*, BLASLONG);
int (*zimatcopy_k_ctc) (BLASLONG, BLASLONG, double, double, double*, BLASLONG);
int (*zimatcopy_k_rnc) (BLASLONG, BLASLONG, double, double, double*, BLASLONG);
int (*zimatcopy_k_rtc) (BLASLONG, BLASLONG, double, double, double*, BLASLONG);
int (*sgeadd_k) (BLASLONG, BLASLONG, float, float *, BLASLONG, float, float *, BLASLONG);
int (*dgeadd_k) (BLASLONG, BLASLONG, double, double *, BLASLONG, double, double *, BLASLONG);
int (*cgeadd_k) (BLASLONG, BLASLONG, float, float, float *, BLASLONG, float, float, float *, BLASLONG);

View File

@ -87,6 +87,7 @@ static void INLINE blas_lock(volatile unsigned long *address){
#endif
} while (ret);
}
#define BLAS_LOCK_DEFINED
static inline unsigned long rpcc(void){
unsigned long ret;
@ -103,6 +104,7 @@ static inline unsigned long rpcc(void){
#endif
}
#define RPCC_DEFINED
#ifdef __64BIT__
#define RPCC64BIT
@ -495,6 +497,15 @@ static inline int blas_quickdivide(blasint x, blasint y){
REALNAME:
#define EPILOGUE .size REALNAME, .-REALNAME
#else
#if _CALL_ELF == 2
#define PROLOGUE \
.section .text;\
.align 6;\
.globl REALNAME;\
.type REALNAME, @function;\
REALNAME:
#define EPILOGUE .size REALNAME, .-REALNAME
#else
#define PROLOGUE \
.section .text;\
.align 5;\
@ -514,6 +525,7 @@ REALNAME:;\
.size .REALNAME, .-.REALNAME; \
.section .note.GNU-stack,"",@progbits
#endif
#endif
#ifdef PROFILE
#ifndef __64BIT__
@ -792,4 +804,25 @@ Lmcount$lazy_ptr:
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
#endif
#ifdef OS_LINUX
#ifndef __64BIT__
#define FRAMESLOT(X) (((X) * 4) + 8)
#else
#if _CALL_ELF == 2
#define FRAMESLOT(X) (((X) * 8) + 96)
#else
#define FRAMESLOT(X) (((X) * 8) + 112)
#endif
#endif
#endif
#if defined(OS_AIX) || defined(OS_DARWIN)
#ifndef __64BIT__
#define FRAMESLOT(X) (((X) * 4) + 56)
#else
#define FRAMESLOT(X) (((X) * 8) + 112)
#endif
#endif
#endif

View File

@ -152,6 +152,10 @@
#define SOMATCOPY_K_RN somatcopy_k_rn
#define SOMATCOPY_K_CT somatcopy_k_ct
#define SOMATCOPY_K_RT somatcopy_k_rt
#define SIMATCOPY_K_CN simatcopy_k_cn
#define SIMATCOPY_K_RN simatcopy_k_rn
#define SIMATCOPY_K_CT simatcopy_k_ct
#define SIMATCOPY_K_RT simatcopy_k_rt
#define SGEADD_K sgeadd_k
@ -274,6 +278,10 @@
#define SOMATCOPY_K_RN gotoblas -> somatcopy_k_rn
#define SOMATCOPY_K_CT gotoblas -> somatcopy_k_ct
#define SOMATCOPY_K_RT gotoblas -> somatcopy_k_rt
#define SIMATCOPY_K_CN gotoblas -> simatcopy_k_cn
#define SIMATCOPY_K_RN gotoblas -> simatcopy_k_rn
#define SIMATCOPY_K_CT gotoblas -> simatcopy_k_ct
#define SIMATCOPY_K_RT gotoblas -> simatcopy_k_rt
#define SGEADD_K gotoblas -> sgeadd_k

View File

@ -58,6 +58,7 @@ static void __inline blas_lock(volatile unsigned long *address){
: "memory");
} while (ret);
}
#define BLAS_LOCK_DEFINED
static __inline unsigned long rpcc(void){
unsigned long clocks;
@ -66,6 +67,7 @@ static __inline unsigned long rpcc(void){
return clocks;
};
#define RPCC_DEFINED
#ifdef __64BIT__
#define RPCC64BIT

View File

@ -77,6 +77,7 @@ static void __inline blas_lock(volatile BLASULONG *address){
} while (ret);
}
#define BLAS_LOCK_DEFINED
static __inline unsigned long long rpcc(void){
#if defined(_MSC_VER) && !defined(__clang__)
@ -89,6 +90,7 @@ static __inline unsigned long long rpcc(void){
return ((unsigned long long)a + ((unsigned long long)d << 32));
#endif
};
#define RPCC_DEFINED
static __inline unsigned long getstackaddr(void){
#if defined(_MSC_VER) && !defined(__clang__)

View File

@ -86,6 +86,7 @@ static void __inline blas_lock(volatile BLASULONG *address){
} while (ret);
}
#define BLAS_LOCK_DEFINED
static __inline BLASULONG rpcc(void){
#ifdef C_MSVC
@ -98,6 +99,7 @@ static __inline BLASULONG rpcc(void){
return ((BLASULONG)a + ((BLASULONG)d << 32));
#endif
}
#define RPCC_DEFINED
#define RPCC64BIT

View File

@ -220,6 +220,15 @@
#define ZOMATCOPY_K_CTC zomatcopy_k_ctc
#define ZOMATCOPY_K_RTC zomatcopy_k_rtc
#define ZIMATCOPY_K_CN zimatcopy_k_cn
#define ZIMATCOPY_K_RN zimatcopy_k_rn
#define ZIMATCOPY_K_CT zimatcopy_k_ct
#define ZIMATCOPY_K_RT zimatcopy_k_rt
#define ZIMATCOPY_K_CNC zimatcopy_k_cnc
#define ZIMATCOPY_K_RNC zimatcopy_k_rnc
#define ZIMATCOPY_K_CTC zimatcopy_k_ctc
#define ZIMATCOPY_K_RTC zimatcopy_k_rtc
#define ZGEADD_K zgeadd_k
#else
@ -404,6 +413,15 @@
#define ZOMATCOPY_K_CTC gotoblas -> zomatcopy_k_ctc
#define ZOMATCOPY_K_RTC gotoblas -> zomatcopy_k_rtc
#define ZIMATCOPY_K_CN gotoblas -> zimatcopy_k_cn
#define ZIMATCOPY_K_RN gotoblas -> zimatcopy_k_rn
#define ZIMATCOPY_K_CT gotoblas -> zimatcopy_k_ct
#define ZIMATCOPY_K_RT gotoblas -> zimatcopy_k_rt
#define ZIMATCOPY_K_CNC gotoblas -> zimatcopy_k_cnc
#define ZIMATCOPY_K_RNC gotoblas -> zimatcopy_k_rnc
#define ZIMATCOPY_K_CTC gotoblas -> zimatcopy_k_ctc
#define ZIMATCOPY_K_RTC gotoblas -> zimatcopy_k_rtc
#define ZGEADD_K gotoblas -> zgeadd_k
#endif

View File

@ -192,6 +192,7 @@ void get_cpuconfig(void)
{
case CPU_CORTEXA9:
printf("#define CORTEXA9\n");
printf("#define ARMV7\n");
printf("#define HAVE_VFP\n");
printf("#define HAVE_VFPV3\n");
if ( get_feature("neon")) printf("#define HAVE_NEON\n");
@ -207,6 +208,7 @@ void get_cpuconfig(void)
case CPU_CORTEXA15:
printf("#define CORTEXA15\n");
printf("#define ARMV7\n");
printf("#define HAVE_VFP\n");
printf("#define HAVE_VFPV3\n");
if ( get_feature("neon")) printf("#define HAVE_NEON\n");

View File

@ -115,6 +115,7 @@ int detect(void){
if (!strncasecmp(p, "POWER5", 6)) return CPUTYPE_POWER5;
if (!strncasecmp(p, "POWER6", 6)) return CPUTYPE_POWER6;
if (!strncasecmp(p, "POWER7", 6)) return CPUTYPE_POWER6;
if (!strncasecmp(p, "POWER8", 6)) return CPUTYPE_POWER6;
if (!strncasecmp(p, "Cell", 4)) return CPUTYPE_CELL;
if (!strncasecmp(p, "7447", 4)) return CPUTYPE_PPCG4;

View File

@ -1159,6 +1159,16 @@ int get_cpuname(void){
return CPUTYPE_HASWELL;
#else
return CPUTYPE_SANDYBRIDGE;
#endif
else
return CPUTYPE_NEHALEM;
case 14:
//Skylake
if(support_avx())
#ifndef NO_AVX2
return CPUTYPE_HASWELL;
#else
return CPUTYPE_SANDYBRIDGE;
#endif
else
return CPUTYPE_NEHALEM;
@ -1173,6 +1183,17 @@ int get_cpuname(void){
return CPUTYPE_HASWELL;
#else
return CPUTYPE_SANDYBRIDGE;
#endif
else
return CPUTYPE_NEHALEM;
case 5:
case 14:
// Skylake
if(support_avx())
#ifndef NO_AVX2
return CPUTYPE_HASWELL;
#else
return CPUTYPE_SANDYBRIDGE;
#endif
else
return CPUTYPE_NEHALEM;
@ -1634,6 +1655,16 @@ int get_coretype(void){
return CORE_HASWELL;
#else
return CORE_SANDYBRIDGE;
#endif
else
return CORE_NEHALEM;
case 14:
//Skylake
if(support_avx())
#ifndef NO_AVX2
return CORE_HASWELL;
#else
return CORE_SANDYBRIDGE;
#endif
else
return CORE_NEHALEM;
@ -1648,6 +1679,17 @@ int get_coretype(void){
return CORE_HASWELL;
#else
return CORE_SANDYBRIDGE;
#endif
else
return CORE_NEHALEM;
case 5:
case 14:
// Skylake
if(support_avx())
#ifndef NO_AVX2
return CORE_HASWELL;
#else
return CORE_SANDYBRIDGE;
#endif
else
return CORE_NEHALEM;

View File

@ -425,6 +425,10 @@ static int blas_thread_server(void *arg){
main_status[cpu] = MAIN_FINISH;
#endif
// arm: make sure all results are written out _before_
// thread is marked as done and other threads use them
WMB;
thread_status[cpu].queue = (blas_queue_t * volatile) ((long)thread_status[cpu].queue & 0); /* Need a trick */
WMB;
@ -775,7 +779,12 @@ int exec_blas(BLASLONG num, blas_queue_t *queue){
stop = rpcc();
#endif
if ((num > 1) && queue -> next) exec_blas_async_wait(num - 1, queue -> next);
if ((num > 1) && queue -> next) {
exec_blas_async_wait(num - 1, queue -> next);
// arm: make sure results from other threads are visible
MB;
}
#ifdef TIMING_DEBUG
fprintf(STDERR, "Thread[0] : %16lu %16lu (%8lu cycles)\n",

View File

@ -252,6 +252,15 @@ static gotoblas_t *get_coretype(void){
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
}
}
//Intel Skylake
if (model == 14) {
if(support_avx())
return &gotoblas_HASWELL;
else{
openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK);
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
}
}
return NULL;
case 5:
//Intel Broadwell
@ -263,6 +272,15 @@ static gotoblas_t *get_coretype(void){
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
}
}
//Intel Skylake
if (model == 14 || model == 5) {
if(support_avx())
return &gotoblas_HASWELL;
else{
openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK);
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
}
}
return NULL;
}
case 0xf:

View File

@ -143,8 +143,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define CONSTRUCTOR __cdecl
#define DESTRUCTOR __cdecl
#else
#define CONSTRUCTOR __attribute__ ((constructor))
#define DESTRUCTOR __attribute__ ((destructor))
#define CONSTRUCTOR __attribute__ ((constructor(101)))
#define DESTRUCTOR __attribute__ ((destructor(101)))
#endif
#ifdef DYNAMIC_ARCH
@ -1158,6 +1158,9 @@ void blas_memory_free(void *free_area){
printf(" Position : %d\n", position);
#endif
// arm: ensure all writes are finished before other thread takes this memory
WMB;
memory[position].used = 0;
#ifdef DEBUG

View File

@ -120,6 +120,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* #define FORCE_POWER4 */
/* #define FORCE_POWER5 */
/* #define FORCE_POWER6 */
/* #define FORCE_POWER7 */
/* #define FORCE_POWER8 */
/* #define FORCE_PPCG4 */
/* #define FORCE_PPC970 */
/* #define FORCE_PPC970MP */
@ -550,7 +552,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define CORENAME "POWER5"
#endif
#ifdef FORCE_POWER6
#if defined(FORCE_POWER6) || defined(FORCE_POWER7) || defined(FORCE_POWER8)
#define FORCE
#define ARCHITECTURE "POWER"
#define SUBARCHITECTURE "POWER6"
@ -752,7 +754,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define ARCHITECTURE "ARM"
#define SUBARCHITECTURE "CORTEXA9"
#define SUBDIRNAME "arm"
#define ARCHCONFIG "-DCORTEXA9 " \
#define ARCHCONFIG "-DCORTEXA9 -DARMV7 " \
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=32 " \
"-DL2_SIZE=1048576 -DL2_LINESIZE=32 " \
"-DDTB_DEFAULT_ENTRIES=128 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=4 " \
@ -767,7 +769,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define ARCHITECTURE "ARM"
#define SUBARCHITECTURE "CORTEXA15"
#define SUBDIRNAME "arm"
#define ARCHCONFIG "-DCORTEXA15 " \
#define ARCHCONFIG "-DCORTEXA15 -DARMV7 " \
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=32 " \
"-DL2_SIZE=1048576 -DL2_LINESIZE=32 " \
"-DDTB_DEFAULT_ENTRIES=128 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=4 " \
@ -800,8 +802,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define ARCHCONFIG "-DARMV5 " \
"-DL1_DATA_SIZE=65536 -DL1_DATA_LINESIZE=32 " \
"-DL2_SIZE=512488 -DL2_LINESIZE=32 " \
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=4 " \
"-DHAVE_VFP"
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=4 "
#define LIBNAME "armv5"
#define CORENAME "ARMV5"
#else

View File

@ -26,7 +26,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
/***********************************************************
* 2014/06/10 Saar
* 2014-06-10 Saar
* 2015-09-07 grisuthedragon
***********************************************************/
#include <stdio.h>
@ -50,6 +51,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#undef malloc
#undef free
/* Enables the New IMATCOPY code with inplace operation if lda == ldb */
#define NEW_IMATCOPY
#ifndef CBLAS
void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha, FLOAT *a, blasint *lda, blasint *ldb)
{
@ -75,7 +79,6 @@ void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha,
#else
void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, FLOAT calpha, FLOAT *a, blasint clda, blasint cldb)
{
char Order, Trans;
int order=-1,trans=-1;
blasint info = -1;
FLOAT *b;
@ -117,6 +120,34 @@ void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows,
BLASFUNC(xerbla)(ERROR_NAME, &info, sizeof(ERROR_NAME));
return;
}
#ifdef NEW_IMATCOPY
if ( *lda == *ldb ) {
if ( order == BlasColMajor )
{
if ( trans == BlasNoTrans )
{
IMATCOPY_K_CN(*rows, *cols, *alpha, a, *lda );
}
else
{
IMATCOPY_K_CT(*rows, *cols, *alpha, a, *lda );
}
}
else
{
if ( trans == BlasNoTrans )
{
IMATCOPY_K_RN(*rows, *cols, *alpha, a, *lda );
}
else
{
IMATCOPY_K_RT(*rows, *cols, *alpha, a, *lda );
}
}
return;
}
#endif
if ( *lda > *ldb )
msize = (*lda) * (*ldb) * sizeof(FLOAT);

View File

@ -26,7 +26,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
/***********************************************************
* 2014/06/10 Saar
* 2014-06-10 Saar
* 2015-09-07 grisuthedragon
***********************************************************/
#include <stdio.h>
@ -49,6 +50,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define BlasTransConj 2
#define BlasConj 3
#define NEW_IMATCOPY
#ifndef CBLAS
void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha, FLOAT *a, blasint *lda, blasint *ldb)
@ -124,6 +126,52 @@ void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows,
return;
}
#ifdef NEW_IMATCOPY
if (*lda == *ldb) {
if ( order == BlasColMajor )
{
if ( trans == BlasNoTrans )
{
IMATCOPY_K_CN(*rows, *cols, alpha[0], alpha[1], a, *lda );
}
if ( trans == BlasConj )
{
IMATCOPY_K_CNC(*rows, *cols, alpha[0], alpha[1], a, *lda );
}
if ( trans == BlasTrans )
{
IMATCOPY_K_CT(*rows, *cols, alpha[0], alpha[1], a, *lda );
}
if ( trans == BlasTransConj )
{
IMATCOPY_K_CTC(*rows, *cols, alpha[0], alpha[1], a, *lda );
}
}
else
{
if ( trans == BlasNoTrans )
{
IMATCOPY_K_RN(*rows, *cols, alpha[0], alpha[1], a, *lda );
}
if ( trans == BlasConj )
{
IMATCOPY_K_RNC(*rows, *cols, alpha[0], alpha[1], a, *lda );
}
if ( trans == BlasTrans )
{
IMATCOPY_K_RT(*rows, *cols, alpha[0], alpha[1], a, *lda );
}
if ( trans == BlasTransConj )
{
IMATCOPY_K_RTC(*rows, *cols, alpha[0], alpha[1], a, *lda );
}
}
return;
}
#endif
if ( *lda > *ldb )
msize = (*lda) * (*ldb) * sizeof(FLOAT) * 2;
else

View File

@ -334,11 +334,15 @@ endif
SBLASOBJS += \
somatcopy_k_cn$(TSUFFIX).$(SUFFIX) somatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
somatcopy_k_ct$(TSUFFIX).$(SUFFIX) somatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
simatcopy_k_cn$(TSUFFIX).$(SUFFIX) simatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
simatcopy_k_ct$(TSUFFIX).$(SUFFIX) simatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
sgeadd_k$(TSUFFIX).$(SUFFIX)
DBLASOBJS += \
domatcopy_k_cn$(TSUFFIX).$(SUFFIX) domatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
domatcopy_k_ct$(TSUFFIX).$(SUFFIX) domatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
dimatcopy_k_cn$(TSUFFIX).$(SUFFIX) dimatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
dimatcopy_k_ct$(TSUFFIX).$(SUFFIX) dimatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
dgeadd_k$(TSUFFIX).$(SUFFIX)
CBLASOBJS += \
@ -346,6 +350,10 @@ CBLASOBJS += \
comatcopy_k_ct$(TSUFFIX).$(SUFFIX) comatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
comatcopy_k_cnc$(TSUFFIX).$(SUFFIX) comatcopy_k_rnc$(TSUFFIX).$(SUFFIX) \
comatcopy_k_ctc$(TSUFFIX).$(SUFFIX) comatcopy_k_rtc$(TSUFFIX).$(SUFFIX) \
cimatcopy_k_cn$(TSUFFIX).$(SUFFIX) cimatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
cimatcopy_k_ct$(TSUFFIX).$(SUFFIX) cimatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
cimatcopy_k_cnc$(TSUFFIX).$(SUFFIX) cimatcopy_k_rnc$(TSUFFIX).$(SUFFIX) \
cimatcopy_k_ctc$(TSUFFIX).$(SUFFIX) cimatcopy_k_rtc$(TSUFFIX).$(SUFFIX) \
cgeadd_k$(TSUFFIX).$(SUFFIX)
ZBLASOBJS += \
@ -353,6 +361,10 @@ ZBLASOBJS += \
zomatcopy_k_ct$(TSUFFIX).$(SUFFIX) zomatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
zomatcopy_k_cnc$(TSUFFIX).$(SUFFIX) zomatcopy_k_rnc$(TSUFFIX).$(SUFFIX) \
zomatcopy_k_ctc$(TSUFFIX).$(SUFFIX) zomatcopy_k_rtc$(TSUFFIX).$(SUFFIX) \
zimatcopy_k_cn$(TSUFFIX).$(SUFFIX) zimatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
zimatcopy_k_ct$(TSUFFIX).$(SUFFIX) zimatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
zimatcopy_k_cnc$(TSUFFIX).$(SUFFIX) zimatcopy_k_rnc$(TSUFFIX).$(SUFFIX) \
zimatcopy_k_ctc$(TSUFFIX).$(SUFFIX) zimatcopy_k_rtc$(TSUFFIX).$(SUFFIX) \
zgeadd_k$(TSUFFIX).$(SUFFIX)
@ -3305,6 +3317,34 @@ endif
$(KDIR)domatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(DOMATCOPY_RT)
$(CC) $(CFLAGS) -c -DDOUBLE -UCOMPLEX -DROWM $< -o $@
ifndef DIMATCOPY_CN
DIMATCOPY_CN = ../generic/imatcopy_cn.c
endif
$(KDIR)dimatcopy_k_cn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(DIMATCOPY_CN)
$(CC) $(CFLAGS) -c -DDOUBLE -UCOMPLEX -UROWM $< -o $@
ifndef DIMATCOPY_RN
DIMATCOPY_RN = ../generic/imatcopy_rn.c
endif
$(KDIR)dimatcopy_k_rn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(DIMATCOPY_RN)
$(CC) $(CFLAGS) -c -DDOUBLE -UCOMPLEX -DROWM $< -o $@
ifndef DIMATCOPY_CT
DIMATCOPY_CT = ../generic/imatcopy_ct.c
endif
$(KDIR)dimatcopy_k_ct$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(DIMATCOPY_CT)
$(CC) $(CFLAGS) -c -DDOUBLE -UCOMPLEX -UROWM $< -o $@
ifndef DIMATCOPY_RT
DIMATCOPY_RT = ../generic/imatcopy_rt.c
endif
$(KDIR)dimatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(DIMATCOPY_RT)
$(CC) $(CFLAGS) -c -DDOUBLE -UCOMPLEX -DROWM $< -o $@
ifndef SOMATCOPY_CN
SOMATCOPY_CN = ../arm/omatcopy_cn.c
endif
@ -3333,6 +3373,34 @@ endif
$(KDIR)somatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SOMATCOPY_RT)
$(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX -DROWM $< -o $@
ifndef SIMATCOPY_CN
SIMATCOPY_CN = ../generic/imatcopy_cn.c
endif
$(KDIR)simatcopy_k_cn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SIMATCOPY_CN)
$(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX -UROWM $< -o $@
ifndef SIMATCOPY_RN
SIMATCOPY_RN = ../generic/imatcopy_rn.c
endif
$(KDIR)simatcopy_k_rn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SIMATCOPY_RN)
$(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX -DROWM $< -o $@
ifndef SIMATCOPY_CT
SIMATCOPY_CT = ../generic/imatcopy_ct.c
endif
$(KDIR)simatcopy_k_ct$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SIMATCOPY_CT)
$(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX -UROWM $< -o $@
ifndef SIMATCOPY_RT
SIMATCOPY_RT = ../generic/imatcopy_rt.c
endif
$(KDIR)simatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SIMATCOPY_RT)
$(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX -DROWM $< -o $@
ifndef COMATCOPY_CN
COMATCOPY_CN = ../arm/zomatcopy_cn.c
@ -3390,6 +3458,63 @@ endif
$(KDIR)comatcopy_k_rtc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(COMATCOPY_RTC)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -DROWM -DCONJ $< -o $@
ifndef CIMATCOPY_CN
CIMATCOPY_CN = ../generic/zimatcopy_cn.c
endif
$(KDIR)cimatcopy_k_cn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(CIMATCOPY_CN)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -UROWM -UCONJ $< -o $@
ifndef CIMATCOPY_RN
CIMATCOPY_RN = ../generic/zimatcopy_rn.c
endif
$(KDIR)cimatcopy_k_rn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(CIMATCOPY_RN)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -DROWM -UCONJ $< -o $@
ifndef CIMATCOPY_CT
CIMATCOPY_CT = ../generic/zimatcopy_ct.c
endif
$(KDIR)cimatcopy_k_ct$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(CIMATCOPY_CT)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -UROWM -UCONJ $< -o $@
ifndef CIMATCOPY_RT
CIMATCOPY_RT = ../generic/zimatcopy_rt.c
endif
$(KDIR)cimatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(CIMATCOPY_RT)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -DROWM -UCONJ $< -o $@
ifndef CIMATCOPY_CNC
CIMATCOPY_CNC = ../generic/zimatcopy_cnc.c
endif
$(KDIR)cimatcopy_k_cnc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(CIMATCOPY_CNC)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -UROWM -DCONJ $< -o $@
ifndef CIMATCOPY_RNC
CIMATCOPY_RNC = ../generic/zimatcopy_rnc.c
endif
$(KDIR)cimatcopy_k_rnc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(CIMATCOPY_RNC)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -DROWM -DCONJ $< -o $@
ifndef CIMATCOPY_CTC
CIMATCOPY_CTC = ../generic/zimatcopy_ctc.c
endif
$(KDIR)cimatcopy_k_ctc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(CIMATCOPY_CTC)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -UROWM -DCONJ $< -o $@
ifndef CIMATCOPY_RTC
CIMATCOPY_RTC = ../generic/zimatcopy_rtc.c
endif
$(KDIR)cimatcopy_k_rtc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(CIMATCOPY_RTC)
$(CC) $(CFLAGS) -c -UDOUBLE -DCOMPLEX -DROWM -DCONJ $< -o $@
ifndef ZOMATCOPY_CN
ZOMATCOPY_CN = ../arm/zomatcopy_cn.c
@ -3447,6 +3572,62 @@ endif
$(KDIR)zomatcopy_k_rtc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZOMATCOPY_RTC)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -DROWM -DCONJ $< -o $@
ifndef ZIMATCOPY_CN
ZIMATCOPY_CN = ../generic/zimatcopy_cn.c
endif
$(KDIR)zimatcopy_k_cn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZIMATCOPY_CN)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -UROWM -UCONJ $< -o $@
ifndef ZIMATCOPY_RN
ZIMATCOPY_RN = ../generic/zimatcopy_rn.c
endif
$(KDIR)zimatcopy_k_rn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZIMATCOPY_RN)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -DROWM -UCONJ $< -o $@
ifndef ZIMATCOPY_CT
ZIMATCOPY_CT = ../generic/zimatcopy_ct.c
endif
$(KDIR)zimatcopy_k_ct$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZIMATCOPY_CT)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -UROWM -UCONJ $< -o $@
ifndef ZIMATCOPY_RT
ZIMATCOPY_RT = ../generic/zimatcopy_rt.c
endif
$(KDIR)zimatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZIMATCOPY_RT)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -DROWM -UCONJ $< -o $@
ifndef ZIMATCOPY_CNC
ZIMATCOPY_CNC = ../generic/zimatcopy_cnc.c
endif
$(KDIR)zimatcopy_k_cnc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZIMATCOPY_CNC)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -UROWM -DCONJ $< -o $@
ifndef ZIMATCOPY_RNC
ZIMATCOPY_RNC = ../generic/zimatcopy_rnc.c
endif
$(KDIR)zimatcopy_k_rnc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZIMATCOPY_RNC)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -DROWM -DCONJ $< -o $@
ifndef ZIMATCOPY_CTC
ZIMATCOPY_CTC = ../generic/zimatcopy_ctc.c
endif
$(KDIR)zimatcopy_k_ctc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZIMATCOPY_CTC)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -UROWM -DCONJ $< -o $@
ifndef ZIMATCOPY_RTC
ZIMATCOPY_RTC = ../generic/zimatcopy_rtc.c
endif
$(KDIR)zimatcopy_k_rtc$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZIMATCOPY_RTC)
$(CC) $(CFLAGS) -c -DDOUBLE -DCOMPLEX -DROWM -DCONJ $< -o $@
ifndef SGEADD_K
SGEADD_K = ../generic/geadd.c

View File

@ -0,0 +1,67 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j;
FLOAT *aptr;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
if ( alpha == 1.0 ) return(0);
aptr = a;
if ( alpha == 0.0 )
{
for ( i=0; i<cols ; i++ )
{
for(j=0; j<rows; j++)
{
aptr[j] = 0.0;
}
aptr += lda;
}
return(0);
}
for ( i=0; i<cols ; i++ )
{
for(j=0; j<rows; j++)
{
aptr[j] = alpha * aptr[j];
}
aptr += lda;
}
return(0);
}

View File

@ -0,0 +1,91 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j;
FLOAT *aptr, *bptr;
FLOAT tmp;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
aptr = a;
if ( alpha == 0.0 )
{
for ( i=0; i<cols ; i++ )
{
aptr = &a[i];
for(j=0; j<rows; j++)
{
aptr[j*lda] = 0.0;
}
}
return(0);
}
if ( alpha == 1.0 )
{
for ( i=0; i<cols ; i++ )
{
bptr = &a[i];
for(j=i; j<rows; j++)
{
tmp = bptr[j*lda];
bptr[j*lda] = aptr[j];
aptr[j] = tmp;
}
aptr += lda;
}
return(0);
}
for ( i=0; i<cols ; i++ )
{
bptr = &a[i];
bptr[i*lda] = alpha * bptr[i*lda];
for(j=i+1; j<rows; j++)
{
tmp = bptr[j*lda];
bptr[j*lda] = alpha*aptr[j];
aptr[j] = alpha*tmp;
}
aptr += lda;
}
return(0);
}

View File

@ -0,0 +1,72 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j;
FLOAT *aptr;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
if ( alpha == 1.0 ) return(0);
aptr = a;
if ( alpha == 0.0 )
{
for ( i=0; i<rows ; i++ )
{
for(j=0; j<cols; j++)
{
aptr[j] = 0.0;
}
aptr += lda;
}
return(0);
}
for ( i=0; i<rows ; i++ )
{
for(j=0; j<cols; j++)
{
aptr[j] = alpha * aptr[j];
}
aptr += lda;
}
return(0);
}

View File

@ -0,0 +1,64 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
*
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j;
FLOAT *aptr,*bptr;
FLOAT tmp;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
aptr = a;
for ( i=0; i<rows ; i++ )
{
bptr = &a[i];
bptr[i*lda] = alpha * bptr[i*lda];
for(j=i+1; j<cols; j++)
{
tmp = bptr[j*lda];
bptr[j*lda] = alpha * aptr[j];
aptr[j] = alpha * tmp;
}
aptr += lda;
}
return(0);
}

View File

@ -0,0 +1,67 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a , BLASLONG lda)
{
BLASLONG i,j,ia;
FLOAT *aptr;
FLOAT a0, a1;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
if ( alpha_r == 1.0 && alpha_i == 0.0) return(0);
aptr = a;
lda *= 2;
for ( i=0; i<cols ; i++ )
{
ia = 0;
for(j=0; j<rows; j++)
{
a0 = aptr[ia];
a1 = aptr[ia+1];
aptr[ia] = alpha_r * a0 - alpha_i * a1;
aptr[ia+1] = alpha_r * a1 + alpha_i * a0;
ia+=2;
}
aptr += lda;
}
return(0);
}

View File

@ -0,0 +1,67 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
*
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j,ia;
FLOAT *aptr,*bptr;
FLOAT a0, a1;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
if ( alpha_r == 1.0 && alpha_i == 0.0 ) return (0);
aptr = a;
lda *= 2;
for ( i=0; i<cols ; i++ )
{
ia = 0;
for(j=0; j<rows; j++)
{
a0 = aptr[ia];
a1 = aptr[ia+1];
aptr[ia] = alpha_r * a0 + alpha_i * a1;
aptr[ia+1] = - alpha_r * a1 + alpha_i * a0;
ia += 2;
}
aptr += lda;
}
return(0);
}

View File

@ -0,0 +1,82 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
*
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j,ia,ib;
FLOAT *aptr,*bptr;
FLOAT t0, t1;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
aptr = a;
lda *= 2;
ib = 0;
for ( i=0; i<cols ; i++ )
{
bptr = &a[ib+i*lda];
ia = 2*i;
/* Diagonal Element */
t0 = bptr[0];
t1 = bptr[1];
bptr[0] = alpha_r * t0 - alpha_i * t1;
bptr[1] = alpha_r * t1 + alpha_i * t0;
bptr +=lda;
ia += 2;
for(j=i+1; j<rows; j++)
{
t0 = bptr[0];
t1 = bptr[1];
bptr[0] = alpha_r * aptr[ia] - alpha_i * aptr[ia+1];
bptr[1] = alpha_r * aptr[ia+1] + alpha_i * aptr[ia];
aptr[ia] = alpha_r * t0 - alpha_i * t1;
aptr[ia+1] = alpha_r * t1 + alpha_i * t0;
ia += 2;
bptr += lda;
}
aptr += lda;
ib += 2;
}
return(0);
}

View File

@ -0,0 +1,85 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2014/06/09 Saar
*
* Order ColMajor
* Trans, conjugate
*
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j,ia,ib;
FLOAT *aptr,*bptr;
FLOAT t0, t1;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
aptr = a;
lda *= 2;
ib = 0;
for ( i=0; i<cols ; i++ )
{
/* Start on the diagonal */
bptr = &a[ib+i*lda];
ia = 2*i;
/* Diagonal Element */
t0 = bptr[0];
t1 = bptr[1];
bptr[0] = alpha_r * t0 + alpha_i * t1;
bptr[1] = - alpha_r * t1 + alpha_i * t0;
ia += 2;
bptr += lda;
for(j=i+1; j<rows; j++)
{
t0 = bptr[0];
t1 = bptr[1];
bptr[0] = alpha_r * aptr[ia] + alpha_i * aptr[ia+1];
bptr[1] = - alpha_r * aptr[ia+1] + alpha_i * aptr[ia];
aptr[ia] = alpha_r * t0 + alpha_i * t1;
aptr[ia+1] = - alpha_r * t1 + alpha_i * t0;
ia += 2;
bptr += lda;
}
aptr += lda;
ib += 2;
}
return(0);
}

View File

@ -0,0 +1,66 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j,ia;
FLOAT *aptr,*bptr;
FLOAT a0, a1;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
aptr = a;
lda *=2;
for ( i=0; i<rows ; i++ )
{
ia = 0;
for(j=0; j<cols; j++)
{
a0 = aptr[ia];
a1 = aptr[ia+1];
aptr[ia] = alpha_r * a0 - alpha_i * a1;
aptr[ia+1] = alpha_r * a1 + alpha_i * a0;
ia += 2;
}
aptr += lda;
}
return(0);
}

View File

@ -0,0 +1,65 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j,ia;
FLOAT *aptr,*bptr;
FLOAT a0, a1;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
aptr = a;
lda *=2;
for ( i=0; i<rows ; i++ )
{
ia = 0;
for(j=0; j<cols; j++)
{
a0 = aptr[ia];
a1 = aptr[ia+1];
aptr[ia] = alpha_r * a0 + alpha_i * a1;
aptr[ia+1] = - alpha_r * a1 + alpha_i * a0;
ia += 2;
}
aptr += lda;
}
return(0);
}

View File

@ -0,0 +1,80 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j,ia,ib;
FLOAT *aptr,*bptr;
FLOAT t0, t1;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
aptr = a;
lda *= 2;
ib = 0;
for ( i=0; i<rows ; i++ )
{
bptr = &a[ib+i*lda];
ia = 2*i;
/* Diagonal Element */
t0 = bptr[0];
t1 = bptr[1];
bptr[0] = alpha_r * t0 - alpha_i * t1;
bptr[1] = alpha_r * t1 + alpha_i * t0;
bptr +=lda;
ia += 2;
for(j=i+1; j<cols; j++)
{
t0 = bptr[0];
t1 = bptr[1];
bptr[0] = alpha_r * aptr[ia] - alpha_i * aptr[ia+1];
bptr[1] = alpha_r * aptr[ia+1] + alpha_i * aptr[ia];
aptr[ia] = alpha_r * t0 - alpha_i * t1;
aptr[ia+1] = alpha_r * t1 + alpha_i * t0;
ia += 2;
bptr += lda;
}
aptr += lda;
ib += 2;
}
return(0);
}

View File

@ -0,0 +1,82 @@
/***************************************************************************
Copyright (c) 2013, The OpenBLAS Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of the OpenBLAS project nor the names of
its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#include "common.h"
/*****************************************************
* 2015-09-07 grisuthedragon
*
******************************************************/
int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a, BLASLONG lda)
{
BLASLONG i,j,ia,ib;
FLOAT *aptr,*bptr;
FLOAT t0, t1;
if ( rows <= 0 ) return(0);
if ( cols <= 0 ) return(0);
aptr = a;
lda *= 2;
ib = 0;
for ( i=0; i<rows ; i++ )
{
/* Start on the diagonal */
bptr = &a[ib+i*lda];
ia = 2*i;
/* Diagonal Element */
t0 = bptr[0];
t1 = bptr[1];
bptr[0] = alpha_r * t0 + alpha_i * t1;
bptr[1] = - alpha_r * t1 + alpha_i * t0;
ia += 2;
bptr += lda;
for(j=i+1; j<cols; j++)
{
t0 = bptr[0];
t1 = bptr[1];
bptr[0] = alpha_r * aptr[ia] + alpha_i * aptr[ia+1];
bptr[1] = - alpha_r * aptr[ia+1] + alpha_i * aptr[ia];
aptr[ia] = alpha_r * t0 + alpha_i * t1;
aptr[ia+1] = - alpha_r * t1 + alpha_i * t0;
ia += 2;
bptr += lda;
}
aptr += lda;
ib += 2;
}
return(0);
}

View File

@ -106,7 +106,7 @@
stfd f24, 80(SP)
#if (defined(_AIX) || defined(__APPLE__)) && !defined(__64BIT__) && defined(DOUBLE)
lwz INCY, 56 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
fmr ALPHA, f1

View File

@ -104,7 +104,7 @@
stfd f24, 80(SP)
#if (defined(_AIX) || defined(__APPLE__)) && !defined(__64BIT__) && defined(DOUBLE)
lwz INCY, 56 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
fmr ALPHA, f1

View File

@ -64,24 +64,24 @@
#ifdef linux
#ifndef __64BIT__
lwz LDC, 8 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
ld C, 112 + STACKSIZE(SP)
ld LDC, 120 + STACKSIZE(SP)
ld C, FRAMESLOT(0) + STACKSIZE(SP)
ld LDC, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld C, 112 + STACKSIZE(SP)
ld LDC, 120 + STACKSIZE(SP)
ld C, FRAMESLOT(0) + STACKSIZE(SP)
ld LDC, FRAMESLOT(1) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz C, 56 + STACKSIZE(SP)
lwz LDC, 60 + STACKSIZE(SP)
lwz C, FRAMESLOT(0) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -179,7 +179,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
@ -187,17 +187,17 @@
#if defined(TRMMKERNEL)
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -231,29 +231,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -241,7 +241,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif

View File

@ -247,7 +247,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif

View File

@ -241,7 +241,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif

View File

@ -185,7 +185,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
@ -193,17 +193,17 @@
#if defined(TRMMKERNEL)
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -229,29 +229,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
xc ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
xc ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -177,7 +177,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
@ -185,17 +185,17 @@
#if defined(TRMMKERNEL)
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -168,7 +168,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
@ -190,29 +190,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -176,7 +176,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
@ -184,17 +184,17 @@
#if defined(TRMMKERNEL)
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -176,7 +176,7 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
@ -184,17 +184,17 @@
#if defined(TRMMKERNEL)
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -248,31 +248,31 @@
#ifdef linux
#ifndef __64BIT__
lwz INCY, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld Y, 112 + STACKSIZE(SP)
ld INCY, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld Y, FRAMESLOT(0) + STACKSIZE(SP)
ld INCY, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz Y, 56 + STACKSIZE(SP)
lwz INCY, 60 + STACKSIZE(SP)
lwz BUFFER, 64 + STACKSIZE(SP)
lwz Y, FRAMESLOT(0) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(1) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#else
ld Y, 112 + STACKSIZE(SP)
ld INCY, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld Y, FRAMESLOT(0) + STACKSIZE(SP)
ld INCY, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif

View File

@ -201,31 +201,31 @@
#ifdef linux
#ifndef __64BIT__
lwz INCY, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld Y, 112 + STACKSIZE(SP)
ld INCY, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld Y, FRAMESLOT(0) + STACKSIZE(SP)
ld INCY, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz Y, 56 + STACKSIZE(SP)
lwz INCY, 60 + STACKSIZE(SP)
lwz BUFFER, 64 + STACKSIZE(SP)
lwz Y, FRAMESLOT(0) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(1) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#else
ld Y, 112 + STACKSIZE(SP)
ld INCY, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld Y, FRAMESLOT(0) + STACKSIZE(SP)
ld INCY, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif

View File

@ -257,31 +257,31 @@
#ifdef linux
#ifndef __64BIT__
lwz INCY, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld Y, 112 + STACKSIZE(SP)
ld INCY, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld Y, FRAMESLOT(0) + STACKSIZE(SP)
ld INCY, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz Y, 56 + STACKSIZE(SP)
lwz INCY, 60 + STACKSIZE(SP)
lwz BUFFER, 64 + STACKSIZE(SP)
lwz Y, FRAMESLOT(0) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(1) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#else
ld Y, 112 + STACKSIZE(SP)
ld INCY, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld Y, FRAMESLOT(0) + STACKSIZE(SP)
ld INCY, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif

View File

@ -192,31 +192,31 @@
#ifdef linux
#ifndef __64BIT__
lwz INCY, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld Y, 112 + STACKSIZE(SP)
ld INCY, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld Y, FRAMESLOT(0) + STACKSIZE(SP)
ld INCY, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz Y, 56 + STACKSIZE(SP)
lwz INCY, 60 + STACKSIZE(SP)
lwz BUFFER, 64 + STACKSIZE(SP)
lwz Y, FRAMESLOT(0) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(1) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#else
ld Y, 112 + STACKSIZE(SP)
ld INCY, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld Y, FRAMESLOT(0) + STACKSIZE(SP)
ld INCY, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif

View File

@ -226,31 +226,31 @@
#ifdef linux
#ifndef __64BIT__
lwz LDA, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz LDA, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld A, 112 + STACKSIZE(SP)
ld LDA, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld A, FRAMESLOT(0) + STACKSIZE(SP)
ld LDA, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz INCY, 56 + STACKSIZE(SP)
lwz A, 60 + STACKSIZE(SP)
lwz LDA, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz A, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDA, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz A, 56 + STACKSIZE(SP)
lwz LDA, 60 + STACKSIZE(SP)
lwz BUFFER, 64 + STACKSIZE(SP)
lwz A, FRAMESLOT(0) + STACKSIZE(SP)
lwz LDA, FRAMESLOT(1) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#else
ld A, 112 + STACKSIZE(SP)
ld LDA, 120 + STACKSIZE(SP)
ld BUFFER, 128 + STACKSIZE(SP)
ld A, FRAMESLOT(0) + STACKSIZE(SP)
ld LDA, FRAMESLOT(1) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif

View File

@ -115,7 +115,7 @@
stfd f31, 136(SP)
#if (defined(_AIX) || defined(__APPLE__)) && !defined(__64BIT__) && defined(DOUBLE)
lwz INCY, 56 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
slwi INCX, INCX, BASE_SHIFT

View File

@ -250,26 +250,26 @@
#ifdef linux
#ifndef __64BIT__
lwz BUFFER, 56 + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(0) + STACKSIZE(SP)
#else
ld INCY, 112 + STACKSIZE(SP)
ld BUFFER, 120 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz Y, 56 + STACKSIZE(SP)
lwz INCY, 60 + STACKSIZE(SP)
lwz BUFFER, 64 + STACKSIZE(SP)
lwz Y, FRAMESLOT(0) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(1) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz INCY, 56 + STACKSIZE(SP)
lwz BUFFER, 60 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#else
ld INCY, 112 + STACKSIZE(SP)
ld BUFFER, 120 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif

View File

@ -249,26 +249,26 @@
#ifdef linux
#ifndef __64BIT__
lwz BUFFER, 56 + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(0) + STACKSIZE(SP)
#else
ld INCY, 112 + STACKSIZE(SP)
ld BUFFER, 120 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz Y, 56 + STACKSIZE(SP)
lwz INCY, 60 + STACKSIZE(SP)
lwz BUFFER, 64 + STACKSIZE(SP)
lwz Y, FRAMESLOT(0) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(1) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz INCY, 56 + STACKSIZE(SP)
lwz BUFFER, 60 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#else
ld INCY, 112 + STACKSIZE(SP)
ld BUFFER, 120 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif

View File

@ -174,24 +174,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -239,29 +239,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -174,24 +174,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -260,29 +260,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -174,24 +174,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -257,29 +257,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -174,24 +174,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -234,29 +234,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -174,24 +174,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -260,29 +260,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -174,24 +174,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -234,29 +234,29 @@
#ifdef linux
#ifndef __64BIT__
mr PREA, r10
lwz PREB, 8 + STACKSIZE(SP)
lwz PREC, 12 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 112 + STACKSIZE(SP)
ld PREB, 120 + STACKSIZE(SP)
ld PREC, 128 + STACKSIZE(SP)
ld PREA, FRAMESLOT(0) + STACKSIZE(SP)
ld PREB, FRAMESLOT(1) + STACKSIZE(SP)
ld PREC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 60 + STACKSIZE(SP)
lwz PREB, 64 + STACKSIZE(SP)
lwz PREC, 68 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz PREA, 56 + STACKSIZE(SP)
lwz PREB, 60 + STACKSIZE(SP)
lwz PREC, 64 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(0) + STACKSIZE(SP)
lwz PREB, FRAMESLOT(1) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -173,24 +173,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -174,24 +174,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -173,24 +173,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -185,24 +185,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -170,24 +170,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -185,24 +185,24 @@
#if defined(_AIX) || defined(__APPLE__)
#if !defined(__64BIT__) && defined(DOUBLE)
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
slwi LDC, LDC, BASE_SHIFT
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 112 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
lwz OFFSET, 56 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -124,19 +124,19 @@
stfd f25, 88(SP)
#if defined(linux) && defined(__64BIT__)
ld INCY, 112 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld INCY, 112 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz INCY, 56 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -113,19 +113,19 @@
stfd f25, 88(SP)
#if defined(linux) && defined(__64BIT__)
ld INCY, 112 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld INCY, 112 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz INCY, 56 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -64,24 +64,24 @@
#ifdef linux
#ifndef __64BIT__
lwz LDC, 8 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
ld C, 120 + STACKSIZE(SP)
ld LDC, 128 + STACKSIZE(SP)
ld C, FRAMESLOT(1) + STACKSIZE(SP)
ld LDC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld C, 120 + STACKSIZE(SP)
ld LDC, 128 + STACKSIZE(SP)
ld C, FRAMESLOT(1) + STACKSIZE(SP)
ld LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz C, 68 + STACKSIZE(SP)
lwz LDC, 72 + STACKSIZE(SP)
lwz C, FRAMESLOT(3) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(4) + STACKSIZE(SP)
#else
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -171,37 +171,37 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
#ifdef TRMMKERNEL
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 68 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#endif
@ -233,25 +233,25 @@
#ifdef linux
#ifndef __64BIT__
lwz PREA, 16 + STACKSIZE(SP)
lwz PREC, 20 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
ld PREA, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREA, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREA, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 72 + STACKSIZE(SP)
lwz PREC, 76 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(4) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz PREA, 68 + STACKSIZE(SP)
lwz PREC, 72 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(3) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -240,20 +240,20 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -266,25 +266,25 @@
#ifdef linux
#ifndef __64BIT__
lwz PREB, 16 + STACKSIZE(SP)
lwz PREC, 20 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
ld PREB, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREB, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREB, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREB, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREB, 72 + STACKSIZE(SP)
lwz PREC, 76 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(4) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz PREB, 68 + STACKSIZE(SP)
lwz PREC, 72 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(3) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -246,20 +246,20 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -272,25 +272,25 @@
#ifdef linux
#ifndef __64BIT__
lwz PREB, 16 + STACKSIZE(SP)
lwz PREC, 20 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
ld PREB, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREB, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREB, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREB, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREB, 72 + STACKSIZE(SP)
lwz PREC, 76 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(4) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz PREB, 68 + STACKSIZE(SP)
lwz PREC, 72 + STACKSIZE(SP)
lwz PREB, FRAMESLOT(3) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -240,20 +240,20 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -177,37 +177,37 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
#ifdef TRMMKERNEL
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 68 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#endif
@ -232,25 +232,25 @@
#ifdef linux
#ifndef __64BIT__
lwz PREA, 16 + STACKSIZE(SP)
lwz PREC, 20 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
ld PREA, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREA, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREA, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 72 + STACKSIZE(SP)
lwz PREC, 76 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(4) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz PREA, 68 + STACKSIZE(SP)
lwz PREC, 72 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(3) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -187,37 +187,37 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
#ifdef TRMMKERNEL
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 68 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -163,20 +163,20 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
@ -204,25 +204,25 @@
#ifdef linux
#ifndef __64BIT__
lwz PREA, 16 + STACKSIZE(SP)
lwz PREC, 20 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(2) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(3) + STACKSIZE(SP)
#else
ld PREA, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREA, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld PREA, 136 + STACKSIZE(SP)
ld PREC, 144 + STACKSIZE(SP)
ld PREA, FRAMESLOT(3) + STACKSIZE(SP)
ld PREC, FRAMESLOT(4) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz PREA, 72 + STACKSIZE(SP)
lwz PREC, 76 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(4) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz PREA, 68 + STACKSIZE(SP)
lwz PREC, 72 + STACKSIZE(SP)
lwz PREA, FRAMESLOT(3) + STACKSIZE(SP)
lwz PREC, FRAMESLOT(4) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -201,37 +201,37 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
#ifdef TRMMKERNEL
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 68 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -184,37 +184,37 @@
#ifdef linux
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld LDC, 112 + STACKSIZE(SP)
ld LDC, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz B, 56 + STACKSIZE(SP)
lwz C, 60 + STACKSIZE(SP)
lwz LDC, 64 + STACKSIZE(SP)
lwz B, FRAMESLOT(0) + STACKSIZE(SP)
lwz C, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDC, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz LDC, 56 + STACKSIZE(SP)
lwz LDC, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif
#ifdef TRMMKERNEL
#if defined(linux) && defined(__64BIT__)
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld OFFSET, 120 + STACKSIZE(SP)
ld OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz OFFSET, 68 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(3) + STACKSIZE(SP)
#else
lwz OFFSET, 60 + STACKSIZE(SP)
lwz OFFSET, FRAMESLOT(1) + STACKSIZE(SP)
#endif
#endif
#endif

View File

@ -247,31 +247,31 @@
#ifdef linux
#ifndef __64BIT__
lwz INCY, 8 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
#else
ld INCX, 112 + STACKSIZE(SP)
ld Y, 120 + STACKSIZE(SP)
ld INCY, 128 + STACKSIZE(SP)
ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
ld Y, FRAMESLOT(1) + STACKSIZE(SP)
ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz LDA, 56 + STACKSIZE(SP)
lwz X, 60 + STACKSIZE(SP)
lwz INCX, 64 + STACKSIZE(SP)
lwz Y, 68 + STACKSIZE(SP)
lwz INCY, 72 + STACKSIZE(SP)
lwz LDA, FRAMESLOT(0) + STACKSIZE(SP)
lwz X, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCX, FRAMESLOT(2) + STACKSIZE(SP)
lwz Y, FRAMESLOT(3) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(4) + STACKSIZE(SP)
#else
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#else
ld INCX, 112 + STACKSIZE(SP)
ld Y, 120 + STACKSIZE(SP)
ld INCY, 128 + STACKSIZE(SP)
ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
ld Y, FRAMESLOT(1) + STACKSIZE(SP)
ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
#endif
#endif

View File

@ -225,36 +225,36 @@
#ifdef linux
#ifndef __64BIT__
lwz INCY, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld INCX, 112 + STACKSIZE(SP)
ld Y, 120 + STACKSIZE(SP)
ld INCY, 128 + STACKSIZE(SP)
ld BUFFER, 136 + STACKSIZE(SP)
ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
ld Y, FRAMESLOT(1) + STACKSIZE(SP)
ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz LDA, 56 + STACKSIZE(SP)
lwz X, 60 + STACKSIZE(SP)
lwz INCX, 64 + STACKSIZE(SP)
lwz Y, 68 + STACKSIZE(SP)
lwz INCY, 72 + STACKSIZE(SP)
lwz BUFFER, 76 + STACKSIZE(SP)
lwz LDA, FRAMESLOT(0) + STACKSIZE(SP)
lwz X, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCX, FRAMESLOT(2) + STACKSIZE(SP)
lwz Y, FRAMESLOT(3) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(4) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#else
ld INCX, 112 + STACKSIZE(SP)
ld Y, 120 + STACKSIZE(SP)
ld INCY, 128 + STACKSIZE(SP)
ld BUFFER, 136 + STACKSIZE(SP)
ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
ld Y, FRAMESLOT(1) + STACKSIZE(SP)
ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#endif

View File

@ -222,36 +222,36 @@
#ifdef linux
#ifndef __64BIT__
lwz INCY, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld INCX, 112 + STACKSIZE(SP)
ld Y, 120 + STACKSIZE(SP)
ld INCY, 128 + STACKSIZE(SP)
ld BUFFER, 136 + STACKSIZE(SP)
ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
ld Y, FRAMESLOT(1) + STACKSIZE(SP)
ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz LDA, 56 + STACKSIZE(SP)
lwz X, 60 + STACKSIZE(SP)
lwz INCX, 64 + STACKSIZE(SP)
lwz Y, 68 + STACKSIZE(SP)
lwz INCY, 72 + STACKSIZE(SP)
lwz BUFFER, 76 + STACKSIZE(SP)
lwz LDA, FRAMESLOT(0) + STACKSIZE(SP)
lwz X, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCX, FRAMESLOT(2) + STACKSIZE(SP)
lwz Y, FRAMESLOT(3) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(4) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#else
ld INCX, 112 + STACKSIZE(SP)
ld Y, 120 + STACKSIZE(SP)
ld INCY, 128 + STACKSIZE(SP)
ld BUFFER, 136 + STACKSIZE(SP)
ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
ld Y, FRAMESLOT(1) + STACKSIZE(SP)
ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#endif

View File

@ -181,36 +181,36 @@
#ifdef linux
#ifndef __64BIT__
lwz INCY, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld INCX, 112 + STACKSIZE(SP)
ld Y, 120 + STACKSIZE(SP)
ld INCY, 128 + STACKSIZE(SP)
ld BUFFER, 136 + STACKSIZE(SP)
ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
ld Y, FRAMESLOT(1) + STACKSIZE(SP)
ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz LDA, 56 + STACKSIZE(SP)
lwz X, 60 + STACKSIZE(SP)
lwz INCX, 64 + STACKSIZE(SP)
lwz Y, 68 + STACKSIZE(SP)
lwz INCY, 72 + STACKSIZE(SP)
lwz BUFFER, 76 + STACKSIZE(SP)
lwz LDA, FRAMESLOT(0) + STACKSIZE(SP)
lwz X, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCX, FRAMESLOT(2) + STACKSIZE(SP)
lwz Y, FRAMESLOT(3) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(4) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#else
ld INCX, 112 + STACKSIZE(SP)
ld Y, 120 + STACKSIZE(SP)
ld INCY, 128 + STACKSIZE(SP)
ld BUFFER, 136 + STACKSIZE(SP)
ld INCX, FRAMESLOT(0) + STACKSIZE(SP)
ld Y, FRAMESLOT(1) + STACKSIZE(SP)
ld INCY, FRAMESLOT(2) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#endif

View File

@ -237,36 +237,36 @@
#ifdef linux
#ifndef __64BIT__
lwz LDA, 8 + STACKSIZE(SP)
lwz BUFFER, 12 + STACKSIZE(SP)
lwz LDA, FRAMESLOT(0) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(1) + STACKSIZE(SP)
#else
ld INCY, 112 + STACKSIZE(SP)
ld A, 120 + STACKSIZE(SP)
ld LDA, 128 + STACKSIZE(SP)
ld BUFFER, 136 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
ld A, FRAMESLOT(1) + STACKSIZE(SP)
ld LDA, FRAMESLOT(2) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifndef __64BIT__
#ifdef DOUBLE
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz A, 68 + STACKSIZE(SP)
lwz LDA, 72 + STACKSIZE(SP)
lwz BUFFER, 76 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
lwz A, FRAMESLOT(3) + STACKSIZE(SP)
lwz LDA, FRAMESLOT(4) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(5) + STACKSIZE(SP)
#else
lwz INCY, 56 + STACKSIZE(SP)
lwz A, 60 + STACKSIZE(SP)
lwz LDA, 64 + STACKSIZE(SP)
lwz BUFFER, 68 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
lwz A, FRAMESLOT(1) + STACKSIZE(SP)
lwz LDA, FRAMESLOT(2) + STACKSIZE(SP)
lwz BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#else
ld INCY, 112 + STACKSIZE(SP)
ld A, 120 + STACKSIZE(SP)
ld LDA, 128 + STACKSIZE(SP)
ld BUFFER, 136 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
ld A, FRAMESLOT(1) + STACKSIZE(SP)
ld LDA, FRAMESLOT(2) + STACKSIZE(SP)
ld BUFFER, FRAMESLOT(3) + STACKSIZE(SP)
#endif
#endif

View File

@ -118,19 +118,19 @@
stfd f31, 136(SP)
#if defined(linux) && defined(__64BIT__)
ld INCY, 112 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#if defined(_AIX) || defined(__APPLE__)
#ifdef __64BIT__
ld INCY, 112 + STACKSIZE(SP)
ld INCY, FRAMESLOT(0) + STACKSIZE(SP)
#else
#ifdef DOUBLE
lwz INCX, 56 + STACKSIZE(SP)
lwz Y, 60 + STACKSIZE(SP)
lwz INCY, 64 + STACKSIZE(SP)
lwz INCX, FRAMESLOT(0) + STACKSIZE(SP)
lwz Y, FRAMESLOT(1) + STACKSIZE(SP)
lwz INCY, FRAMESLOT(2) + STACKSIZE(SP)
#else
lwz INCY, 56 + STACKSIZE(SP)
lwz INCY, FRAMESLOT(0) + STACKSIZE(SP)
#endif
#endif
#endif

Some files were not shown because too many files have changed in this diff Show More