]>
Commit | Line | Data |
---|---|---|
cdc7bbd5 | 1 | use crate::spec::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 XL |
11 | base.has_rpath = true; |
12 | base.linker_is_gnu = false; | |
13 | base.dynamic_linking = true; | |
416331ca | 14 | |
94222f64 XL |
15 | base.c_enum_min_bits = 8; |
16 | ||
29967ef6 | 17 | Target { |
5e7ed085 | 18 | llvm_target: "hexagon-unknown-linux-musl".into(), |
29967ef6 | 19 | pointer_width: 32, |
dfeec247 XL |
20 | data_layout: concat!( |
21 | "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32", | |
22 | ":32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32", | |
23 | ":32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048", | |
24 | ":2048:2048" | |
25 | ) | |
5e7ed085 FG |
26 | .into(), |
27 | arch: "hexagon".into(), | |
416331ca | 28 | options: base, |
29967ef6 | 29 | } |
416331ca | 30 | } |