xref: /aosp_15_r20/external/cronet/build/config/mips.gni (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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