]>
Commit | Line | Data |
---|---|---|
2b03887a | 1 | use crate::spec::{Cc, LinkerFlavor, Target}; |
416331ca | 2 | |
29967ef6 | 3 | pub fn target() -> Target { |
416331ca | 4 | let mut base = super::linux_musl_base::opts(); |
5e7ed085 | 5 | base.cpu = "hexagonv60".into(); |
416331ca | 6 | base.max_atomic_width = Some(32); |
dfeec247 | 7 | // FIXME: HVX length defaults are per-CPU |
5e7ed085 | 8 | base.features = "-small-data,+hvx-length128b".into(); |
416331ca XL |
9 | |
10 | base.crt_static_default = false; | |
416331ca | 11 | base.has_rpath = true; |
2b03887a | 12 | base.linker_flavor = LinkerFlavor::Unix(Cc::Yes); |
416331ca | 13 | |
9ffffee4 | 14 | base.c_enum_min_bits = Some(8); |
94222f64 | 15 | |
29967ef6 | 16 | Target { |
5e7ed085 | 17 | llvm_target: "hexagon-unknown-linux-musl".into(), |
29967ef6 | 18 | pointer_width: 32, |
dfeec247 XL |
19 | data_layout: concat!( |
20 | "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32", | |
21 | ":32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32", | |
22 | ":32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048", | |
23 | ":2048:2048" | |
24 | ) | |
5e7ed085 FG |
25 | .into(), |
26 | arch: "hexagon".into(), | |
416331ca | 27 | options: base, |
29967ef6 | 28 | } |
416331ca | 29 | } |