summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-07-09 20:34:00 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-04 10:20:41 +0200
commit637c18ef50b892a1b01e7b02fac9471ee6d72d23 (patch)
treee85cb680b81adc712f34261c784e8b3e23be710d
parent68b31cb2811ac1ff57f6cd756cbbe3c169a732e7 (diff)
downloadqtwebengine-chromium-637c18ef50b892a1b01e7b02fac9471ee6d72d23.tar.gz
Fix compilation error for qemu
Fix coversion errors: invalid ‘static_cast’ from type ‘uint32x4_t’ to type ‘float32x4_t’ Change-Id: I444e05b199b8a9ec05a919f6f0adc835507769c3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--chromium/third_party/blink/renderer/modules/webaudio/audio_param.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/chromium/third_party/blink/renderer/modules/webaudio/audio_param.cc b/chromium/third_party/blink/renderer/modules/webaudio/audio_param.cc
index 45e00ef9472..eafcce545e5 100644
--- a/chromium/third_party/blink/renderer/modules/webaudio/audio_param.cc
+++ b/chromium/third_party/blink/renderer/modules/webaudio/audio_param.cc
@@ -267,17 +267,18 @@ static void HandleNaNValues(float* values,
}
#elif defined(CPU_ARM_NEON)
if (number_of_values >= 4) {
- uint32x4_t defaults = static_cast<uint32x4_t>(vdupq_n_f32(default_value));
+ const uint32x4_t defaults = vcvtq_u32_f32(vdupq_n_f32(default_value));
for (k = 0; k < number_of_values; k += 4) {
float32x4_t v = vld1q_f32(values + k);
// Returns true (all ones) if v is not NaN
uint32x4_t is_not_nan = vceqq_f32(v, v);
// Get the parts that are not NaN
- uint32x4_t result = vandq_u32(is_not_nan, v);
+ uint32x4_t result = vandq_u32(is_not_nan, vcvtq_u32_f32(v));
// Replace the parts that are NaN with the default and merge with previous
// result. (Note: vbic_u32(x, y) = x and not y)
result = vorrq_u32(result, vbicq_u32(defaults, is_not_nan));
- vst1q_f32(values + k, static_cast<float32x4_t>(result));
+ const float32x4_t resultf32 = vcvtq_f32_u32(result);
+ vst1q_f32(values + k, resultf32);
}
}
#endif