x86

x86 — code generation for x86

Synopsis

void                orc_x86_emit_add_imm_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int offset,
                                                         int reg);
void                orc_x86_emit_add_imm_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int reg,
                                                         orc_bool record);
void                orc_x86_emit_add_reg_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg);
void                orc_x86_emit_align                  (OrcCompiler *compiler);
void                orc_x86_emit_and_imm_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int offset,
                                                         int reg);
void                orc_x86_emit_and_imm_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int reg);
void                orc_x86_emit_cmp_imm_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int offset,
                                                         int reg);
void                orc_x86_emit_cmp_reg_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg);
void                orc_x86_emit_dec_memoffset          (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg);
void                orc_x86_emit_emms                   (OrcCompiler *compiler);
void                orc_x86_emit_epilogue               (OrcCompiler *compiler);
void                orc_x86_emit_je                     (OrcCompiler *compiler,
                                                         int label);
void                orc_x86_emit_jle                    (OrcCompiler *compiler,
                                                         int label);
void                orc_x86_emit_jmp                    (OrcCompiler *compiler,
                                                         int label);
void                orc_x86_emit_jne                    (OrcCompiler *compiler,
                                                         int label);
void                orc_x86_emit_label                  (OrcCompiler *compiler,
                                                         int label);
void                orc_x86_emit_modrm_memoffset        (OrcCompiler *compiler,
                                                         int reg1,
                                                         int offset,
                                                         int reg2);
void                orc_x86_emit_modrm_reg              (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_mov_imm_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int reg1);
void                orc_x86_emit_mov_memoffset_mmx      (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg1,
                                                         int reg2,
                                                         int is_aligned);
void                orc_x86_emit_mov_memoffset_reg      (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_mov_memoffset_sse      (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg1,
                                                         int reg2,
                                                         int is_aligned);
void                orc_x86_emit_mov_mmx_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg2,
                                                         int aligned,
                                                         int uncached);
void                orc_x86_emit_mov_mmx_reg            (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_mov_mmx_reg_reg        (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_mov_reg_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg2);
void                orc_x86_emit_mov_reg_mmx            (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_mov_reg_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_mov_reg_sse            (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_mov_sse_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg2,
                                                         int aligned,
                                                         int uncached);
void                orc_x86_emit_mov_sse_reg            (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_mov_sse_reg_reg        (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_pop                    (OrcCompiler *compiler,
                                                         int size,
                                                         int reg);
void                orc_x86_emit_prologue               (OrcCompiler *compiler);
void                orc_x86_emit_push                   (OrcCompiler *compiler,
                                                         int size,
                                                         int reg);
void                orc_x86_emit_ret                    (OrcCompiler *compiler);
void                orc_x86_emit_rex                    (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int reg2,
                                                         int reg3);
void                orc_x86_emit_sar_imm_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int reg);
void                orc_x86_emit_sub_memoffset_reg      (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg,
                                                         int destreg);
void                orc_x86_emit_sub_reg_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int reg2);
void                orc_x86_emit_test_reg_reg           (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int reg2);
const char *        orc_x86_get_regname                 (int i);
const char *        orc_x86_get_regname_16              (int i);
const char *        orc_x86_get_regname_64              (int i);
const char *        orc_x86_get_regname_mmx             (int i);
const char *        orc_x86_get_regname_ptr             (OrcCompiler *compiler,
                                                         int i);
const char *        orc_x86_get_regname_sse             (int i);
int                 orc_x86_get_regnum                  (int i);
void                orc_x86_do_fixups                   (OrcCompiler *compiler);

Description

Details

orc_x86_emit_add_imm_memoffset ()

void                orc_x86_emit_add_imm_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int offset,
                                                         int reg);


orc_x86_emit_add_imm_reg ()

void                orc_x86_emit_add_imm_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int reg,
                                                         orc_bool record);


orc_x86_emit_add_reg_memoffset ()

void                orc_x86_emit_add_reg_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg);


orc_x86_emit_align ()

void                orc_x86_emit_align                  (OrcCompiler *compiler);


orc_x86_emit_and_imm_memoffset ()

void                orc_x86_emit_and_imm_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int offset,
                                                         int reg);


orc_x86_emit_and_imm_reg ()

void                orc_x86_emit_and_imm_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int reg);


orc_x86_emit_cmp_imm_memoffset ()

void                orc_x86_emit_cmp_imm_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int offset,
                                                         int reg);


orc_x86_emit_cmp_reg_memoffset ()

void                orc_x86_emit_cmp_reg_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg);


orc_x86_emit_dec_memoffset ()

void                orc_x86_emit_dec_memoffset          (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg);


orc_x86_emit_emms ()

void                orc_x86_emit_emms                   (OrcCompiler *compiler);


orc_x86_emit_epilogue ()

