aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/arm_conv/pooling/kernels/sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst/generic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/NEON/kernels/arm_conv/pooling/kernels/sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst/generic.cpp')
-rw-r--r--src/core/NEON/kernels/arm_conv/pooling/kernels/sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst/generic.cpp54
1 files changed, 27 insertions, 27 deletions
diff --git a/src/core/NEON/kernels/arm_conv/pooling/kernels/sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst/generic.cpp b/src/core/NEON/kernels/arm_conv/pooling/kernels/sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst/generic.cpp
index f71f2625b6..7fc776ed4e 100644
--- a/src/core/NEON/kernels/arm_conv/pooling/kernels/sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst/generic.cpp
+++ b/src/core/NEON/kernels/arm_conv/pooling/kernels/sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst/generic.cpp
@@ -26,7 +26,7 @@
#include <cstddef>
#include <cstdint>
-#if defined(__ARM_FEATURE_SVE) && defined(__ARM_FP16_ARGS) && defined(ARM_COMPUTE_ENABLE_SME)
+#if defined(ARM_COMPUTE_ENABLE_SME) && defined(__ARM_FP16_ARGS)
namespace arm_conv {
namespace pooling {
@@ -70,23 +70,23 @@ void sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst_impl(
"ldr x20, [%x[args], %[offsetof_inptrs]]\n"
"mov x14, #0x0\n"
"ldr x13, [%x[args], %[offsetof_n_channels]]\n"
- "whilelt p1.h, x15, x13\n"
+ "whilelt p0.h, x15, x13\n"
"ldp x12, x11, [x21, #0x0]\n"
"ldp x10, x9, [x21, #0x10]\n"
"ldp x28, x27, [x20, #0x0]\n"
- "ld1h { z30.h }, p1/Z, [x27, x15, LSL #1]\n"
+ "ld1h { z30.h }, p0/Z, [x27, x15, LSL #1]\n"
"ldp x26, x25, [x20, #0x10]\n"
- "ld1h { z29.h }, p1/Z, [x25, x15, LSL #1]\n"
+ "ld1h { z29.h }, p0/Z, [x25, x15, LSL #1]\n"
"ldp x24, x23, [x20, #0x20]\n"
- "ld1h { z28.h }, p1/Z, [x24, x15, LSL #1]\n"
+ "ld1h { z28.h }, p0/Z, [x24, x15, LSL #1]\n"
"ldp x22, x21, [x20, #0x30]\n"
- "ld1h { z27.h }, p1/Z, [x21, x15, LSL #1]\n"
+ "ld1h { z27.h }, p0/Z, [x21, x15, LSL #1]\n"
"ldr x20, [x20, #0x40]\n"
- "ld1h { z26.h }, p1/Z, [x28, x15, LSL #1]\n"
- "ld1h { z25.h }, p1/Z, [x26, x15, LSL #1]\n"
- "ld1h { z24.h }, p1/Z, [x23, x15, LSL #1]\n"
- "ld1h { z23.h }, p1/Z, [x22, x15, LSL #1]\n"
- "ld1h { z19.h }, p1/Z, [x20, x15, LSL #1]\n"
+ "ld1h { z26.h }, p0/Z, [x28, x15, LSL #1]\n"
+ "ld1h { z25.h }, p0/Z, [x26, x15, LSL #1]\n"
+ "ld1h { z24.h }, p0/Z, [x23, x15, LSL #1]\n"
+ "ld1h { z19.h }, p0/Z, [x22, x15, LSL #1]\n"
+ "ld1h { z23.h }, p0/Z, [x20, x15, LSL #1]\n"
"incw x15\n"
"whilelt p1.h, x15, x13\n"
"b.none 2f\n"
@@ -95,25 +95,25 @@ void sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst_impl(
"movprfx z21, z28\n fmax z21.h, p2/M, z21.h, z27.h\n"
"ld1h { z30.h }, p1/Z, [x27, x15, LSL #1]\n"
"whilelt p0.h, x14, x13\n"
- "movprfx z20, z29\n fmax z20.h, p2/M, z20.h, z26.h\n"
- "movprfx z18, z25\n fmax z18.h, p2/M, z18.h, z24.h\n"
+ "movprfx z18, z29\n fmax z18.h, p2/M, z18.h, z26.h\n"
+ "movprfx z17, z25\n fmax z17.h, p2/M, z17.h, z24.h\n"
"ld1h { z28.h }, p1/Z, [x24, x15, LSL #1]\n"
- "movprfx z17, z29\n fmax z17.h, p2/M, z17.h, z23.h\n"
- "movprfx z16, z24\n fmax z16.h, p2/M, z16.h, z19.h\n"
+ "movprfx z16, z29\n fmax z16.h, p2/M, z16.h, z19.h\n"
+ "movprfx z20, z24\n fmax z20.h, p2/M, z20.h, z23.h\n"
"ld1h { z27.h }, p1/Z, [x21, x15, LSL #1]\n"
"ld1h { z29.h }, p1/Z, [x25, x15, LSL #1]\n"
- "movprfx z19, z22\n fmax z19.h, p2/M, z19.h, z20.h\n"
- "fmax z18.h, p2/M, z18.h, z22.h\n"
+ "movprfx z19, z22\n fmax z19.h, p2/M, z19.h, z18.h\n"
+ "movprfx z18, z17\n fmax z18.h, p2/M, z18.h, z22.h\n"
"ld1h { z26.h }, p1/Z, [x28, x15, LSL #1]\n"
- "fmax z17.h, p2/M, z17.h, z21.h\n"
- "fmax z16.h, p2/M, z16.h, z21.h\n"
+ "movprfx z17, z16\n fmax z17.h, p2/M, z17.h, z21.h\n"
+ "movprfx z16, z21\n fmax z16.h, p2/M, z16.h, z20.h\n"
"ld1h { z25.h }, p1/Z, [x26, x15, LSL #1]\n"
"st1h { z19.h }, p0, [x12, x14, LSL #1]\n"
"ld1h { z24.h }, p1/Z, [x23, x15, LSL #1]\n"
"st1h { z18.h }, p0, [x11, x14, LSL #1]\n"
- "ld1h { z23.h }, p1/Z, [x22, x15, LSL #1]\n"
+ "ld1h { z19.h }, p1/Z, [x22, x15, LSL #1]\n"
"st1h { z17.h }, p0, [x10, x14, LSL #1]\n"
- "ld1h { z19.h }, p1/Z, [x20, x15, LSL #1]\n"
+ "ld1h { z23.h }, p1/Z, [x20, x15, LSL #1]\n"
"incw x15\n"
"whilelt p1.h, x15, x13\n"
"st1h { z16.h }, p0, [x9, x14, LSL #1]\n"
@@ -125,13 +125,13 @@ void sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst_impl(
"whilelt p0.h, x14, x13\n"
"movprfx z20, z29\n fmax z20.h, p2/M, z20.h, z26.h\n"
"movprfx z18, z25\n fmax z18.h, p2/M, z18.h, z24.h\n"
- "movprfx z17, z29\n fmax z17.h, p2/M, z17.h, z23.h\n"
- "movprfx z16, z24\n fmax z16.h, p2/M, z16.h, z19.h\n"
- "movprfx z19, z22\n fmax z19.h, p2/M, z19.h, z20.h\n"
+ "movprfx z17, z29\n fmax z17.h, p2/M, z17.h, z19.h\n"
+ "movprfx z19, z24\n fmax z19.h, p2/M, z19.h, z23.h\n"
+ "movprfx z16, z22\n fmax z16.h, p2/M, z16.h, z20.h\n"
"fmax z18.h, p2/M, z18.h, z22.h\n"
- "st1h { z19.h }, p0, [x12, x14, LSL #1]\n"
+ "st1h { z16.h }, p0, [x12, x14, LSL #1]\n"
"fmax z17.h, p2/M, z17.h, z21.h\n"
- "fmax z16.h, p2/M, z16.h, z21.h\n"
+ "movprfx z16, z21\n fmax z16.h, p2/M, z16.h, z19.h\n"
"st1h { z18.h }, p0, [x11, x14, LSL #1]\n"
"st1h { z17.h }, p0, [x10, x14, LSL #1]\n"
"st1h { z16.h }, p0, [x9, x14, LSL #1]\n"
@@ -145,4 +145,4 @@ void sme_fp16_nhwc_max_2x2_s1_output2x2_depthfirst_impl(
} // namespace pooling
} // namespace arm_conv
-#endif // defined(__ARM_FEATURE_SVE) && defined(__ARM_FP16_ARGS) && defined(ARM_COMPUTE_ENABLE_SME)
+#endif // defined(ARM_COMPUTE_ENABLE_SME) && defined(__ARM_FP16_ARGS)