mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 07:55:35 +00:00
addressing
This commit is contained in:
parent
b140c6a4f9
commit
e252c1aca3
@ -337,7 +337,7 @@ asm ( \
|
|||||||
"fcmla z20.d, p5/m, z26.d, z14.d, 90 \n\t" \
|
"fcmla z20.d, p5/m, z26.d, z14.d, 90 \n\t" \
|
||||||
"fcmla z23.d, p5/m, z26.d, z17.d, 90 \n\t" \
|
"fcmla z23.d, p5/m, z26.d, z17.d, 90 \n\t" \
|
||||||
: \
|
: \
|
||||||
: [fetchptr] "r" (base + 2 * 3 * 64) \
|
: [fetchptr] "r" (baseU + 2 * 3 * 64) \
|
||||||
: "p5","cc","z0","z1","z2","z3","z4","z5","z6","z7","z8","z9","z10","z11","z12","z13","z14","z15","z16","z17","z18","z19","z20","z21","z22","z23","z24","z25","z26","z27","z28","z29","z30","z31","memory" \
|
: "p5","cc","z0","z1","z2","z3","z4","z5","z6","z7","z8","z9","z10","z11","z12","z13","z14","z15","z16","z17","z18","z19","z20","z21","z22","z23","z24","z25","z26","z27","z28","z29","z30","z31","memory" \
|
||||||
); \
|
); \
|
||||||
}
|
}
|
||||||
|
@ -349,7 +349,7 @@ asm ( \
|
|||||||
"fcmla z20.f, p5/m, z26.f, z14.f, 90 \n\t" \
|
"fcmla z20.f, p5/m, z26.f, z14.f, 90 \n\t" \
|
||||||
"fcmla z23.f, p5/m, z26.f, z17.f, 90 \n\t" \
|
"fcmla z23.f, p5/m, z26.f, z17.f, 90 \n\t" \
|
||||||
: \
|
: \
|
||||||
: [fetchptr] "r" (base + 2 * 3 * 64) \
|
: [fetchptr] "r" (baseU + 2 * 3 * 64) \
|
||||||
: "p5","cc","z0","z1","z2","z3","z4","z5","z6","z7","z8","z9","z10","z11","z12","z13","z14","z15","z16","z17","z18","z19","z20","z21","z22","z23","z24","z25","z26","z27","z28","z29","z30","z31","memory" \
|
: "p5","cc","z0","z1","z2","z3","z4","z5","z6","z7","z8","z9","z10","z11","z12","z13","z14","z15","z16","z17","z18","z19","z20","z21","z22","z23","z24","z25","z26","z27","z28","z29","z30","z31","memory" \
|
||||||
); \
|
); \
|
||||||
}
|
}
|
||||||
|
@ -262,12 +262,12 @@ Author: Nils Meyer <nils.meyer@ur.de>
|
|||||||
#define MULT_2SPIN_A64FXd(A) \
|
#define MULT_2SPIN_A64FXd(A) \
|
||||||
{ \
|
{ \
|
||||||
const auto & ref(U[sU](A)); uint64_t baseU = (uint64_t)&ref; \
|
const auto & ref(U[sU](A)); uint64_t baseU = (uint64_t)&ref; \
|
||||||
U_00 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + -6 * 64)); \
|
U_00 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + -6 * 64)); \
|
||||||
U_10 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + -3 * 64)); \
|
U_10 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + -3 * 64)); \
|
||||||
U_20 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + 0 * 64)); \
|
U_20 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + 0 * 64)); \
|
||||||
U_01 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + -5 * 64)); \
|
U_01 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + -5 * 64)); \
|
||||||
U_11 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + -2 * 64)); \
|
U_11 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + -2 * 64)); \
|
||||||
U_21 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + 1 * 64)); \
|
U_21 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + 1 * 64)); \
|
||||||
UChi_00 = __svzero(UChi_00); \
|
UChi_00 = __svzero(UChi_00); \
|
||||||
UChi_10 = __svzero(UChi_10); \
|
UChi_10 = __svzero(UChi_10); \
|
||||||
UChi_01 = __svzero(UChi_01); \
|
UChi_01 = __svzero(UChi_01); \
|
||||||
@ -286,9 +286,9 @@ Author: Nils Meyer <nils.meyer@ur.de>
|
|||||||
UChi_11 = svcmla_x(pg1, UChi_11, U_10, Chi_10, 90); \
|
UChi_11 = svcmla_x(pg1, UChi_11, U_10, Chi_10, 90); \
|
||||||
UChi_02 = svcmla_x(pg1, UChi_02, U_20, Chi_00, 90); \
|
UChi_02 = svcmla_x(pg1, UChi_02, U_20, Chi_00, 90); \
|
||||||
UChi_12 = svcmla_x(pg1, UChi_12, U_20, Chi_10, 90); \
|
UChi_12 = svcmla_x(pg1, UChi_12, U_20, Chi_10, 90); \
|
||||||
U_00 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + -4 * 64)); \
|
U_00 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + -4 * 64)); \
|
||||||
U_10 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + -1 * 64)); \
|
U_10 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + -1 * 64)); \
|
||||||
U_20 = svld1(pg1, (float64_t*)(base + 2 * 3 * 64 + 2 * 64)); \
|
U_20 = svld1(pg1, (float64_t*)(baseU + 2 * 3 * 64 + 2 * 64)); \
|
||||||
UChi_00 = svcmla_x(pg1, UChi_00, U_01, Chi_01, 0); \
|
UChi_00 = svcmla_x(pg1, UChi_00, U_01, Chi_01, 0); \
|
||||||
UChi_10 = svcmla_x(pg1, UChi_10, U_01, Chi_11, 0); \
|
UChi_10 = svcmla_x(pg1, UChi_10, U_01, Chi_11, 0); \
|
||||||
UChi_01 = svcmla_x(pg1, UChi_01, U_11, Chi_01, 0); \
|
UChi_01 = svcmla_x(pg1, UChi_01, U_11, Chi_01, 0); \
|
||||||
|
@ -269,12 +269,12 @@ Author: Nils Meyer <nils.meyer@ur.de>
|
|||||||
#define MULT_2SPIN_A64FXf(A) \
|
#define MULT_2SPIN_A64FXf(A) \
|
||||||
{ \
|
{ \
|
||||||
const auto & ref(U[sU](A)); uint64_t baseU = (uint64_t)&ref; \
|
const auto & ref(U[sU](A)); uint64_t baseU = (uint64_t)&ref; \
|
||||||
U_00 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + -6 * 64)); \
|
U_00 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + -6 * 64)); \
|
||||||
U_10 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + -3 * 64)); \
|
U_10 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + -3 * 64)); \
|
||||||
U_20 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + 0 * 64)); \
|
U_20 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + 0 * 64)); \
|
||||||
U_01 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + -5 * 64)); \
|
U_01 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + -5 * 64)); \
|
||||||
U_11 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + -2 * 64)); \
|
U_11 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + -2 * 64)); \
|
||||||
U_21 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + 1 * 64)); \
|
U_21 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + 1 * 64)); \
|
||||||
UChi_00 = __svzero(UChi_00); \
|
UChi_00 = __svzero(UChi_00); \
|
||||||
UChi_10 = __svzero(UChi_10); \
|
UChi_10 = __svzero(UChi_10); \
|
||||||
UChi_01 = __svzero(UChi_01); \
|
UChi_01 = __svzero(UChi_01); \
|
||||||
@ -293,9 +293,9 @@ Author: Nils Meyer <nils.meyer@ur.de>
|
|||||||
UChi_11 = svcmla_x(pg1, UChi_11, U_10, Chi_10, 90); \
|
UChi_11 = svcmla_x(pg1, UChi_11, U_10, Chi_10, 90); \
|
||||||
UChi_02 = svcmla_x(pg1, UChi_02, U_20, Chi_00, 90); \
|
UChi_02 = svcmla_x(pg1, UChi_02, U_20, Chi_00, 90); \
|
||||||
UChi_12 = svcmla_x(pg1, UChi_12, U_20, Chi_10, 90); \
|
UChi_12 = svcmla_x(pg1, UChi_12, U_20, Chi_10, 90); \
|
||||||
U_00 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + -4 * 64)); \
|
U_00 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + -4 * 64)); \
|
||||||
U_10 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + -1 * 64)); \
|
U_10 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + -1 * 64)); \
|
||||||
U_20 = svld1(pg1, (float32_t*)(base + 2 * 3 * 64 + 2 * 64)); \
|
U_20 = svld1(pg1, (float32_t*)(baseU + 2 * 3 * 64 + 2 * 64)); \
|
||||||
UChi_00 = svcmla_x(pg1, UChi_00, U_01, Chi_01, 0); \
|
UChi_00 = svcmla_x(pg1, UChi_00, U_01, Chi_01, 0); \
|
||||||
UChi_10 = svcmla_x(pg1, UChi_10, U_01, Chi_11, 0); \
|
UChi_10 = svcmla_x(pg1, UChi_10, U_01, Chi_11, 0); \
|
||||||
UChi_01 = svcmla_x(pg1, UChi_01, U_11, Chi_01, 0); \
|
UChi_01 = svcmla_x(pg1, UChi_01, U_11, Chi_01, 0); \
|
||||||
|
Loading…
Reference in New Issue
Block a user