Lines Matching refs:push_str
108 rust.push_str("pub fn print(inst: &RawInst) -> String {\n"); in generate_rust()
109 rust.push_str("match inst {\n"); in generate_rust()
118 format_string.push_str(inst.snake_name); in generate_rust()
122 pat.push_str(name); in generate_rust()
123 pat.push_str(","); in generate_rust()
126 format_string.push_str(","); in generate_rust()
130 format_string.push_str(" {"); in generate_rust()
131 format_string.push_str(name); in generate_rust()
132 format_string.push_str(":?}"); in generate_rust()
136 format_string.push_str(" {"); in generate_rust()
137 format_string.push_str(name); in generate_rust()
138 format_string.push_str("}"); in generate_rust()
141 locals.push_str(&format!("let {name} = reg_name(*{name}.to_reg());\n")); in generate_rust()
143 locals.push_str(&format!("let {name} = reg_name(**{name});\n")); in generate_rust()
148 pat.push_str(name); in generate_rust()
149 pat.push_str(","); in generate_rust()
150 format_string.push_str(&format!(" // trap={{{name}:?}}")); in generate_rust()
153 pat.push_str("dst, src1, src2,"); in generate_rust()
154 format_string.push_str(" {dst}, {src1}, {src2}"); in generate_rust()
155 locals.push_str(&format!("let dst = reg_name(*dst.to_reg());\n")); in generate_rust()
156 locals.push_str(&format!("let src1 = reg_name(**src1);\n")); in generate_rust()
158 locals.push_str(&format!("let src2 = reg_name(**src2);\n")); in generate_rust()
164 rust.push_str(&format!( in generate_rust()
173 rust.push_str("}\n"); in generate_rust()
174 rust.push_str("}\n"); in generate_rust()
177 rust.push_str( in generate_rust()
180 rust.push_str("match inst {\n"); in generate_rust()
202 pat.push_str(name); in generate_rust()
203 pat.push_str(","); in generate_rust()
206 pat.push_str(name); in generate_rust()
207 pat.push_str(","); in generate_rust()
213 pat.push_str(name); in generate_rust()
214 pat.push_str(","); in generate_rust()
219 pat.push_str("dst, src1,"); in generate_rust()
223 pat.push_str("src2,"); in generate_rust()
243 rust.push_str(&format!( in generate_rust()
253 rust.push_str("}\n"); in generate_rust()
254 rust.push_str("}\n"); in generate_rust()
257 rust.push_str("pub fn emit<P>(inst: &RawInst, sink: &mut MachBuffer<InstAndKind<P>>)\n"); in generate_rust()
258 rust.push_str(" where P: PulleyTargetKind,\n"); in generate_rust()
259 rust.push_str("{\n"); in generate_rust()
260 rust.push_str("match *inst {\n"); in generate_rust()
275 pat.push_str(name); in generate_rust()
276 pat.push_str(","); in generate_rust()
278 args.push_str(name); in generate_rust()
279 args.push_str(","); in generate_rust()
282 pat.push_str(name); in generate_rust()
283 pat.push_str(","); in generate_rust()
284 trap.push_str(&format!("sink.add_trap({name});\n")); in generate_rust()
287 pat.push_str("dst, src1, src2,"); in generate_rust()
288 args.push_str( in generate_rust()
295 rust.push_str(&format!( in generate_rust()
304 rust.push_str("}\n"); in generate_rust()
305 rust.push_str("}\n"); in generate_rust()
315 isle.push_str("(type RawInst (enum\n"); in generate_isle()
320 isle.push_str(" ("); in generate_isle()
321 isle.push_str(inst.name); in generate_isle()
325 isle.push_str(&format!("\n ({name} {ty})")); in generate_isle()
328 isle.push_str(&format!("\n ({name} Writable{ty})")); in generate_isle()
331 isle.push_str(&format!("\n (dst Writable{dst})")); in generate_isle()
332 isle.push_str(&format!("\n (src1 {src1})")); in generate_isle()
333 isle.push_str(&format!("\n (src2 {src2})")); in generate_isle()
337 isle.push_str(")\n"); in generate_isle()
339 isle.push_str("))\n"); in generate_isle()
353 isle.push_str(&format!("(decl pulley_{snake_name} (")); in generate_isle()
354 rule.push_str(&format!("(rule (pulley_{snake_name} ")); in generate_isle()
360 isle.push_str(ty); in generate_isle()
361 rule.push_str(name); in generate_isle()
368 isle.push_str(&format!("{src1} {src2}")); in generate_isle()
369 rule.push_str("src1 src2"); in generate_isle()
375 isle.push_str(" "); in generate_isle()
376 rule.push_str(" "); in generate_isle()
378 isle.push_str(") "); in generate_isle()
379 rule.push_str(")"); in generate_isle()
383 isle.push_str(result); in generate_isle()
384 rule.push_str(&format!( in generate_isle()
396 isle.push_str("ValueRegs"); in generate_isle()
397 rule.push_str(&format!( in generate_isle()
411 isle.push_str("SideEffectNoResult"); in generate_isle()
412 rule.push_str(&format!( in generate_isle()
418 isle.push_str(")\n"); in generate_isle()
420 isle.push_str(&rule); in generate_isle()