mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-07 01:06:46 +08:00
change ld1 to ldr for memory references to allow GCC to use an offset
Bug: chromium:819294, libyuv:903 Change-Id: I1cd19cc5a068c421d1112c9ea6090e18fb002a4c Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3152821 Reviewed-by: Wan-Teh Chang <wtc@google.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
This commit is contained in:
parent
c6ed1b8f0e
commit
ed5a9c81de
@ -1,6 +1,6 @@
|
|||||||
Name: libyuv
|
Name: libyuv
|
||||||
URL: http://code.google.com/p/libyuv/
|
URL: http://code.google.com/p/libyuv/
|
||||||
Version: 1789
|
Version: 1790
|
||||||
License: BSD
|
License: BSD
|
||||||
License File: LICENSE
|
License File: LICENSE
|
||||||
|
|
||||||
|
|||||||
@ -11,6 +11,6 @@
|
|||||||
#ifndef INCLUDE_LIBYUV_VERSION_H_
|
#ifndef INCLUDE_LIBYUV_VERSION_H_
|
||||||
#define INCLUDE_LIBYUV_VERSION_H_
|
#define INCLUDE_LIBYUV_VERSION_H_
|
||||||
|
|
||||||
#define LIBYUV_VERSION 1789
|
#define LIBYUV_VERSION 1790
|
||||||
|
|
||||||
#endif // INCLUDE_LIBYUV_VERSION_H_
|
#endif // INCLUDE_LIBYUV_VERSION_H_
|
||||||
|
|||||||
@ -1711,7 +1711,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb,
|
|||||||
uint16_t* dst_ab64,
|
uint16_t* dst_ab64,
|
||||||
int width) {
|
int width) {
|
||||||
asm volatile(
|
asm volatile(
|
||||||
"ld1 {v4.16b}, %3 \n" // shuffler
|
"ldr q4, %3 \n" // shuffler
|
||||||
"1: \n"
|
"1: \n"
|
||||||
"ldp q0, q2, [%0], #32 \n" // load 8 pixels
|
"ldp q0, q2, [%0], #32 \n" // load 8 pixels
|
||||||
"tbl v0.16b, {v0.16b}, v4.16b \n"
|
"tbl v0.16b, {v0.16b}, v4.16b \n"
|
||||||
@ -1726,7 +1726,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb,
|
|||||||
: "+r"(src_argb), // %0
|
: "+r"(src_argb), // %0
|
||||||
"+r"(dst_ab64), // %1
|
"+r"(dst_ab64), // %1
|
||||||
"+r"(width) // %2
|
"+r"(width) // %2
|
||||||
: "Q"(kShuffleARGBToABGR) // %3
|
: "m"(kShuffleARGBToABGR) // %3
|
||||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1737,7 +1737,7 @@ void AR64ToARGBRow_NEON(const uint16_t* src_ar64,
|
|||||||
uint8_t* dst_argb,
|
uint8_t* dst_argb,
|
||||||
int width) {
|
int width) {
|
||||||
asm volatile(
|
asm volatile(
|
||||||
"ld1 {v4.16b}, %3 \n" // shuffler
|
"ldr q4, %3 \n" // shuffler
|
||||||
"1: \n"
|
"1: \n"
|
||||||
"ldp q0, q1, [%0], #32 \n" // load 4 pixels
|
"ldp q0, q1, [%0], #32 \n" // load 4 pixels
|
||||||
"ldp q2, q3, [%0], #32 \n" // load 4 pixels
|
"ldp q2, q3, [%0], #32 \n" // load 4 pixels
|
||||||
@ -1750,7 +1750,7 @@ void AR64ToARGBRow_NEON(const uint16_t* src_ar64,
|
|||||||
: "+r"(src_ar64), // %0
|
: "+r"(src_ar64), // %0
|
||||||
"+r"(dst_argb), // %1
|
"+r"(dst_argb), // %1
|
||||||
"+r"(width) // %2
|
"+r"(width) // %2
|
||||||
: "Q"(kShuffleAR64ToARGB) // %3
|
: "m"(kShuffleAR64ToARGB) // %3
|
||||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1761,7 +1761,7 @@ void AB64ToARGBRow_NEON(const uint16_t* src_ab64,
|
|||||||
uint8_t* dst_argb,
|
uint8_t* dst_argb,
|
||||||
int width) {
|
int width) {
|
||||||
asm volatile(
|
asm volatile(
|
||||||
"ld1 {v4.16b}, %3 \n" // shuffler
|
"ldr q4, %3 \n" // shuffler
|
||||||
"1: \n"
|
"1: \n"
|
||||||
"ldp q0, q1, [%0], #32 \n" // load 4 pixels
|
"ldp q0, q1, [%0], #32 \n" // load 4 pixels
|
||||||
"ldp q2, q3, [%0], #32 \n" // load 4 pixels
|
"ldp q2, q3, [%0], #32 \n" // load 4 pixels
|
||||||
@ -1774,7 +1774,7 @@ void AB64ToARGBRow_NEON(const uint16_t* src_ab64,
|
|||||||
: "+r"(src_ab64), // %0
|
: "+r"(src_ab64), // %0
|
||||||
"+r"(dst_argb), // %1
|
"+r"(dst_argb), // %1
|
||||||
"+r"(width) // %2
|
"+r"(width) // %2
|
||||||
: "Q"(kShuffleAB64ToARGB) // %3
|
: "m"(kShuffleAB64ToARGB) // %3
|
||||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user