+# some default emitter functions (Copy, Perm)
+
+$line = "#undef is_ia32_Perm\n";
+$line .= "#define is_ia32_Perm(irn) (arch_irn_classify(arch_env, irn) == arch_irn_class_perm && ! is_Proj(irn))\n";
+$line .= "#undef is_ia32_Copy\n";
+$line .= "#define is_ia32_Copy(irn) (arch_irn_classify(arch_env, irn) == arch_irn_class_copy)\n";
+push(@obst_header, $line."\n");
+
+$line = "void emit_".$arch."_Copy(ir_node *n, emit_env_t *env)";
+push(@obst_header, $line.";\n");
+$line .= " {\n FILE *F = env->out;\n";
+$line .= ' lc_efprintf(ia32_get_arg_env(), F, "\tmov %1S, %1D\t\t\t/* %+F */\n", n, n, n);'."\n}\n\n";
+push(@obst_func, $line);
+
+$line = "void emit_".$arch."_Perm(ir_node *n, emit_env_t *env)";
+push(@obst_header, $line.";\n");
+$line .= " {\n FILE *F = env->out;\n";
+$line .= ' lc_efprintf(ia32_get_arg_env(), F, "\txchg %1S, %1D\t\t\t/* %+F */\n", n, n, n);'."\n}\n\n";
+push(@obst_func, $line);
+