Update version to 0.3.21
[platform/upstream/openblas.git] / common_mips64.h
index 6078bf3..287459e 100644 (file)
@@ -71,35 +71,14 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #ifndef COMMON_MIPS64
 #define COMMON_MIPS64
 
-#define MB
-#define WMB
+#define MB  __sync_synchronize()
+#define WMB __sync_synchronize()
+#define RMB __sync_synchronize()
 
 #define INLINE inline
 
 #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;
 
@@ -116,7 +95,7 @@ static inline unsigned int rpcc(void){
 #define RPCC_DEFINED
 
 #ifndef NO_AFFINITY
-#define WHEREAMI
+//#define WHEREAMI
 static inline int WhereAmI(void){
   int ret=0;
   __asm__ __volatile__(".set push \n"
@@ -248,14 +227,9 @@ REALNAME: ;\
 
 #define SEEK_ADDRESS
 
-#define BUFFER_SIZE     ( 32 << 20)
-
-#if defined(LOONGSON3A)
-#define PAGESIZE       (16UL << 10)
-#define FIXED_PAGESIZE (16UL << 10)
-#endif
+#define BUFFER_SIZE     ( 32 << 21)
 
-#if defined(LOONGSON3B)
+#if defined(LOONGSON3R3) || defined(LOONGSON3R4)
 #define PAGESIZE       (16UL << 10)
 #define FIXED_PAGESIZE (16UL << 10)
 #endif
@@ -271,7 +245,7 @@ REALNAME: ;\
 #define MAP_ANONYMOUS MAP_ANON
 #endif
 
-#if defined(LOONGSON3A) || defined(LOONGSON3B)
+#if defined(LOONGSON3R3) || defined(LOONGSON3R4)
 #define PREFETCHD_(x) ld $0, x
 #define PREFETCHD(x)  PREFETCHD_(x)
 #else