Coverage Report

Created: 2026-06-07 07:42

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wasmtime/target/debug/build/cranelift-codegen-f6aafab48a0f8ae2/out/settings-s390x.rs
Line
Count
Source
1
#[derive(Clone, PartialEq, Hash)] // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:397
2
/// Flags group `s390x`.
3
pub struct Flags {
4
    bytes: [u8; 1], // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:400
5
}
6
impl Flags {
7
    /// Create flags s390x settings group.
8
    #[allow(unused_variables, reason = "generated code")] // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:24
9
8.14k
    pub fn new(shared: &settings::Flags, builder: &Builder) -> Self {
10
8.14k
        let bvec = builder.state_for("s390x"); // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:29
11
8.14k
        let mut s390x = Self { bytes: [0; 1] }; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:30
12
8.14k
        debug_assert_eq!(bvec.len(), 1); // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:36
13
8.14k
        s390x.bytes[0..1].copy_from_slice(&bvec); // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:41
14
8.14k
        s390x // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:48
15
8.14k
    }
16
}
17
impl Flags {
18
    /// Iterates the setting values.
19
5.40k
    pub fn iter(&self) -> impl Iterator<Item = Value> + use<> {
20
5.40k
        let mut bytes = [0; 1]; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:58
21
5.40k
        bytes.copy_from_slice(&self.bytes[0..1]); // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:59
22
54.0k
        DESCRIPTORS.iter().filter_map(move |d| {
23
54.0k
            let values = match &d.detail {
24
32.4k
                detail::Detail::Preset => return None, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:62
25
0
                detail::Detail::Enum { last, enumerators } => Some(TEMPLATE.enums(*last, *enumerators)), // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:63
26
21.6k
                _ => None // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:64
27
            }
28
            ; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:66
29
21.6k
            Some(Value { name: d.name, detail: d.detail, values, value: bytes[d.offset as usize] }) // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:67
30
54.0k
        }
31
        ) // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:69
32
5.40k
    }
33
}
34
/// User-defined settings.
35
#[allow(dead_code, reason = "generated code")] // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:183
36
impl Flags {
37
    /// Dynamic numbered predicate getter.
38
309k
    fn numbered_predicate(&self, p: usize) -> bool {
39
309k
        self.bytes[0 + p / 8] & (1 << (p % 8)) != 0 // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:188
40
309k
    }
41
    /// Has Miscellaneous-Instruction-Extensions Facility 3 support.
42
9.38k
    pub fn has_mie3(&self) -> bool {
43
9.38k
        self.numbered_predicate(0) // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:155
44
9.38k
    }
45
    /// Has Vector-Enhancements Facility 2 support.
46
176k
    pub fn has_vxrs_ext2(&self) -> bool {
47
176k
        self.numbered_predicate(1) // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:155
48
176k
    }
49
    /// Has Miscellaneous-Instruction-Extensions Facility 4 support.
50
10.4k
    pub fn has_mie4(&self) -> bool {
51
10.4k
        self.numbered_predicate(2) // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:155
52
10.4k
    }
53
    /// Has Vector-Enhancements Facility 3 support.
54
113k
    pub fn has_vxrs_ext3(&self) -> bool {
55
113k
        self.numbered_predicate(3) // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:155
56
113k
    }
57
}
58
static DESCRIPTORS: [detail::Descriptor; 10] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:224
59
    detail::Descriptor {
60
        name: "has_mie3", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:232
61
        description: "Has Miscellaneous-Instruction-Extensions Facility 3 support.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:233
62
        offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:234
63
        detail: detail::Detail::Bool { bit: 0 }, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:237
64
    }
65
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:259
66
    detail::Descriptor {
67
        name: "has_vxrs_ext2", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:232
68
        description: "Has Vector-Enhancements Facility 2 support.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:233
69
        offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:234
70
        detail: detail::Detail::Bool { bit: 1 }, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:237
71
    }
72
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:259
73
    detail::Descriptor {
74
        name: "has_mie4", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:232
75
        description: "Has Miscellaneous-Instruction-Extensions Facility 4 support.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:233
76
        offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:234
77
        detail: detail::Detail::Bool { bit: 2 }, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:237
78
    }
79
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:259
80
    detail::Descriptor {
81
        name: "has_vxrs_ext3", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:232
82
        description: "Has Vector-Enhancements Facility 3 support.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:233
83
        offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:234
84
        detail: detail::Detail::Bool { bit: 3 }, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:237
85
    }
