/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 | | } |