|
|
|
@@ -80,7 +80,7 @@ static void __inline blas_lock(volatile BLASULONG *address){ |
|
|
|
#endif |
|
|
|
|
|
|
|
do { |
|
|
|
while (*address) {YIELDING;}; |
|
|
|
while (*address) {YIELDING;} |
|
|
|
|
|
|
|
#ifndef C_MSVC |
|
|
|
__asm__ __volatile__( |
|
|
|
@@ -199,9 +199,9 @@ static __inline BLASLONG blas_quickdivide(BLASLONG x, BLASLONG y){ |
|
|
|
#else |
|
|
|
extern unsigned int blas_quick_divide_table[]; |
|
|
|
|
|
|
|
static __inline int blas_quickdivide(unsigned int x, unsigned int y){ |
|
|
|
static __inline unsigned int blas_quickdivide(unsigned int x, unsigned int y){ |
|
|
|
|
|
|
|
unsigned int result; |
|
|
|
volatile unsigned int result; |
|
|
|
|
|
|
|
if (y <= 1) return x; |
|
|
|
|
|
|
|
@@ -215,7 +215,6 @@ static __inline int blas_quickdivide(unsigned int x, unsigned int y){ |
|
|
|
y = blas_quick_divide_table[y]; |
|
|
|
|
|
|
|
__asm__ __volatile__ ("mull %0" :"=d" (result), "+a"(x) : "0" (y)); |
|
|
|
|
|
|
|
return result; |
|
|
|
} |
|
|
|
#endif |
|
|
|
|