aboutsummaryrefslogtreecommitdiff
path: root/source/row_neon64.cc
diff options
context:
space:
mode:
Diffstat (limited to 'source/row_neon64.cc')
-rw-r--r--source/row_neon64.cc19
1 files changed, 11 insertions, 8 deletions
diff --git a/source/row_neon64.cc b/source/row_neon64.cc
index 93670966..e7b8b5c1 100644
--- a/source/row_neon64.cc
+++ b/source/row_neon64.cc
@@ -629,7 +629,7 @@ void MergeRGBRow_NEON(const uint8_t* src_r,
}
// Copy multiple of 32.
-void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int count) {
+void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int width) {
asm volatile(
"1: \n"
"ldp q0, q1, [%0], #32 \n"
@@ -638,14 +638,14 @@ void CopyRow_NEON(const uint8_t* src, uint8_t* dst, int count) {
"b.gt 1b \n"
: "+r"(src), // %0
"+r"(dst), // %1
- "+r"(count) // %2 // Output registers
+ "+r"(width) // %2 // Output registers
: // Input registers
: "cc", "memory", "v0", "v1" // Clobber List
);
}
-// SetRow writes 'count' bytes using an 8 bit value repeated.
-void SetRow_NEON(uint8_t* dst, uint8_t v8, int count) {
+// SetRow writes 'width' bytes using an 8 bit value repeated.
+void SetRow_NEON(uint8_t* dst, uint8_t v8, int width) {
asm volatile(
"dup v0.16b, %w2 \n" // duplicate 16 bytes
"1: \n"
@@ -653,12 +653,12 @@ void SetRow_NEON(uint8_t* dst, uint8_t v8, int count) {
"st1 {v0.16b}, [%0], #16 \n" // store
"b.gt 1b \n"
: "+r"(dst), // %0
- "+r"(count) // %1
+ "+r"(width) // %1
: "r"(v8) // %2
: "cc", "memory", "v0");
}
-void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int count) {
+void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int width) {
asm volatile(
"dup v0.4s, %w2 \n" // duplicate 4 ints
"1: \n"
@@ -666,7 +666,7 @@ void ARGBSetRow_NEON(uint8_t* dst, uint32_t v32, int count) {
"st1 {v0.16b}, [%0], #16 \n" // store
"b.gt 1b \n"
: "+r"(dst), // %0
- "+r"(count) // %1
+ "+r"(width) // %1
: "r"(v32) // %2
: "cc", "memory", "v0");
}
@@ -2600,7 +2600,10 @@ void SobelYRow_NEON(const uint8_t* src_y0,
}
// Caveat - rounds float to half float whereas scaling version truncates.
-void HalfFloat1Row_NEON(const uint16_t* src, uint16_t* dst, float, int width) {
+void HalfFloat1Row_NEON(const uint16_t* src,
+ uint16_t* dst,
+ float /*unused*/,
+ int width) {
asm volatile(
"1: \n"
"ld1 {v1.16b}, [%0], #16 \n" // load 8 shorts