Commit d3f51b58 authored by fbarchard@google.com's avatar fbarchard@google.com

work arounds for ios 64 bit compiler where int passed into assembly needs to be…

work arounds for ios 64 bit compiler where int passed into assembly needs to be explicitely cast to 'w' register.
BUG=437
TESTED=local ios build
R=bcornell@google.com

Review URL: https://webrtc-codereview.appspot.com/49289004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1402 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent b0f83522
......@@ -551,7 +551,7 @@ void ScaleAddRows_NEON(const uint8* src_ptr, ptrdiff_t src_stride,
asm volatile (
"1: \n"
"mov %0, %1 \n"
"mov x12, %5 \n"
"mov w12, %w5 \n"
"eor v2.16b, v2.16b, v2.16b \n"
"eor v3.16b, v3.16b, v3.16b \n"
"2: \n"
......@@ -560,7 +560,7 @@ void ScaleAddRows_NEON(const uint8* src_ptr, ptrdiff_t src_stride,
"ld1 {v0.16b}, [%0], %3 \n"
"uaddw2 v3.8h, v3.8h, v0.16b \n"
"uaddw v2.8h, v2.8h, v0.8b \n"
"subs x12, x12, #1 \n"
"subs w12, w12, #1 \n"
"b.gt 2b \n"
MEMACCESS(2)
"st1 {v2.8h, v3.8h}, [%2], #32 \n" // store pixels
......@@ -574,7 +574,7 @@ void ScaleAddRows_NEON(const uint8* src_ptr, ptrdiff_t src_stride,
"+r"(src_width), // %4
"+r"(src_height) // %5
:
: "memory", "cc", "x12", "v0", "v1", "v2", "v3" // Clobber List
: "memory", "cc", "w12", "v0", "v1", "v2", "v3" // Clobber List
);
}
......@@ -658,14 +658,14 @@ void ScaleFilterRows_NEON(uint8* dst_ptr,
int dst_width, int source_y_fraction) {
int y_fraction = 256 - source_y_fraction;
asm volatile (
"cmp %4, #0 \n"
"cmp %w4, #0 \n"
"b.eq 100f \n"
"add %2, %2, %1 \n"
"cmp %4, #64 \n"
"cmp %w4, #64 \n"
"b.eq 75f \n"
"cmp %4, #128 \n"
"cmp %w4, #128 \n"
"b.eq 50f \n"
"cmp %4, #192 \n"
"cmp %w4, #192 \n"
"b.eq 25f \n"
"dup v5.8b, %w4 \n"
......@@ -858,7 +858,7 @@ void ScaleARGBRowDownEven_NEON(const uint8* src_argb, ptrdiff_t src_stride,
: "+r"(src_argb), // %0
"+r"(dst_argb), // %1
"+r"(dst_width) // %2
: "r"(static_cast<ptrdiff_t>(src_stepx * 4)) // %3
: "r"((int64)(src_stepx * 4)) // %3
: "memory", "cc", "v0"
);
}
......@@ -911,7 +911,7 @@ void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb, ptrdiff_t src_stride,
"+r"(src_stride), // %1
"+r"(dst_argb), // %2
"+r"(dst_width) // %3
: "r"(src_stepx * 4) // %4
: "r"((int64)(src_stepx * 4)) // %4
: "memory", "cc", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v16"
);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment