# orctarget

## Functions

### orc_target_c_get_typedefs

    const char *
    orc_target_c_get_typedefs ()

Returns (const char *) –
No description available

### orc_target_get_asm_preamble

    const char *
    orc_target_get_asm_preamble (const char * target)

Parameters:

`target` –
No description available
Returns (const char *) –
No description available

### orc_target_get_by_name

    OrcTarget *
    orc_target_get_by_name (const char * target_name)

Parameters:

`target_name` –
No description available
Returns (OrcTarget *) –
No description available

### orc_target_get_default

    OrcTarget *
    orc_target_get_default ()

Returns (OrcTarget *) –
No description available

### orc_target_get_default_flags

    unsigned int
    orc_target_get_default_flags (OrcTarget * target)

Parameters:

`target` –
No description available
Returns (unsigned int ) –
No description available

### orc_target_get_flag_name

    const char *
    orc_target_get_flag_name (OrcTarget * target,
                              int  shift)

Parameters:

`target` –
No description available
`shift` –
No description available
Returns (const char *) –
No description available

### orc_target_get_name

    const char *
    orc_target_get_name (OrcTarget * target)

Parameters:

`target` –
No description available
Returns (const char *) –
No description available

### orc_target_get_preamble

    const char *
    orc_target_get_preamble (OrcTarget * target)

Parameters:

`target` –
No description available
Returns (const char *) –
No description available

### orc_target_get_rule

    OrcRule *
    orc_target_get_rule (OrcTarget * target,
                         OrcStaticOpcode * opcode,
                         unsigned int  target_flags)

Parameters:

`target` –
No description available
`opcode` –
No description available
`target_flags` –
No description available
Returns (OrcRule *) –
No description available

### orc_target_register

    void
    orc_target_register (OrcTarget * target)

Parameters:

`target` –
No description available
Returns (void ) –
No description available

## Enumerations

### OrcTargetLASXFlags

    typedef enum {
      ORC_TARGET_LOONGARCH_LASX = (1<<3),
    } OrcTargetLASXFlags;

#### Members

`ORC_TARGET_LOONGARCH_LASX` (8) –
No description available

### OrcTargetLSXFlags

    typedef enum {
      ORC_TARGET_LOONGARCH_64BIT = (1<<0),
      ORC_TARGET_LOONGARCH_LSX = (1<<1),
      ORC_TARGET_LOONGARCH_FRAME_POINTER = (1<<2),
    } OrcTargetLSXFlags;

#### Members

`ORC_TARGET_LOONGARCH_64BIT` (1) –
No description available
`ORC_TARGET_LOONGARCH_LSX` (2) –
No description available
`ORC_TARGET_LOONGARCH_FRAME_POINTER` (4) –
No description available

### OrcTargetMMXFlags

    typedef enum {
      ORC_TARGET_MMX_MMX = (1<<0),
      ORC_TARGET_MMX_MMXEXT = (1<<1),
      ORC_TARGET_MMX_3DNOW = (1<<2),
      ORC_TARGET_MMX_3DNOWEXT = (1<<3),
      ORC_TARGET_MMX_SSSE3 = (1<<4),
      ORC_TARGET_MMX_SSE4_1 = (1<<5),
      ORC_TARGET_MMX_SSE4_2 = (1<<6),
      ORC_TARGET_MMX_FRAME_POINTER = (1<<7),
      ORC_TARGET_MMX_SHORT_JUMPS = (1<<8),
      ORC_TARGET_MMX_64BIT = (1<<9),
      ORC_TARGET_MMX_SSE2 = (1<<10),
      ORC_TARGET_MMX_SSE3 = (1<<11),
    } OrcTargetMMXFlags;

#### Members

