diff options
author | Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> | 2018-07-13 14:29:09 +0200 |
---|---|---|
committer | James Zern <jzern@google.com> | 2018-07-17 03:52:11 +0000 |
commit | bc30e6e39c8bde9a31e1c314e6d1003ff47f2f7f (patch) | |
tree | c0dd85e7c34fb02c08099fe70b4c356947c6d801 /vpx_dsp | |
parent | bc7c99e7eca8d30d005e7d5db8b0aada2459fb15 (diff) | |
download | libvpx-bc30e6e39c8bde9a31e1c314e6d1003ff47f2f7f.tar libvpx-bc30e6e39c8bde9a31e1c314e6d1003ff47f2f7f.tar.gz libvpx-bc30e6e39c8bde9a31e1c314e6d1003ff47f2f7f.tar.bz2 libvpx-bc30e6e39c8bde9a31e1c314e6d1003ff47f2f7f.zip |
vpx_sum_squares_2d_i16_neon(): Make |s2| a uint64x1_t.
This fixes the build with at least GCC 7.3, where it was previously failing
with:
sum_squares_neon.c: In function 'vpx_sum_squares_2d_i16_neon':
sum_squares_neon.c: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts
s2 = vpaddl_u32(s1);
^~
sum_squares_neon.c: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t'
s2 = vpaddl_u32(s1);
^
sum_squares_neon.c: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t'
s2 = vadd_u64(vget_low_u64(s1), vget_high_u64(s1));
^
sum_squares_neon.c: incompatible type for argument 1 of 'vget_lane_u64'
return vget_lane_u64(s2, 0);
^~
The generated assembly was verified to remain identical with both GCC and
LLVM.
Bug: chromium:819249
Change-Id: I2778428ee1fee0a674d0d4910347c2a717de21ac
Diffstat (limited to 'vpx_dsp')
-rw-r--r-- | vpx_dsp/arm/sum_squares_neon.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vpx_dsp/arm/sum_squares_neon.c b/vpx_dsp/arm/sum_squares_neon.c index 8942ba83b..cfefad993 100644 --- a/vpx_dsp/arm/sum_squares_neon.c +++ b/vpx_dsp/arm/sum_squares_neon.c @@ -14,7 +14,7 @@ #include "./vpx_dsp_rtcd.h" uint64_t vpx_sum_squares_2d_i16_neon(const int16_t *src, int stride, int size) { - int64x1_t s2; + uint64x1_t s2; if (size == 4) { int16x4_t s[4]; |