From 051a6f6f3fe71602d4c13aa8f3cda40cd3c7484d Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz Date: Tue, 07 Jul 2020 16:10:14 +0000 Subject: [PATCH] fixup: SIMD for main loop of a-rate DelayNode Similar to previous fix to oscillator node. In GCC, an implicit cast to m128i of the result of mm_cmplt_ps is not valid. In this case, as the next usage of the return value is already an m128, we just change the type of the return value to m128 too. Bug: 819294 Change-Id: I9ae9103a837920a5bfe432d7c81930bb4a5fce78 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2283211 Reviewed-by: Raymond Toy Commit-Queue: José Dapena Paz Cr-Commit-Position: refs/heads/master@{#785770} --- diff --git a/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc b/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc index 6d26a4d..7b244a6 100644 --- a/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc +++ b/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc @@ -142,7 +142,7 @@ // Wrap the read position if it exceed the buffer length. // If buffer length < read_position, set cmp to 0xffffffff. Otherwise zero. - __m128i cmp = _mm_cmplt_ps(v_buffer_length, v_position); + __m128 cmp = _mm_cmplt_ps(v_buffer_length, v_position); // Bitwise and buffer_length with cmp to get buffer_length or 0 depending on // whether read_position >= buffer length or not. Then subtract from the