Introduce a new ARMSIMDBC configuration.

This allows us to build dart binary with SIMDBC for non-Android ARM devices.

We are going to use it to measure performance.

BUG=http://dartbug.com/26421
R=zra@google.com

Review URL: https://codereview.chromium.org/1967613002 .
This commit is contained in:
Vyacheslav Egorov
2016-05-10 20:06:54 +02:00
parent bd270935a5
commit 43dc5c223d
3 changed files with 36 additions and 3 deletions
+3 -3
View File
@@ -56,7 +56,7 @@ def BuildOptions():
result.add_option("-a", "--arch",
help='Target architectures (comma-separated).',
metavar='[all,ia32,x64,simarm,arm,simarmv6,armv6,simarmv5te,armv5te,'
'simmips,mips,simarm64,arm64,simdbc,]',
'simmips,mips,simarm64,arm64,simdbc,armsimdbc]',
default=utils.GuessArchitecture())
result.add_option("--os",
help='Target OSs (comma-separated).',
@@ -103,7 +103,7 @@ def ProcessOptions(options, args):
for arch in options.arch:
archs = ['ia32', 'x64', 'simarm', 'arm', 'simarmv6', 'armv6',
'simarmv5te', 'armv5te', 'simmips', 'mips', 'simarm64', 'arm64',
'simdbc', 'simdbc64']
'simdbc', 'simdbc64', 'armsimdbc']
if not arch in archs:
print "Unknown arch %s" % arch
return False
@@ -154,7 +154,7 @@ def GetToolchainPrefix(target_os, arch, options):
'supported on Linux.')
# For ARM Linux, by default use the Linux distribution's cross-compiler.
if arch == 'arm':
if arch == 'arm' or arch == 'armsimdbc':
# To use a non-hf compiler, specify on the command line with --toolchain.
return (DEFAULT_ARM_CROSS_COMPILER_PATH + "/arm-linux-gnueabihf")
if arch == 'arm64':
+32
View File
@@ -426,6 +426,38 @@
],
},
# Special Linux-only targets to enable SIMDBC cross compilation for
# non-Android ARM devices.
'DebugXARMSIMDBC': {
'inherit_from': [
'Dart_Base', 'Dart_simdbc_Base', 'Dart_Debug',
'Dart_Linux_Base',
'Dart_Linux_xarm_Base',
'Dart_Linux_Debug',
],
'defines': [
'DEBUG',
],
},
'ReleaseXARMSIMDBC': {
'inherit_from': [
'Dart_Base', 'Dart_simdbc_Base', 'Dart_Release',
'Dart_Linux_Base',
'Dart_Linux_xarm_Base',
'Dart_Linux_Release',
],
},
'ProductXARMSIMDBC': {
'inherit_from': [
'Dart_Base', 'Dart_simdbc_Base', 'Dart_Product',
'Dart_Linux_Base',
'Dart_Linux_xarm_Base',
'Dart_Linux_Product',
],
},
# ARM and MIPS hardware configurations are only for Linux and Android.
'DebugXARM': {
'inherit_from': [
+1
View File
@@ -242,6 +242,7 @@ ARCH_FAMILY = {
'simarm64': 'ia32',
'simdbc': 'ia32',
'simdbc64': 'ia32',
'armsimdbc': 'arm',
}
ARCH_GUESS = GuessArchitecture()