`ORC_TARGET_MMX_MMX` (1) –
No description available
`ORC_TARGET_MMX_MMXEXT` (2) –
No description available
`ORC_TARGET_MMX_3DNOW` (4) –
No description available
`ORC_TARGET_MMX_3DNOWEXT` (8) –
No description available
`ORC_TARGET_MMX_SSSE3` (16) –
No description available
`ORC_TARGET_MMX_SSE4_1` (32) –
No description available
`ORC_TARGET_MMX_SSE4_2` (64) –
No description available
`ORC_TARGET_MMX_FRAME_POINTER` (128) –
No description available
`ORC_TARGET_MMX_SHORT_JUMPS` (256) –
No description available
`ORC_TARGET_MMX_64BIT` (512) –
No description available
`ORC_TARGET_MMX_SSE2` (1024) –
No description available
`ORC_TARGET_MMX_SSE3` (2048) –
No description available

### OrcTargetPowerPCFlags

    typedef enum {
      ORC_TARGET_POWERPC_64BIT = (1<<0),
      ORC_TARGET_POWERPC_LE = (1<<1),
      ORC_TARGET_POWERPC_ALTIVEC = (1<<2),
      ORC_TARGET_POWERPC_VSX = (1<<3),
      ORC_TARGET_POWERPC_V207 = (1<<4)
    } OrcTargetPowerPCFlags;

#### Members

`ORC_TARGET_POWERPC_64BIT` (1) –
No description available
`ORC_TARGET_POWERPC_LE` (2) –
No description available
`ORC_TARGET_POWERPC_ALTIVEC` (4) –
No description available
`ORC_TARGET_POWERPC_VSX` (8) –
No description available
`ORC_TARGET_POWERPC_V207` (16) –
No description available

### OrcTargetRiscvFlags

    typedef enum {
      ORC_TARGET_RISCV_64BIT = (1<<0),
      ORC_TARGET_RISCV_C = (1<<1),
      ORC_TARGET_RISCV_V = (1<<2),
      ORC_TARGET_RISCV_ZVKB = (1<<3),
      ORC_TARGET_RISCV_ZVBB = (1<<4) | ORC_TARGET_RISCV_ZVKB,
      ORC_TARGET_RISCV_ZVKN = (1<<5) | ORC_TARGET_RISCV_ZVKB,
      ORC_TARGET_RISCV_ZVKS = (1<<6) | ORC_TARGET_RISCV_ZVKB,
    } OrcTargetRiscvFlags;

#### Members

`ORC_TARGET_RISCV_64BIT` (1) –
No description available
`ORC_TARGET_RISCV_C` (2) –
No description available
`ORC_TARGET_RISCV_V` (4) –
No description available
`ORC_TARGET_RISCV_ZVKB` (8) –
No description available
`ORC_TARGET_RISCV_ZVBB` (24) –
No description available
`ORC_TARGET_RISCV_ZVKN` (40) –
No description available
`ORC_TARGET_RISCV_ZVKS` (72) –
No description available

### OrcTargetSSEFlags

    typedef enum {
      ORC_TARGET_SSE_SSE2 = (1<<0),
      ORC_TARGET_SSE_SSE3 = (1<<1),
      ORC_TARGET_SSE_SSSE3 = (1<<2),
      ORC_TARGET_SSE_SSE4_1 = (1<<3),
      ORC_TARGET_SSE_SSE4_2 = (1<<4),
      ORC_TARGET_SSE_SSE4A = (1<<5),
      ORC_TARGET_SSE_SSE5 = (1<<6),
      ORC_TARGET_SSE_FRAME_POINTER = (1<<7),
      ORC_TARGET_SSE_SHORT_JUMPS = (1<<8),
      ORC_TARGET_SSE_64BIT = (1<<9),
      ORC_TARGET_SSE_SSE = (1<<12), /* 10 and 11 were used for AVX */
    } OrcTargetSSEFlags;

#### Members

