From 0b3c9052a870e79ebf34970904cdbbdc5de10d77 Mon Sep 17 00:00:00 2001
From: Tom Finegan <tomfinegan@google.com>
Date: Tue, 14 Feb 2017 11:04:56 -0800
Subject: [PATCH] Correct cmake intrinsic flag translation.

MSVC only. Use the AVX/AVX2 flags only for AVX and AVX2. Ignore
the SSE flags since they're not needed with MSVC.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I0f3ac40ffb1f9c53a16272f0781df176317732f6
---
 build/cmake/aom_optimization.cmake | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/build/cmake/aom_optimization.cmake b/build/cmake/aom_optimization.cmake
index ce51e1bbff..b71217d3c7 100644
--- a/build/cmake/aom_optimization.cmake
+++ b/build/cmake/aom_optimization.cmake
@@ -12,13 +12,13 @@
 # Translate $flag to one which MSVC understands, and write the new flag to the
 # variable named by $translated_flag (or unset it, when MSVC needs no flag).
 function (get_msvc_intrinsic_flag flag translated_flag)
-  if ("${flag}" STREQUAL "-msse2")
-    # MSVC does not require a flag for SSE2 (as of MSVS 14).
-    unset(${translated_flag} PARENT_SCOPE)
+  if ("${flag}" STREQUAL "-mavx")
+    set(${translated_flag} "/arch:AVX" PARENT_SCOPE)
   elseif ("${flag}" STREQUAL "-mavx2")
     set(${translated_flag} "/arch:AVX2" PARENT_SCOPE)
   else ()
-    set(${translated_flag} "/arch:AVX" PARENT_SCOPE)
+    # MSVC does not need flags for intrinsics flavors other than AVX/AVX2.
+    unset(${translated_flag} PARENT_SCOPE)
   endif ()
 endfunction ()
 
-- 
GitLab