1*6777b538SAndroid Build Coastguard Worker# Copyright 2015 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//build/config/v8_target_cpu.gni") 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker# These are primarily relevant in current_cpu == "mips*" contexts, where 8*6777b538SAndroid Build Coastguard Worker# MIPS code is being compiled. But they can also be relevant in the 9*6777b538SAndroid Build Coastguard Worker# other contexts when the code will change its behavior based on the 10*6777b538SAndroid Build Coastguard Worker# cpu it wants to generate code for. 11*6777b538SAndroid Build Coastguard Workerdeclare_args() { 12*6777b538SAndroid Build Coastguard Worker # MIPS MultiMedia Instruction compilation flag. 13*6777b538SAndroid Build Coastguard Worker mips_use_mmi = false 14*6777b538SAndroid Build Coastguard Worker} 15*6777b538SAndroid Build Coastguard Worker 16*6777b538SAndroid Build Coastguard Workerif (current_cpu == "mipsel" || v8_current_cpu == "mipsel" || 17*6777b538SAndroid Build Coastguard Worker current_cpu == "mips" || v8_current_cpu == "mips") { 18*6777b538SAndroid Build Coastguard Worker declare_args() { 19*6777b538SAndroid Build Coastguard Worker # MIPS arch variant. Possible values are: 20*6777b538SAndroid Build Coastguard Worker # "r1" 21*6777b538SAndroid Build Coastguard Worker # "r2" 22*6777b538SAndroid Build Coastguard Worker # "r6" 23*6777b538SAndroid Build Coastguard Worker # "loongson3" 24*6777b538SAndroid Build Coastguard Worker mips_arch_variant = "r1" 25*6777b538SAndroid Build Coastguard Worker 26*6777b538SAndroid Build Coastguard Worker # MIPS DSP ASE revision. Possible values are: 27*6777b538SAndroid Build Coastguard Worker # 0: unavailable 28*6777b538SAndroid Build Coastguard Worker # 1: revision 1 29*6777b538SAndroid Build Coastguard Worker # 2: revision 2 30*6777b538SAndroid Build Coastguard Worker mips_dsp_rev = 0 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker # MIPS SIMD Arch compilation flag. 33*6777b538SAndroid Build Coastguard Worker mips_use_msa = false 34*6777b538SAndroid Build Coastguard Worker 35*6777b538SAndroid Build Coastguard Worker # MIPS floating-point ABI. Possible values are: 36*6777b538SAndroid Build Coastguard Worker # "hard": sets the GCC -mhard-float option. 37*6777b538SAndroid Build Coastguard Worker # "soft": sets the GCC -msoft-float option. 38*6777b538SAndroid Build Coastguard Worker mips_float_abi = "hard" 39*6777b538SAndroid Build Coastguard Worker 40*6777b538SAndroid Build Coastguard Worker # MIPS32 floating-point register width. Possible values are: 41*6777b538SAndroid Build Coastguard Worker # "fp32": sets the GCC -mfp32 option. 42*6777b538SAndroid Build Coastguard Worker # "fp64": sets the GCC -mfp64 option. 43*6777b538SAndroid Build Coastguard Worker # "fpxx": sets the GCC -mfpxx option. 44*6777b538SAndroid Build Coastguard Worker mips_fpu_mode = "fp32" 45*6777b538SAndroid Build Coastguard Worker } 46*6777b538SAndroid Build Coastguard Worker} else if (current_cpu == "mips64el" || v8_current_cpu == "mips64el" || 47*6777b538SAndroid Build Coastguard Worker current_cpu == "mips64" || v8_current_cpu == "mips64") { 48*6777b538SAndroid Build Coastguard Worker # MIPS arch variant. Possible values are: 49*6777b538SAndroid Build Coastguard Worker # "r2" 50*6777b538SAndroid Build Coastguard Worker # "r6" 51*6777b538SAndroid Build Coastguard Worker # "loongson3" 52*6777b538SAndroid Build Coastguard Worker if (current_os == "android" || target_os == "android") { 53*6777b538SAndroid Build Coastguard Worker declare_args() { 54*6777b538SAndroid Build Coastguard Worker mips_arch_variant = "r6" 55*6777b538SAndroid Build Coastguard Worker 56*6777b538SAndroid Build Coastguard Worker # MIPS SIMD Arch compilation flag. 57*6777b538SAndroid Build Coastguard Worker mips_use_msa = true 58*6777b538SAndroid Build Coastguard Worker } 59*6777b538SAndroid Build Coastguard Worker } else { 60*6777b538SAndroid Build Coastguard Worker declare_args() { 61*6777b538SAndroid Build Coastguard Worker mips_arch_variant = "r2" 62*6777b538SAndroid Build Coastguard Worker 63*6777b538SAndroid Build Coastguard Worker # MIPS SIMD Arch compilation flag. 64*6777b538SAndroid Build Coastguard Worker mips_use_msa = false 65*6777b538SAndroid Build Coastguard Worker } 66*6777b538SAndroid Build Coastguard Worker } 67*6777b538SAndroid Build Coastguard Worker} 68