`ORC_TARGET_SSE_SSE2` (1) –
No description available
`ORC_TARGET_SSE_SSE3` (2) –
No description available
`ORC_TARGET_SSE_SSSE3` (4) –
No description available
`ORC_TARGET_SSE_SSE4_1` (8) –
No description available
`ORC_TARGET_SSE_SSE4_2` (16) –
No description available
`ORC_TARGET_SSE_SSE4A` (32) –
No description available
`ORC_TARGET_SSE_SSE5` (64) –
No description available
`ORC_TARGET_SSE_FRAME_POINTER` (128) –
No description available
`ORC_TARGET_SSE_SHORT_JUMPS` (256) –
No description available
`ORC_TARGET_SSE_64BIT` (512) –
No description available
`ORC_TARGET_SSE_SSE` (4096) –
No description available

### _OrcTargetAVX512Flags

    typedef enum _OrcTargetAVX512Flags {
      ORC_TARGET_AVX512_FRAME_POINTER = (1<<0),
      ORC_TARGET_AVX512_SHORT_JUMPS   = (1<<1),
      ORC_TARGET_AVX512_64BIT         = (1<<2),
      ORC_TARGET_AVX512_F             = (1<<3),
      ORC_TARGET_AVX512_CD            = (1<<4),
      ORC_TARGET_AVX512_ER            = (1<<5),
      ORC_TARGET_AVX512_PF            = (1<<6),
      ORC_TARGET_AVX512_4FMAPS        = (1<<7),
      ORC_TARGET_AVX512_4VNNIW        = (1<<8),
      ORC_TARGET_AVX512_VPOPCNTDQ     = (1<<9),
      ORC_TARGET_AVX512_VL            = (1<<10),
      ORC_TARGET_AVX512_DQ            = (1<<11),
      ORC_TARGET_AVX512_BW            = (1<<12),
      ORC_TARGET_AVX512_IFMA          = (1<<13),
      ORC_TARGET_AVX512_VBMI          = (1<<14),
      ORC_TARGET_AVX512_VNNI          = (1<<15),
      ORC_TARGET_AVX512_BF16          = (1<<16),
      ORC_TARGET_AVX512_VBMI2         = (1<<17),
      ORC_TARGET_AVX512_BITALG        = (1<<18),
      ORC_TARGET_AVX512_VPCLMULQDQ    = (1<<19),
      ORC_TARGET_AVX512_GFNI          = (1<<20),
      ORC_TARGET_AVX512_VAES          = (1<<21),
      ORC_TARGET_AVX512_VP2INTERSECT  = (1<<22),
      ORC_TARGET_AVX512_FP16          = (1<<23),
    } OrcTargetAVX512Flags;

#### Members

`ORC_TARGET_AVX512_FRAME_POINTER` (1) –
No description available
`ORC_TARGET_AVX512_SHORT_JUMPS` (2) –
No description available
`ORC_TARGET_AVX512_64BIT` (4) –
No description available
`ORC_TARGET_AVX512_F` (8) –
No description available
`ORC_TARGET_AVX512_CD` (16) –
No description available
`ORC_TARGET_AVX512_ER` (32) –
No description available
`ORC_TARGET_AVX512_PF` (64) –
No description available
`ORC_TARGET_AVX512_4FMAPS` (128) –
No description available
`ORC_TARGET_AVX512_4VNNIW` (256) –
No description available
`ORC_TARGET_AVX512_VPOPCNTDQ` (512) –
No description available
`ORC_TARGET_AVX512_VL` (1024) –
No description available
`ORC_TARGET_AVX512_DQ` (2048) –
No description available
`ORC_TARGET_AVX512_BW` (4096) –
No description available
`ORC_TARGET_AVX512_IFMA` (8192) –
No description available
`ORC_TARGET_AVX512_VBMI` (16384) –
No description available
`ORC_TARGET_AVX512_VNNI` (32768) –
No description available
`ORC_TARGET_AVX512_BF16` (65536) –
No description available
`ORC_TARGET_AVX512_VBMI2` (131072) –
No description available
`ORC_TARGET_AVX512_BITALG` (262144) –
No description available
`ORC_TARGET_AVX512_VPCLMULQDQ` (524288) –
No description available
`ORC_TARGET_AVX512_GFNI` (1048576) –
No description available
`ORC_TARGET_AVX512_VAES` (2097152) –
No description available
`ORC_TARGET_AVX512_VP2INTERSECT` (4194304) –
No description available
`ORC_TARGET_AVX512_FP16` (8388608) –
No description available

