cranelift_codegen_meta/isa/
s390x.rs1use crate::cdsl::isa::TargetIsa;
2use crate::cdsl::settings::SettingGroupBuilder;
3
4pub(crate) fn define() -> TargetIsa {
5 let mut settings = SettingGroupBuilder::new("s390x");
6
7 let has_mie2 = settings.add_bool(
12 "has_mie2",
13 "Has Miscellaneous-Instruction-Extensions Facility 2 support.",
14 "",
15 false,
16 );
17 let has_vxrs_ext2 = settings.add_bool(
18 "has_vxrs_ext2",
19 "Has Vector-Enhancements Facility 2 support.",
20 "",
21 false,
22 );
23
24 settings.add_preset(
26 "arch13",
27 "Thirteenth Edition of the z/Architecture.",
28 preset!(has_mie2 && has_vxrs_ext2),
29 );
30
31 settings.add_preset(
33 "z15",
34 "IBM z15 processor.",
35 preset!(has_mie2 && has_vxrs_ext2),
36 );
37
38 TargetIsa::new("s390x", settings.build())
39}