#include <orc/orcprogram.h>
+ORC_BEGIN_DECLS
+
+#ifdef ORC_ENABLE_UNSTABLE_API
typedef enum {
ORC_ARM_A1 = ORC_GP_REG_BASE+0,
#endif
+ORC_END_DECLS
+
+#endif
+
-#ifndef _ORC_ORC_SYSINSN_H_
-#define _ORC_ORC_SYSINSN_H_
+#ifndef _ORC_ORC_CPUINSN_H_
+#define _ORC_ORC_CPUINSN_H_
+
+#ifdef ORC_ENABLE_UNSTABLE_API
typedef struct _OrcSysInsn OrcSysInsn;
typedef struct _OrcSysOpcode OrcSysOpcode;
#define ORC_SYS_OPCODE_FLAG_FIXED (1<<0)
+#endif
#endif
#include <orc/orcx86.h>
+ORC_BEGIN_DECLS
+
typedef enum {
ORC_TARGET_MMX_MMX = (1<<0),
ORC_TARGET_MMX_MMXEXT = (1<<1),
ORC_TARGET_MMX_64BIT = (1<<9)
} OrcTargetMMXFlags;
+#ifdef ORC_ENABLE_UNSTABLE_API
+
typedef enum {
X86_MM0 = ORC_VEC_REG_BASE,
X86_MM1,
/* SSE4.2 instructions */
#define orc_mmx_emit_pcmpgtq(p,a,b) orc_mmx_emit_660f (p, "pcmpgtq", 0x3837, a, b)
+#endif
+
+ORC_END_DECLS
#endif
#include <orc/orc.h>
#include <orc/orcarm.h>
+ORC_BEGIN_DECLS
+
+#ifdef ORC_ENABLE_UNSTABLE_API
+
const char *orc_neon_reg_name (int reg);
const char *orc_neon_reg_name_quad (int reg);
void orc_neon_preload (OrcCompiler *compiler, OrcVariable *var, int write,
int offset);
+#endif
+
+ORC_END_DECLS
#endif
#ifndef _ORC_ONCE_H_
#define _ORC_ONCE_H_
+#include <orc/orcutils.h>
+
+ORC_BEGIN_DECLS
+
typedef struct _OrcMutex OrcMutex;
typedef struct _OrcOnce OrcOnce;
void orc_once_mutex_lock (void);
void orc_once_mutex_unlock (void);
+ORC_END_DECLS
#endif
#include <orc/orcprogram.h>
+ORC_BEGIN_DECLS
+
+#ifdef ORC_ENABLE_UNSTABLE_API
+
enum {
POWERPC_R0 = ORC_GP_REG_BASE,
POWERPC_R1,
#define powerpc_emit_vperm(p,a,b,c,d) powerpc_emit_VA (p, "vperm", 0x1000002b, a, b, c, d)
+#endif
+
+ORC_END_DECLS
#endif
#include <orc/orcutils.h>
+ORC_BEGIN_DECLS
+
typedef struct _OrcOpcodeExecutor OrcOpcodeExecutor;
typedef struct _OrcExecutor OrcExecutor;
typedef struct _OrcExecutorAlt OrcExecutorAlt;
#endif
+ORC_END_DECLS
+
#endif
#include <orc/orcx86.h>
#include <orc/orcx86insn.h>
+ORC_BEGIN_DECLS
+
typedef enum {
ORC_TARGET_SSE_SSE2 = (1<<0),
ORC_TARGET_SSE_SSE3 = (1<<1),
ORC_TARGET_SSE_64BIT = (1<<9)
}OrcTargetSSEFlags;
+#ifdef ORC_ENABLE_UNSTABLE_API
+
typedef enum {
X86_XMM0 = ORC_VEC_REG_BASE,
X86_XMM1,
void orc_sse_load_constant (OrcCompiler *compiler, int reg, int size,
orc_uint64 value);
+#endif
+
unsigned int orc_sse_get_cpu_flags (void);
+ORC_END_DECLS
#endif
#include <orc/orcprogram.h>
#include <orc/orcx86insn.h>
+ORC_BEGIN_DECLS
+
+#ifdef ORC_ENABLE_UNSTABLE_API
+
enum {
X86_EAX = ORC_GP_REG_BASE,
X86_ECX,
void orc_x86_emit_cpuinsn_label (OrcCompiler *p, int index, int label);
void orc_x86_emit_cpuinsn_none (OrcCompiler *p, int index);
+#endif
+
+ORC_END_DECLS
#endif
#ifndef ORC_ORC_X86_INSN_H_
#define ORC_ORC_X86_INSN_H_
+ORC_BEGIN_DECLS
+
+#ifdef ORC_ENABLE_UNSTABLE_API
+
enum {
ORC_X86_INSN_TYPE_SD,
ORC_X86_INSN_TYPE_SHIFTIMM,
#endif
+ORC_END_DECLS
+
+#endif
+