### _OrcTargetAVXFlags

    typedef enum _OrcTargetAVXFlags {
      /* This was shared with SSE, keep the API */
      ORC_TARGET_AVX_FRAME_POINTER = (1<<7),
      ORC_TARGET_AVX_SHORT_JUMPS = (1<<8),
      ORC_TARGET_AVX_64BIT = (1<<9),
      ORC_TARGET_AVX_AVX = (1<<10),
      ORC_TARGET_AVX_AVX2 = (1<<11),
    } OrcTargetAVXFlags;

#### Members

`ORC_TARGET_AVX_FRAME_POINTER` (128) –
No description available
`ORC_TARGET_AVX_SHORT_JUMPS` (256) –
No description available
`ORC_TARGET_AVX_64BIT` (512) –
No description available
`ORC_TARGET_AVX_AVX` (1024) –
No description available
`ORC_TARGET_AVX_AVX2` (2048) –
No description available

### enum (unnamed at /build/orc/src/orc/orc/orctarget.h:11:1)

    enum {
      ORC_TARGET_C_C99 = (1<<0),
      ORC_TARGET_C_BARE = (1<<1),
      ORC_TARGET_C_NOEXEC = (1<<2),
      ORC_TARGET_C_OPCODE = (1<<3),
      ORC_TARGET_CLEAN_COMPILE = (1<<29),
      ORC_TARGET_FAST_NAN = (1<<30),
      ORC_TARGET_FAST_DENORMAL = (1<<31)
    };

#### Members

`ORC_TARGET_C_C99` (1) –
No description available
`ORC_TARGET_C_BARE` (2) –
No description available
`ORC_TARGET_C_NOEXEC` (4) –
No description available
`ORC_TARGET_C_OPCODE` (8) –
No description available
`ORC_TARGET_CLEAN_COMPILE` (536870912) –
No description available
`ORC_TARGET_FAST_NAN` (1073741824) –
No description available
`ORC_TARGET_FAST_DENORMAL` (-2147483648) –
No description available

### enum (unnamed at /build/orc/src/orc/orc/orctarget.h:39:1)

    enum {
      ORC_TARGET_NEON_CLEAN_COMPILE = (1<<0),
      ORC_TARGET_NEON_NEON = (1<<1),
      ORC_TARGET_NEON_EDSP = (1<<2),
      ORC_TARGET_NEON_64BIT = (1<<3)
    };

#### Members

`ORC_TARGET_NEON_CLEAN_COMPILE` (1) –
No description available
`ORC_TARGET_NEON_NEON` (2) –
No description available
`ORC_TARGET_NEON_EDSP` (4) –
No description available
`ORC_TARGET_NEON_64BIT` (8) –
No description available

### enum (unnamed at /build/orc/src/orc/orc/orctarget.h:46:1)

    enum {
      ORC_TARGET_ARM_EDSP = (1<<2),
      ORC_TARGET_ARM_ARM6 = (1<<3)
    };

#### Members

`ORC_TARGET_ARM_EDSP` (4) –
No description available
`ORC_TARGET_ARM_ARM6` (8) –
No description available

## Aliases

### OrcTargetAVX512Flags

    typedef enum _OrcTargetAVX512Flags  OrcTargetAVX512Flags

### OrcTargetAVXFlags

    typedef enum _OrcTargetAVXFlags  OrcTargetAVXFlags

The results of the search are