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

Side by Side Diff: build/toolchain.gypi

Issue 863633002: Use signaling NaN for holes in fixed double arrays. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Restore SSE2 Created 5 years, 11 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
« no previous file with comments | « no previous file | src/arm/simulator-arm.cc » ('j') | src/hydrogen-instructions.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2013 the V8 project authors. All rights reserved. 1 # Copyright 2013 the V8 project authors. All rights reserved.
2 # Redistribution and use in source and binary forms, with or without 2 # Redistribution and use in source and binary forms, with or without
3 # modification, are permitted provided that the following conditions are 3 # modification, are permitted provided that the following conditions are
4 # met: 4 # met:
5 # 5 #
6 # * Redistributions of source code must retain the above copyright 6 # * Redistributions of source code must retain the above copyright
7 # notice, this list of conditions and the following disclaimer. 7 # notice, this list of conditions and the following disclaimer.
8 # * Redistributions in binary form must reproduce the above 8 # * Redistributions in binary form must reproduce the above
9 # copyright notice, this list of conditions and the following 9 # copyright notice, this list of conditions and the following
10 # disclaimer in the documentation and/or other materials provided 10 # disclaimer in the documentation and/or other materials provided
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 [ 'arm_thumb==1', { 222 [ 'arm_thumb==1', {
223 'cflags': ['-mthumb',], 223 'cflags': ['-mthumb',],
224 }], 224 }],
225 [ 'arm_thumb==0', { 225 [ 'arm_thumb==0', {
226 'cflags': ['-marm',], 226 'cflags': ['-marm',],
227 }], 227 }],
228 ], 228 ],
229 }, { 229 }, {
230 # 'v8_target_arch!=target_arch' 230 # 'v8_target_arch!=target_arch'
231 # Target not built with an Arm CXX compiler (simulator build). 231 # Target not built with an Arm CXX compiler (simulator build).
232 'cflags': [
233 '-msse2',
234 '-mfpmath=sse',
235 '-mmmx', # Allows mmintrin.h for MMX intrinsics.
236 ],
232 'conditions': [ 237 'conditions': [
233 [ 'arm_float_abi=="hard"', { 238 [ 'arm_float_abi=="hard"', {
234 'defines': [ 239 'defines': [
235 'USE_EABI_HARDFLOAT=1', 240 'USE_EABI_HARDFLOAT=1',
236 ], 241 ],
237 }], 242 }],
238 [ 'arm_float_abi=="softfp" or arm_float_abi=="default"', { 243 [ 'arm_float_abi=="softfp" or arm_float_abi=="default"', {
239 'defines': [ 244 'defines': [
240 'USE_EABI_HARDFLOAT=0', 245 'USE_EABI_HARDFLOAT=0',
241 ], 246 ],
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
811 ['OS=="win" and v8_enable_prof==1', { 816 ['OS=="win" and v8_enable_prof==1', {
812 'msvs_settings': { 817 'msvs_settings': {
813 'VCLinkerTool': { 818 'VCLinkerTool': {
814 'GenerateMapFile': 'true', 819 'GenerateMapFile': 'true',
815 }, 820 },
816 }, 821 },
817 }], 822 }],
818 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ 823 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
819 or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ 824 or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \
820 v8_target_arch=="ia32"', { 825 v8_target_arch=="ia32"', {
821 # All floating-point computations on x87 happens in 80-bit
822 # precision. Because the C and C++ language standards allow
823 # the compiler to keep the floating-point values in higher
824 # precision than what's specified in the source and doing so
825 # is more efficient than constantly rounding up to 64-bit or
826 # 32-bit precision as specified in the source, the compiler,
827 # especially in the optimized mode, tries very hard to keep
828 # values in x87 floating-point stack (in 80-bit precision)
829 # as long as possible. This has important side effects, that
830 # the real value used in computation may change depending on
831 # how the compiler did the optimization - that is, the value
832 # kept in 80-bit is different than the value rounded down to
833 # 64-bit or 32-bit. There are possible compiler options to
834 # make this behavior consistent (e.g. -ffloat-store would keep
835 # all floating-values in the memory, thus force them to be
836 # rounded to its original precision) but they have significant
837 # runtime performance penalty.
838 #
839 # -mfpmath=sse -msse2 makes the compiler use SSE instructions
840 # which keep floating-point values in SSE registers in its
841 # native precision (32-bit for single precision, and 64-bit
842 # for double precision values). This means the floating-point
843 # value used during computation does not change depending on
844 # how the compiler optimized the code, since the value is
845 # always kept in its specified precision.
846 #
847 # Refer to http://crbug.com/348761 for rationale behind SSE2
848 # being a minimum requirement for 32-bit Linux builds and
849 # http://crbug.com/313032 for an example where this has "bit"
850 # us in the past.
851 'cflags': [ 826 'cflags': [
852 '-msse2', 827 '-msse2',
853 '-mfpmath=sse', 828 '-mfpmath=sse',
854 '-mmmx', # Allows mmintrin.h for MMX intrinsics. 829 '-mmmx', # Allows mmintrin.h for MMX intrinsics.
855 ], 830 ],
856 }], 831 }],
857 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ 832 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
858 or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ 833 or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \
859 (v8_target_arch=="arm" or v8_target_arch=="ia32" or \ 834 (v8_target_arch=="arm" or v8_target_arch=="ia32" or \
860 v8_target_arch=="x87" or v8_target_arch=="mips" or \ 835 v8_target_arch=="x87" or v8_target_arch=="mips" or \
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
1172 ['v8_enable_slow_dchecks==1', { 1147 ['v8_enable_slow_dchecks==1', {
1173 'defines': [ 1148 'defines': [
1174 'ENABLE_SLOW_DCHECKS', 1149 'ENABLE_SLOW_DCHECKS',
1175 ], 1150 ],
1176 }], 1151 }],
1177 ], # conditions 1152 ], # conditions
1178 }, # Release 1153 }, # Release
1179 }, # configurations 1154 }, # configurations
1180 }, # target_defaults 1155 }, # target_defaults
1181 } 1156 }
OLDNEW
« no previous file with comments | « no previous file | src/arm/simulator-arm.cc » ('j') | src/hydrogen-instructions.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698