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>
diff --git a/README.chromium b/README.chromium
index b60adf7..42c319c 100644
--- a/README.chromium
+++ b/README.chromium
@@ -1,6 +1,6 @@
Name: libyuv
URL: http://code.google.com/p/libyuv/
-Version: 1789
+Version: 1790
License: BSD
License File: LICENSE
diff --git a/include/libyuv/version.h b/include/libyuv/version.h
index 8b06777..2b9693a 100644
--- a/include/libyuv/version.h
+++ b/include/libyuv/version.h
@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_
#define INCLUDE_LIBYUV_VERSION_H_
-#define LIBYUV_VERSION 1789
+#define LIBYUV_VERSION 1790
#endif // INCLUDE_LIBYUV_VERSION_H_
diff --git a/source/row_neon64.cc b/source/row_neon64.cc
index b9fafd8..e62e52b 100644
--- a/source/row_neon64.cc
+++ b/source/row_neon64.cc
@@ -1711,7 +1711,7 @@
uint16_t* dst_ab64,
int width) {
asm volatile(
- "ld1 {v4.16b}, %3 \n" // shuffler
+ "ldr q4, %3 \n" // shuffler
"1: \n"
"ldp q0, q2, [%0], #32 \n" // load 8 pixels
"tbl v0.16b, {v0.16b}, v4.16b \n"
@@ -1726,7 +1726,7 @@
: "+r"(src_argb), // %0
"+r"(dst_ab64), // %1
"+r"(width) // %2
- : "Q"(kShuffleARGBToABGR) // %3
+ : "m"(kShuffleARGBToABGR) // %3
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
}
@@ -1737,7 +1737,7 @@
uint8_t* dst_argb,
int width) {
asm volatile(
- "ld1 {v4.16b}, %3 \n" // shuffler
+ "ldr q4, %3 \n" // shuffler
"1: \n"
"ldp q0, q1, [%0], #32 \n" // load 4 pixels
"ldp q2, q3, [%0], #32 \n" // load 4 pixels
@@ -1750,7 +1750,7 @@
: "+r"(src_ar64), // %0
"+r"(dst_argb), // %1
"+r"(width) // %2
- : "Q"(kShuffleAR64ToARGB) // %3
+ : "m"(kShuffleAR64ToARGB) // %3
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
}
@@ -1761,7 +1761,7 @@
uint8_t* dst_argb,
int width) {
asm volatile(
- "ld1 {v4.16b}, %3 \n" // shuffler
+ "ldr q4, %3 \n" // shuffler
"1: \n"
"ldp q0, q1, [%0], #32 \n" // load 4 pixels
"ldp q2, q3, [%0], #32 \n" // load 4 pixels
@@ -1774,7 +1774,7 @@
: "+r"(src_ab64), // %0
"+r"(dst_argb), // %1
"+r"(width) // %2
- : "Q"(kShuffleAB64ToARGB) // %3
+ : "m"(kShuffleAB64ToARGB) // %3
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
}