Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: tests/simd/nacl.scons

Issue 222483002: PNaCl: Test support for GCC/LLVM vector extensions (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: Update pnacl/COMPONENT_REVISIONS to pull in the LLVM change that adds vector extensions, and use FE… Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # -*- python -*- 1 # -*- python -*-
2 # Copyright (c) 2014 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2014 The Native Client Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 Import('env') 6 Import('env')
7 7
8 def AddTest(env, src, exit_status='0', golden_file=None, test_suffix='', 8 def AddTest(env, src, exit_status='0', golden_file=None, test_suffix='',
9 is_broken=False, compile_env=None, link_env=None, 9 is_broken=False, compile_env=None, link_env=None,
10 EXTRA_LIBS=[]): 10 EXTRA_LIBS=[]):
11 name = src.split('.')[0] + test_suffix 11 name = src.split('.')[0] + test_suffix
12 12
13 compile_env = compile_env or env 13 compile_env = compile_env or env
14 link_env = link_env or env 14 link_env = link_env or env
15 15
16 obj = compile_env.ComponentObject(name, src) 16 obj = compile_env.ComponentObject(name, src)
17 nexe = link_env.ComponentProgram( 17 nexe = link_env.ComponentProgram(
18 name, obj, EXTRA_LIBS=['${NONIRT_LIBS}'] + EXTRA_LIBS) 18 name, obj, EXTRA_LIBS=['${NONIRT_LIBS}'] + EXTRA_LIBS)
19 node = env.CommandSelLdrTestNacl( 19 node = env.CommandSelLdrTestNacl(
20 name + '.out', nexe, exit_status=exit_status, 20 name + '.out', nexe, exit_status=exit_status,
21 stdout_golden=golden_file) 21 stdout_golden=golden_file)
22 env.AddNodeToTestSuite( 22 env.AddNodeToTestSuite(
23 node, ['toolchain_tests', 'small_tests'], 'run_' + name + '_test', 23 node, ['toolchain_tests', 'small_tests'], 'run_' + name + '_test',
24 is_broken=is_broken) 24 is_broken=is_broken)
25 25
26 c_flags = ['-std=gnu99']
26 cxx_flags = (['-Wc++11-narrowing', '-std=gnu++11'] 27 cxx_flags = (['-Wc++11-narrowing', '-std=gnu++11']
27 if env.Bit('bitcode') else ['-std=gnu++0x']) 28 if env.Bit('bitcode') else ['-std=gnu++0x'])
28 29
29 native_env = env.Clone() 30 native_env = env.Clone()
30 if env.Bit('bitcode'): 31 if env.Bit('bitcode'):
31 native_flags = [] 32 native_flags = []
32 elif env.Bit('target_x86_32'): 33 elif env.Bit('target_x86_32'):
33 native_flags = ['-msse2', '-msse3', '-msse4'] 34 native_flags = ['-msse2', '-msse3', '-msse4']
34 elif env.Bit('target_x86_64'): 35 elif env.Bit('target_x86_64'):
35 native_flags = ['-msse2', '-msse3', '-msse4'] 36 native_flags = ['-msse2', '-msse3', '-msse4']
36 elif env.Bit('target_arm'): 37 elif env.Bit('target_arm'):
37 native_flags = ['--target=armv7a-unknown-nacl-gnueabi','-mfloat-abi=hard'] 38 native_flags = ['--target=armv7a-unknown-nacl-gnueabi','-mfloat-abi=hard']
38 elif env.Bit('target_mips32'): 39 elif env.Bit('target_mips32'):
39 native_flags = [] 40 native_flags = []
40 native_env.Append(CCFLAGS=native_flags + cxx_flags) 41 native_env.Append(CFLAGS=c_flags)
42 native_env.Append(CXXFLAGS=cxx_flags)
43 native_env.Append(CCFLAGS=native_flags)
41 44
42 ref_env = env.Clone() 45 ref_env = env.Clone()
43 ref_flags = ['-DVREFIMPL'] 46 ref_flags = ['-DVREFIMPL']
44 ref_env.Append(CCFLAGS=ref_flags + cxx_flags) 47 ref_env.Append(CFLAGS=c_flags)
48 ref_env.Append(CXXFLAGS=cxx_flags)
49 ref_env.Append(CCFLAGS=ref_flags)
45 50
46 # TODO(jfb): The native environment currently doesn't compile. 51 # TODO(jfb): The native environment currently doesn't compile.
47 if env.Bit('bitcode'): 52 if env.Bit('bitcode'):
48 AddTest(native_env, 'simd.cc', test_suffix='_native') 53 AddTest(native_env, 'simd.cc', test_suffix='_native')
49 AddTest(ref_env, 'simd.cc', test_suffix='_ref') 54 AddTest(ref_env, 'simd.cc', test_suffix='_ref')
55
56 # GCC 4.4 doesn't support all features of the vector extensions in C.
57 # TODO(jfb) Re-enable testing when we migrate to a newer GCC.
58 if env.Bit('bitcode') and env['TOOLCHAIN_FEATURE_VERSION'] >= 5:
59 AddTest(ref_env, 'vector_extension.c',
60 golden_file=ref_env.File('vector_extension.stdout'))
OLDNEW
« no previous file with comments | « pnacl/build.sh ('k') | tests/simd/vector_extension.c » ('j') | tests/simd/vector_extension.c » ('J')

Powered by Google App Engine
This is Rietveld 408576698