X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_emitter.c;h=8e1fa6e9ff850d21e65ca907bf0a052e11d6d894;hb=5bcc37fbde7eff9cc2c122d56025baa7108b26d0;hp=e6b866d69d9a9dd3addcca201ac88225c00a2c08;hpb=a7e0ed28c9cd8eed5d7acb618439ade207718bf4;p=libfirm diff --git a/ir/be/ia32/ia32_emitter.c b/ir/be/ia32/ia32_emitter.c index e6b866d69..8e1fa6e9f 100644 --- a/ir/be/ia32/ia32_emitter.c +++ b/ir/be/ia32/ia32_emitter.c @@ -293,7 +293,9 @@ static int ia32_get_mode_suffix(lc_appendable_t *app, ir_mode *mode = get_irn_mode(irn); if (mode == mode_T) { - mode = (is_ia32_Ld(irn) || is_ia32_St(irn)) ? get_ia32_ls_mode(irn) : get_ia32_res_mode(irn); + mode = get_ia32_res_mode(irn); + if (! mode) + mode = get_ia32_ls_mode(irn); } if (! irn) @@ -587,7 +589,7 @@ const char *ia32_emit_am(const ir_node *n, ia32_emit_env_t *env) { /* obstack_free with NULL results in an uninitialized obstack */ obstack_init(obst); - p = pointer_size(mode, has_x87_register(n)); + p = pointer_size(mode, has_x87_register(n) || is_ia32_GetST0(n) || is_ia32_SetST0(n)); if (p) obstack_printf(obst, "%s ", p);