Browse Source

mips: remove incorrect blas_lock implementations

MIPS 32-bit currently has an empty blas_lock implementation which is
worse than nothing at all. MIPS 64-bit does has a blas_lock
implementation but is broken. Remove them and fallback to the generic
version in common.h which should do the right thing on MIPS.
tags/v0.2.20^2
James Cowgill 8 years ago
parent
commit
de7875ca5d
2 changed files with 0 additions and 27 deletions
  1. +0
    -5
      common_mips.h
  2. +0
    -22
      common_mips64.h

+ 0
- 5
common_mips.h View File

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

#ifndef ASSEMBLER

static void INLINE blas_lock(volatile unsigned long *address){

}
#define BLAS_LOCK_DEFINED

static inline unsigned int rpcc(void){
unsigned long ret;



+ 0
- 22
common_mips64.h View File

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

#ifndef ASSEMBLER

static void INLINE blas_lock(volatile unsigned long *address){

long int ret, val = 1;

do {
while (*address) {YIELDING;};

__asm__ __volatile__(
"1: ll %0, %3\n"
" ori %2, %0, 1\n"
" sc %2, %1\n"
" beqz %2, 1b\n"
" andi %2, %0, 1\n"
" sync\n"
: "=&r" (val), "=m" (address), "=&r" (ret)
: "m" (address)
: "memory");

} while (ret);
}
#define BLAS_LOCK_DEFINED

static inline unsigned int rpcc(void){
unsigned long ret;



Loading…
Cancel
Save