From 5247070f5dc57885ed00c334fc6ce8cd09f3a28b Mon Sep 17 00:00:00 2001 From: Alessio Bazzica Date: Thu, 7 Jan 2021 13:04:00 +0100 Subject: [PATCH] RNN VAD: add missing CPU features to test FC and GRU layers Bug: webrtc:10480 Change-Id: I6c49e728ed61647b098c20a6d8a856005066ab75 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/200840 Reviewed-by: Alessio Bazzica Reviewed-by: Sam Zackrisson Commit-Queue: Alessio Bazzica Cr-Commit-Position: refs/heads/master@{#32930} --- modules/audio_processing/agc2/rnn_vad/rnn_fc_unittest.cc | 6 ++++++ .../audio_processing/agc2/rnn_vad/rnn_gru_unittest.cc | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/audio_processing/agc2/rnn_vad/rnn_fc_unittest.cc b/modules/audio_processing/agc2/rnn_vad/rnn_fc_unittest.cc index 3074b34335..ff9bb18bc2 100644 --- a/modules/audio_processing/agc2/rnn_vad/rnn_fc_unittest.cc +++ b/modules/audio_processing/agc2/rnn_vad/rnn_fc_unittest.cc @@ -89,6 +89,12 @@ std::vector GetCpuFeaturesToTest() { if (available.sse2) { v.push_back({/*sse2=*/true, /*avx2=*/false, /*neon=*/false}); } + if (available.avx2) { + v.push_back({/*sse2=*/false, /*avx2=*/true, /*neon=*/false}); + } + if (available.neon) { + v.push_back({/*sse2=*/false, /*avx2=*/false, /*neon=*/true}); + } return v; } diff --git a/modules/audio_processing/agc2/rnn_vad/rnn_gru_unittest.cc b/modules/audio_processing/agc2/rnn_vad/rnn_gru_unittest.cc index f9b712554f..88ae72803a 100644 --- a/modules/audio_processing/agc2/rnn_vad/rnn_gru_unittest.cc +++ b/modules/audio_processing/agc2/rnn_vad/rnn_gru_unittest.cc @@ -159,13 +159,16 @@ TEST_P(RnnGruParametrization, DISABLED_BenchmarkGatedRecurrentLayer) { // Finds the relevant CPU features combinations to test. std::vector GetCpuFeaturesToTest() { std::vector v; - AvailableCpuFeatures available = GetAvailableCpuFeatures(); v.push_back(NoAvailableCpuFeatures()); + AvailableCpuFeatures available = GetAvailableCpuFeatures(); + if (available.sse2) { + v.push_back({/*sse2=*/true, /*avx2=*/false, /*neon=*/false}); + } if (available.avx2) { v.push_back({/*sse2=*/false, /*avx2=*/true, /*neon=*/false}); } - if (available.sse2) { - v.push_back({/*sse2=*/true, /*avx2=*/false, /*neon=*/false}); + if (available.neon) { + v.push_back({/*sse2=*/false, /*avx2=*/false, /*neon=*/true}); } return v; }