aarch64 sve: formatting and make .L symbols where possible

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-08-25 00:00:00 +00:00
parent f28191a735
commit 06374cda42

View File

@@ -3,11 +3,12 @@
#include <lkmc.h> #include <lkmc.h>
.data .data
x: .double 1.5, 2.5, 3.5, 4.5 .align 16
y: .double 5.0, 6.0, 7.0, 8.0 x: .double 1.5, 2.5, 3.5, 4.5
y: .double 5.0, 6.0, 7.0, 8.0
y_expect: .double 8.0, 11.0, 14.0, 17.0 y_expect: .double 8.0, 11.0, 14.0, 17.0
a: .double 2.0 a: .double 2.0
n: .word 4 n: .word 4
LKMC_PROLOGUE LKMC_PROLOGUE
adr x0, x adr x0, x
@@ -22,11 +23,15 @@ LKMC_EPILOGUE
* *
* Operation: * Operation:
* *
* Y += a * X * ....
* Y += a * X + Y
* ....
* *
* C signature: * C signature:
* *
* void daxpy(double *x, double *y, double *a, int *n) * ....
* void daxpy(double *x, double *y, double a, int n)
* ....
* *
* The name "daxpy" comes from LAPACK: * The name "daxpy" comes from LAPACK:
* http://www.netlib.org/lapack/explore-html/de/da4/group__double__blas__level1_ga8f99d6a644d3396aa32db472e0cfc91c.html * http://www.netlib.org/lapack/explore-html/de/da4/group__double__blas__level1_ga8f99d6a644d3396aa32db472e0cfc91c.html
@@ -38,12 +43,12 @@ daxpy:
mov x4, 0 mov x4, 0
whilelt p0.d, x4, x3 whilelt p0.d, x4, x3
ld1rd z0.d, p0/z, [x2] ld1rd z0.d, p0/z, [x2]
.loop: .Lloop:
ld1d z1.d, p0/z, [x0, x4, lsl 3] ld1d z1.d, p0/z, [x0, x4, lsl 3]
ld1d z2.d, p0/z, [x1, x4, lsl 3] ld1d z2.d, p0/z, [x1, x4, lsl 3]
fmla z2.d, p0/m, z1.d, z0.d fmla z2.d, p0/m, z1.d, z0.d
st1d z2.d, p0, [x1, x4, lsl 3] st1d z2.d, p0, [x1, x4, lsl 3]
incd x4 incd x4
whilelt p0.d, x4, x3 whilelt p0.d, x4, x3
b.first .loop b.first .Lloop
ret ret