Sha256: e2b4bcf76a34d66f5f2b33d0eec8db0ecc4af55da779edeb2024e6c3d524485c

Contents?: true

Size: 1.25 KB

Versions: 12

Compression:

Stored size: 1.25 KB

Contents

use crate::cdsl::isa::TargetIsa;
use crate::cdsl::settings::{SettingGroup, SettingGroupBuilder};

use crate::shared::Definitions as SharedDefinitions;

fn define_settings(_shared: &SettingGroup) -> SettingGroup {
    let mut settings = SettingGroupBuilder::new("s390x");

    // The baseline architecture for cranelift is z14 (arch12),
    // so we list only facilities of later processors here.

    // z15 (arch13) facilities
    let has_mie2 = settings.add_bool(
        "has_mie2",
        "Has Miscellaneous-Instruction-Extensions Facility 2 support.",
        "",
        false,
    );
    let has_vxrs_ext2 = settings.add_bool(
        "has_vxrs_ext2",
        "Has Vector-Enhancements Facility 2 support.",
        "",
        false,
    );

    // Architecture level presets
    settings.add_preset(
        "arch13",
        "Thirteenth Edition of the z/Architecture.",
        preset!(has_mie2 && has_vxrs_ext2),
    );

    // Processor presets
    settings.add_preset(
        "z15",
        "IBM z15 processor.",
        preset!(has_mie2 && has_vxrs_ext2),
    );

    settings.build()
}

pub(crate) fn define(shared_defs: &mut SharedDefinitions) -> TargetIsa {
    let settings = define_settings(&shared_defs.settings);

    TargetIsa::new("s390x", settings)
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
wasmtime-11.0.0 ./ext/cargo-vendor/cranelift-codegen-meta-0.98.1/src/isa/s390x.rs
wasmtime-10.0.1 ./ext/cargo-vendor/cranelift-codegen-meta-0.97.1/src/isa/s390x.rs
wasmtime-10.0.0 ./ext/cargo-vendor/cranelift-codegen-meta-0.97.1/src/isa/s390x.rs
wasmtime-9.0.4 ./ext/cargo-vendor/cranelift-codegen-meta-0.96.4/src/isa/s390x.rs
wasmtime-9.0.1 ./ext/cargo-vendor/cranelift-codegen-meta-0.96.1/src/isa/s390x.rs
wasmtime-8.0.0 ./ext/cargo-vendor/cranelift-codegen-meta-0.95.0/src/isa/s390x.rs
wasmtime-7.0.0 ./ext/cargo-vendor/cranelift-codegen-meta-0.94.0/src/isa/s390x.rs
wasmtime-6.0.1 ./ext/cargo-vendor/cranelift-codegen-meta-0.93.1/src/isa/s390x.rs
wasmtime-6.0.0 ./ext/cargo-vendor/cranelift-codegen-meta-0.93.0/src/isa/s390x.rs
wasmtime-5.0.0 ./ext/cargo-vendor/cranelift-codegen-meta-0.92.0/src/isa/s390x.rs
wasmtime-0.4.1 ./ext/cargo-vendor/cranelift-codegen-meta-0.91.0/src/isa/s390x.rs
wasmtime-0.4.0 ./ext/cargo-vendor/cranelift-codegen-meta-0.91.0/src/isa/s390x.rs