aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/arm_gemm/indirect-interleaves/a64_interleave4_block16_s8_s8.hpp
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2021-01-31 05:18:43 +0000
committerGeorgios Pinitas <georgios.pinitas@arm.com>2021-02-17 13:21:55 +0000
commite28cf395b57a091d0850cd28cecc81046153b843 (patch)
tree13fbd43f586d08642f7cf0d9d6cfc2044f5fcd72 /src/core/NEON/kernels/arm_gemm/indirect-interleaves/a64_interleave4_block16_s8_s8.hpp
parenteca54a0cdbcdde64adee8f9be316a2eec6aa47e0 (diff)
downloadComputeLibrary-e28cf395b57a091d0850cd28cecc81046153b843.tar.gz
Regenerate kernels and update A55 versions
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Change-Id: I9eae76c77db03b8806af65729da34ab2d77f95f2 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4965 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/indirect-interleaves/a64_interleave4_block16_s8_s8.hpp')
-rw-r--r--src/core/NEON/kernels/arm_gemm/indirect-interleaves/a64_interleave4_block16_s8_s8.hpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/indirect-interleaves/a64_interleave4_block16_s8_s8.hpp b/src/core/NEON/kernels/arm_gemm/indirect-interleaves/a64_interleave4_block16_s8_s8.hpp
index 8054c2b96b..6a8caf6ce6 100644
--- a/src/core/NEON/kernels/arm_gemm/indirect-interleaves/a64_interleave4_block16_s8_s8.hpp
+++ b/src/core/NEON/kernels/arm_gemm/indirect-interleaves/a64_interleave4_block16_s8_s8.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2020 Arm Limited.
+ * Copyright (c) 2019-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -58,19 +58,19 @@ void interleave_block<4, 16, VLType::None, false>(
"blt 3f\n"
"2:" // Main loop head
"ldr q19, [x22], #0x10\n"
- "prfm pldl1keep, [x22, #0x70]\n"
+ "subs %x[width], %x[width], #0x10\n"
"ldr q18, [x21], #0x10\n"
+ "cmp %x[width], #0x10\n"
"ldr q17, [x20], #0x10\n"
- "prfm pldl1keep, [x21, #0x70]\n"
"ldr q16, [x19], #0x10\n"
+ "prfm pldl1keep, [x22, #0x70]\n"
+ "prfm pldl1keep, [x21, #0x70]\n"
"prfm pldl1keep, [x20, #0x70]\n"
+ "prfm pldl1keep, [x19, #0x70]\n"
"str q19, [%x[out_ptr], #0x0]\n"
"str q18, [%x[out_ptr], #0x10]\n"
- "prfm pldl1keep, [x19, #0x70]\n"
"str q17, [%x[out_ptr], #0x20]\n"
"str q16, [%x[out_ptr], #0x30]\n"
- "subs %x[width], %x[width], #0x10\n"
- "cmp %x[width], #0x10\n"
"add %x[out_ptr], %x[out_ptr], #0x40\n"
"bge 2b\n"
"3:" // Main loop skip
@@ -171,7 +171,7 @@ void interleave_block<4, 16, VLType::None, false>(
"add %x[out_ptr], %x[out_ptr], #0x40\n"
"12:" // Odds skip
- : [out_ptr] "+r" (out_ptr), [width] "+r" (width)
+ : [out_ptr] "+&r" (out_ptr), [width] "+&r" (width)
: [height] "r" (height), [in] "r" (in), [row_offset] "r" (row_offset)
: "cc", "memory", "v16", "v17", "v18", "v19", "x19", "x20", "x21", "x22"
);