void                orc_x86_emit_epilogue               (OrcCompiler *compiler);


orc_x86_emit_je ()

void                orc_x86_emit_je                     (OrcCompiler *compiler,
                                                         int label);


orc_x86_emit_jle ()

void                orc_x86_emit_jle                    (OrcCompiler *compiler,
                                                         int label);


orc_x86_emit_jmp ()

void                orc_x86_emit_jmp                    (OrcCompiler *compiler,
                                                         int label);


orc_x86_emit_jne ()

void                orc_x86_emit_jne                    (OrcCompiler *compiler,
                                                         int label);


orc_x86_emit_label ()

void                orc_x86_emit_label                  (OrcCompiler *compiler,
                                                         int label);


orc_x86_emit_modrm_memoffset ()

void                orc_x86_emit_modrm_memoffset        (OrcCompiler *compiler,
                                                         int reg1,
                                                         int offset,
                                                         int reg2);


orc_x86_emit_modrm_reg ()

void                orc_x86_emit_modrm_reg              (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_mov_imm_reg ()

void                orc_x86_emit_mov_imm_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int reg1);


orc_x86_emit_mov_memoffset_mmx ()

void                orc_x86_emit_mov_memoffset_mmx      (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg1,
                                                         int reg2,
                                                         int is_aligned);


orc_x86_emit_mov_memoffset_reg ()

void                orc_x86_emit_mov_memoffset_reg      (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_mov_memoffset_sse ()

void                orc_x86_emit_mov_memoffset_sse      (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg1,
                                                         int reg2,
                                                         int is_aligned);


orc_x86_emit_mov_mmx_memoffset ()

void                orc_x86_emit_mov_mmx_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg2,
                                                         int aligned,
                                                         int uncached);


orc_x86_emit_mov_mmx_reg ()

void                orc_x86_emit_mov_mmx_reg            (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_mov_mmx_reg_reg ()

void                orc_x86_emit_mov_mmx_reg_reg        (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_mov_reg_memoffset ()

void                orc_x86_emit_mov_reg_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg2);


orc_x86_emit_mov_reg_mmx ()

void                orc_x86_emit_mov_reg_mmx            (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_mov_reg_reg ()

void                orc_x86_emit_mov_reg_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_mov_reg_sse ()

void                orc_x86_emit_mov_reg_sse            (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_mov_sse_memoffset ()

void                orc_x86_emit_mov_sse_memoffset      (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int offset,
                                                         int reg2,
                                                         int aligned,
                                                         int uncached);


orc_x86_emit_mov_sse_reg ()

void                orc_x86_emit_mov_sse_reg            (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_mov_sse_reg_reg ()

void                orc_x86_emit_mov_sse_reg_reg        (OrcCompiler *compiler,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_pop ()

void                orc_x86_emit_pop                    (OrcCompiler *compiler,
                                                         int size,
                                                         int reg);


orc_x86_emit_prologue ()

void                orc_x86_emit_prologue               (OrcCompiler *compiler);


orc_x86_emit_push ()

void                orc_x86_emit_push                   (OrcCompiler *compiler,
                                                         int size,
                                                         int reg);


orc_x86_emit_ret ()

void                orc_x86_emit_ret                    (OrcCompiler *compiler);


orc_x86_emit_rex ()

void                orc_x86_emit_rex                    (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int reg2,
                                                         int reg3);


orc_x86_emit_sar_imm_reg ()

void                orc_x86_emit_sar_imm_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int value,
                                                         int reg);


orc_x86_emit_sub_memoffset_reg ()

void                orc_x86_emit_sub_memoffset_reg      (OrcCompiler *compiler,
                                                         int size,
                                                         int offset,
                                                         int reg,
                                                         int destreg);


orc_x86_emit_sub_reg_reg ()

void                orc_x86_emit_sub_reg_reg            (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int reg2);


orc_x86_emit_test_reg_reg ()

void                orc_x86_emit_test_reg_reg           (OrcCompiler *compiler,
                                                         int size,
                                                         int reg1,
                                                         int reg2);


orc_x86_get_regname ()

const char *        orc_x86_get_regname                 (int i);


orc_x86_get_regname_16 ()

const char *        orc_x86_get_regname_16              (int i);


orc_x86_get_regname_64 ()

const char *        orc_x86_get_regname_64              (int i);


orc_x86_get_regname_mmx ()

const char *        orc_x86_get_regname_mmx             (int i);


orc_x86_get_regname_ptr ()

const char *        orc_x86_get_regname_ptr             (OrcCompiler *compiler,
                                                         int i);


orc_x86_get_regname_sse ()

const char *        orc_x86_get_regname_sse             (int i);


orc_x86_get_regnum ()

int                 orc_x86_get_regnum                  (int i);


orc_x86_do_fixups ()

void                orc_x86_do_fixups                   (OrcCompiler *compiler);