MMX: Orc Reference Manual

## MMX MMX — code generation for MMX |

## Functions

#define | ORC_MMX_SHUF()
void | orc_mmx_emit_0f ()
void | orc_mmx_emit_660f ()
void | orc_mmx_emit_f20f ()
void | orc_mmx_emit_f30f ()
void | orc_mmx_emit_loadib ()
void | orc_mmx_emit_loadil ()
void | orc_mmx_emit_loadiw ()
void | orc_mmx_emit_loadpb ()
void | orc_mmx_emit_loadpl ()
void | orc_mmx_emit_loadpq ()
void | orc_mmx_emit_loadpw ()
void | orc_mmx_emit_pshufw ()
void | orc_mmx_emit_shiftimm ()
unsigned int | orc_mmx_get_cpu_flags ()
void | orc_mmx_init ()

## Types and Values

enum | OrcMMXRegister
enum | OrcTargetMMXFlags

## Description

## Functions

### ORC_MMX_SHUF()

    #define ORC_MMX_SHUF(a,b,c,d) ((((a)&3)<<6)|(((b)&3)<<4)|(((c)&3)<<2)|(((d)&3)<<0))

### orc_mmx_emit_0f ()

    void
    orc_mmx_emit_0f (OrcCompiler *p,
                     const char *insn_name,
                     int code,
                     int src,
                     int dest);

### orc_mmx_emit_660f ()

    void
    orc_mmx_emit_660f (OrcCompiler *p,
                       const char *insn_name,
                       int code,
                       int src,
                       int dest);

### orc_mmx_emit_f20f ()

    void
    orc_mmx_emit_f20f (OrcCompiler *p,
                       const char *insn_name,
                       int code,
                       int src,
                       int dest);

### orc_mmx_emit_f30f ()

    void
    orc_mmx_emit_f30f (OrcCompiler *p,
                       const char *insn_name,
                       int code,
                       int src,
                       int dest);

### orc_mmx_emit_loadib ()

    void
    orc_mmx_emit_loadib (OrcCompiler *p,
                         int reg,
                         int value);

### orc_mmx_emit_loadil ()

    void
    orc_mmx_emit_loadil (OrcCompiler *p,
                         int reg,
                         int value);

### orc_mmx_emit_loadiw ()

    void
    orc_mmx_emit_loadiw (OrcCompiler *p,
                         int reg,
                         int value);

### orc_mmx_emit_loadpb ()

    void
    orc_mmx_emit_loadpb (OrcCompiler *p,
                         int reg,
                         int value);

### orc_mmx_emit_loadpl ()

    void
    orc_mmx_emit_loadpl (OrcCompiler *p,
                         int reg,
                         int value);

### orc_mmx_emit_loadpq ()

    void
    orc_mmx_emit_loadpq (OrcCompiler *p,
                         int reg,
                         int value);

### orc_mmx_emit_loadpw ()

    void
    orc_mmx_emit_loadpw (OrcCompiler *p,
                         int reg,
                         int value);

### orc_mmx_emit_pshufw ()

    void
    orc_mmx_emit_pshufw (OrcCompiler *p,
                         int shuf,
                         int src,
                         int dest);

### orc_mmx_emit_shiftimm ()

    void
    orc_mmx_emit_shiftimm (OrcCompiler *p,
                           const char *insn_name,
                           int code,
                           int modrm_code,
                           int shift,
                           int reg);

### orc_mmx_get_cpu_flags ()

    unsigned int
    orc_mmx_get_cpu_flags (void);

### orc_mmx_init ()

    void
    orc_mmx_init (void);

## Types and Values

### enum OrcMMXRegister

#### Members

X86_MM0 |  |
X86_MM1 |  |
X86_MM2 |  |
X86_MM3 |  |
X86_MM4 |  |
X86_MM5 |  |
X86_MM6 |  |
X86_MM7 |  |

### enum OrcTargetMMXFlags

#### Members

ORC_TARGET_MMX_MMX |  |
ORC_TARGET_MMX_MMXEXT |  |
ORC_TARGET_MMX_3DNOW |  |
ORC_TARGET_MMX_3DNOWEXT |  |
ORC_TARGET_MMX_SSSE3 |  |
ORC_TARGET_MMX_SSE4_1 |  |
ORC_TARGET_MMX_SSE4_2 |  |
ORC_TARGET_MMX_FRAME_POINTER |  |
ORC_TARGET_MMX_SHORT_JUMPS |  |
ORC_TARGET_MMX_64BIT |  |