86
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:259
87
    detail::Descriptor {
88
        name: "arch13", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:264
89
        description: "Thirteenth Edition of the z/Architecture.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:265
90
        offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:266
91
        detail: detail::Detail::Preset, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:267
92
    }
93
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:269
94
    detail::Descriptor {
95
        name: "arch14", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:264
96
        description: "Fourteenth Edition of the z/Architecture.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:265
97
        offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:266
98
        detail: detail::Detail::Preset, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:267
99
    }
100
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:269
101
    detail::Descriptor {
102
        name: "arch15", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:264
103
        description: "Fifteenth Edition of the z/Architecture.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:265
104
        offset: 2, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:266
105
        detail: detail::Detail::Preset, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:267
106
    }
107
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:269
108
    detail::Descriptor {
109
        name: "z15", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:264
110
        description: "IBM z15 processor.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:265
111
        offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:266
112
        detail: detail::Detail::Preset, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:267
113
    }
114
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:269
115
    detail::Descriptor {
116
        name: "z16", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:264
117
        description: "IBM z16 processor.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:265
118
        offset: 4, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:266
119
        detail: detail::Detail::Preset, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:267
120
    }
121
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:269
122
    detail::Descriptor {
123
        name: "z17", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:264
124
        description: "IBM z17 processor.", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:265
125
        offset: 5, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:266
126
        detail: detail::Detail::Preset, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:267
127
    }
128
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:269
129
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:275
130
static ENUMERATORS: [&str; 0] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:278
131
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:284
132
static HASH_TABLE: [u16; 16] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:294
133
    0xffff, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:306
134
    8, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
135
    0xffff, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:306
136
    0xffff, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:306
137
    7, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
138
    0xffff, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:306
139
    9, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
140
    6, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
141
    5, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
142
    0, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
143
    1, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
144
    2, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
145
    3, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
146
    4, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:298
147
    0xffff, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:306
148
    0xffff, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:306
149
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:310
150
static PRESETS: [(u8, u8); 6] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:313
151
    // arch13: has_mie3, has_vxrs_ext2
152
    (0b00000011, 0b00000011), // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:326
153
    // arch14: has_mie3, has_vxrs_ext2
154
    (0b00000011, 0b00000011), // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:326
155
    // arch15: has_mie3, has_mie4, has_vxrs_ext2, has_vxrs_ext3
156
    (0b00001111, 0b00001111), // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:326
157
    // z15: has_mie3, has_vxrs_ext2
158
    (0b00000011, 0b00000011), // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:326
159
    // z16: has_mie3, has_vxrs_ext2
160
    (0b00000011, 0b00000011), // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:326
161
    // z17: has_mie3, has_mie4, has_vxrs_ext2, has_vxrs_ext3
162
    (0b00001111, 0b00001111), // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:326
163
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:330
164
static TEMPLATE: detail::Template = detail::Template {
165
    name: "s390x", // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:345
166
    descriptors: &DESCRIPTORS, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:346
167
    enumerators: &ENUMERATORS, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:347
168
    hash_table: &HASH_TABLE, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:348
169
    defaults: &[0x00], // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:349
170
    presets: &PRESETS, // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:350
171
}
172
; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:353
173
/// Create a `settings::Builder` for the s390x settings group.
174
8.14k
pub fn builder() -> Builder {
175
8.14k
    Builder::new(&TEMPLATE) // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:360
176
8.14k
}
177
impl fmt::Display for Flags {
178
0
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
179
0
        writeln!(f, "[s390x]")?; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:369
180
0
        for d in &DESCRIPTORS {
181
0
            if !d.detail.is_preset() {
182
0
                write!(f, "{} = ", d.name)?; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:372
183
0
                TEMPLATE.format_toml_value(d.detail, self.bytes[d.offset as usize], f)?; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:373
184
0
                writeln!(f)?; // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:377
185
0
            }
186
        }
187
0
        Ok(()) // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:380
188
0
    }
189
}
190
impl Flags {
191
    /// Get the flag values as raw bytes for hashing.
192
5.32k
    pub fn hash_key(&self) -> &[u8] {
193
5.32k
        &self.bytes // /src/wasmtime/cranelift/codegen/meta/src/gen_settings.rs:390
194
5.32k
    }
195
}