Browse Source

Add fast path for small xSYR with INCX==1

tags/v0.3.16^2
Martin Kroeker GitHub 4 years ago
parent
commit
03297ff9f0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 22 additions and 1 deletions
  1. +22
    -1
      interface/syr.c

+ 22
- 1
interface/syr.c View File

@@ -168,7 +168,28 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha,
IDEBUG_START;

FUNCTION_PROFILE_START();

#if 1
if (incx == 1 && n < 100) {
BLASLONG i;

if (uplo == 0) {
for (i = 0; i < n; i++){
if (x[i] != ZERO) {
AXPYU_K(i + 1, 0, 0, alpha * x[i], x, 1, a, 1, NULL, 0);
}
a += lda;
}
} else {
for (i = 0; i < n; i++){
if (x[i] != ZERO) {
AXPYU_K(n - i, 0, 0, alpha * x[i], x + i, 1, a, 1, NULL, 0);
}
a += 1 + lda;
}
}
return;
}
#endif
if (incx < 0 ) x -= (n - 1) * incx;

buffer = (FLOAT *)blas_memory_alloc(1);


Loading…
Cancel
Save