32 lines
1.5 KiB
Diff
32 lines
1.5 KiB
Diff
From 051a6f6f3fe71602d4c13aa8f3cda40cd3c7484d Mon Sep 17 00:00:00 2001
|
|
From: Jose Dapena Paz <jdapena@igalia.com>
|
|
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 <rtoy@chromium.org>
|
|
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
|
|
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
|