Implement bemit_call() with AM.
[libfirm] / ir / be / ia32 / ia32_emitter.c
index 25124dd..0bff123 100644 (file)
@@ -2827,7 +2827,12 @@ static void bemit_call(const ir_node *node)
                bemit8(0xE8);
                bemit_immediate(proc, true);
        } else {
-               panic("indirect call NIY");
+               bemit8(0xFF);
+               if (get_ia32_op_type(node) == ia32_Normal) {
+                       bemit_modru(get_in_reg(node, n_ia32_unary_op), 2);
+               } else {
+                       bemit_mod_am(2, node);
+               }
        }
 }