From 8a9280a54fb1f1df9bc4cd485201ec7caba352a9 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Wed, 30 May 2007 22:26:30 +0000 Subject: [PATCH] preliminary emitter for ASM nodes [r14205] --- ir/be/ia32/ia32_emitter.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ir/be/ia32/ia32_emitter.c b/ir/be/ia32/ia32_emitter.c index d9fcda993..cfbe00eb5 100644 --- a/ir/be/ia32/ia32_emitter.c +++ b/ir/be/ia32/ia32_emitter.c @@ -1311,6 +1311,20 @@ void emit_Jmp(ia32_emit_env_t *env, const ir_node *node) { be_emit_finish_line_gas(env, node); } +/** + * Emits code for an ASM pseudo op. + */ +static +void emit_ASM(ia32_emit_env_t *env, const ir_node *node) { + /* for now, really simple */ + const char *s = get_ASM_text(node); + + if (s[0] != '\t') + be_emit_cstring(env, "\t"); + be_emit_string(env, s); + be_emit_finish_line_gas(env, node); +} + /********************************** * _____ ____ * / ____| | _ \ @@ -1818,6 +1832,7 @@ void ia32_register_emitters(void) { /* firm emitter */ EMIT(Jmp); + EMIT(ASM); IGN(Proj); IGN(Phi); IGN(Start); -- 2.20.1