1bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org#!/usr/bin/env python 2bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 3bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org# Copyright (c) 2014 Google Inc. All rights reserved. 4bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org# Use of this source code is governed by a BSD-style license that can be 5bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org# found in the LICENSE file. 6bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 7bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org""" 8bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.orgTest VCCLCompilerTool EnableEnhancedInstructionSet setting. 9bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org""" 10bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 11bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.orgimport TestGyp 12bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 13bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.orgimport os 14bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.orgimport sys 15bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 16bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.orgif sys.platform == 'win32': 17bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org test = TestGyp.TestGyp() 18bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 19bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org CHDIR = 'compiler-flags' 20bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org test.run_gyp('enable-enhanced-instruction-set.gyp', chdir=CHDIR) 21bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 22bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org test.build('enable-enhanced-instruction-set.gyp', test.ALL, chdir=CHDIR) 23bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 24bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org test.run_built_executable('sse_extensions', chdir=CHDIR, 25bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org stdout='/arch:SSE\n') 26bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org test.run_built_executable('sse2_extensions', chdir=CHDIR, 27bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org stdout='/arch:SSE2\n') 28bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 29bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org # /arch:AVX introduced in VS2010, but MSBuild support lagged until 2012. 30bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org if os.path.exists(test.built_file_path('avx_extensions')): 31bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org test.run_built_executable('no_extensions', chdir=CHDIR, 32bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org stdout='/arch:AVX\n') 33bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 34bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org # /arch:IA32 introduced in VS2012. 35bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org if os.path.exists(test.built_file_path('no_extensions')): 36bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org test.run_built_executable('no_extensions', chdir=CHDIR, 37bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org stdout='/arch:IA32\n') 38bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org 39bc51b1c46401da3b05cffebfcb4116dc63110ca9grt@chromium.org test.pass_test() 40