]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/mipsel_unknown_none.rs
Rollup merge of #80567 - lukaslueg:intersperse_with, r=m-ou-se
[rust.git] / compiler / rustc_target / src / spec / mipsel_unknown_none.rs
1 //! Bare MIPS32r2, little endian, softfloat, O32 calling convention
2 //!
3 //! Can be used for MIPS M4K core (e.g. on PIC32MX devices)
4
5 use crate::spec::abi::Abi;
6 use crate::spec::{LinkerFlavor, LldFlavor, RelocModel};
7 use crate::spec::{PanicStrategy, Target, TargetOptions};
8
9 pub fn target() -> Target {
10     Target {
11         llvm_target: "mipsel-unknown-none".to_string(),
12         pointer_width: 32,
13         data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
14         arch: "mips".to_string(),
15
16         options: TargetOptions {
17             linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
18             cpu: "mips32r2".to_string(),
19             features: "+mips32r2,+soft-float,+noabicalls".to_string(),
20             max_atomic_width: Some(32),
21             executables: true,
22             linker: Some("rust-lld".to_owned()),
23             panic_strategy: PanicStrategy::Abort,
24             relocation_model: RelocModel::Static,
25             unsupported_abis: vec![
26                 Abi::Stdcall,
27                 Abi::Fastcall,
28                 Abi::Vectorcall,
29                 Abi::Thiscall,
30                 Abi::Win64,
31                 Abi::SysV64,
32             ],
33             emit_debug_gdb_scripts: false,
34             ..Default::default()
35         },
36     }
37 }