Add new Tier-3 targets: loongarch64-unknown-none*
MCP: https://github.com/rust-lang/compiler-team/issues/628
This commit is contained in:
parent
42f28f9eb4
commit
bd32075934
6 changed files with 132 additions and 0 deletions
23
compiler/rustc_target/src/spec/loongarch64_unknown_none.rs
Normal file
23
compiler/rustc_target/src/spec/loongarch64_unknown_none.rs
Normal file
|
@ -0,0 +1,23 @@
|
|||
use super::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy};
|
||||
use super::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "loongarch64-unknown-none".into(),
|
||||
pointer_width: 64,
|
||||
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".into(),
|
||||
arch: "loongarch64".into(),
|
||||
options: TargetOptions {
|
||||
cpu: "generic".into(),
|
||||
features: "+f,+d".into(),
|
||||
linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::No),
|
||||
llvm_abiname: "lp64d".into(),
|
||||
max_atomic_width: Some(64),
|
||||
position_independent_executables: true,
|
||||
static_position_independent_executables: true,
|
||||
panic_strategy: PanicStrategy::Abort,
|
||||
code_model: Some(CodeModel::Small),
|
||||
..Default::default()
|
||||
},
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
use super::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy};
|
||||
use super::{Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "loongarch64-unknown-none-softfloat".into(),
|
||||
pointer_width: 64,
|
||||
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".into(),
|
||||
arch: "loongarch64".into(),
|
||||
options: TargetOptions {
|
||||
cpu: "generic".into(),
|
||||
features: "-f,-d".into(),
|
||||
abi: "softfloat".into(),
|
||||
linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::No),
|
||||
llvm_abiname: "lp64s".into(),
|
||||
max_atomic_width: Some(64),
|
||||
position_independent_executables: true,
|
||||
static_position_independent_executables: true,
|
||||
panic_strategy: PanicStrategy::Abort,
|
||||
code_model: Some(CodeModel::Small),
|
||||
..Default::default()
|
||||
},
|
||||
}
|
||||
}
|
|
@ -1293,6 +1293,9 @@ supported_targets! {
|
|||
("riscv64gc-unknown-linux-gnu", riscv64gc_unknown_linux_gnu),
|
||||
("riscv64gc-unknown-linux-musl", riscv64gc_unknown_linux_musl),
|
||||
|
||||
("loongarch64-unknown-none", loongarch64_unknown_none),
|
||||
("loongarch64-unknown-none-softfloat", loongarch64_unknown_none_softfloat),
|
||||
|
||||
("aarch64-unknown-none", aarch64_unknown_none),
|
||||
("aarch64-unknown-none-softfloat", aarch64_unknown_none_softfloat),
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue