NCBI C++ ToolKit
|
#include "sljitNativePPC_64.c"
Go to the source code of this file.
Go to the SVN repository for this file.
Macros | |
#define | TMP_REG1 (SLJIT_NUMBER_OF_REGISTERS + 2) |
#define | TMP_REG2 (SLJIT_NUMBER_OF_REGISTERS + 3) |
#define | TMP_ZERO (SLJIT_NUMBER_OF_REGISTERS + 4) |
#define | TMP_CALL_REG TMP_REG1 |
#define | TMP_FREG1 (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1) |
#define | TMP_FREG2 (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2) |
#define | D(d) ((sljit_ins)reg_map[d] << 21) |
#define | S(s) ((sljit_ins)reg_map[s] << 21) |
#define | A(a) ((sljit_ins)reg_map[a] << 16) |
#define | B(b) ((sljit_ins)reg_map[b] << 11) |
#define | C(c) ((sljit_ins)reg_map[c] << 6) |
#define | FD(fd) ((sljit_ins)freg_map[fd] << 21) |
#define | FS(fs) ((sljit_ins)freg_map[fs] << 21) |
#define | FA(fa) ((sljit_ins)freg_map[fa] << 16) |
#define | FB(fb) ((sljit_ins)freg_map[fb] << 11) |
#define | FC(fc) ((sljit_ins)freg_map[fc] << 6) |
#define | IMM(imm) ((sljit_ins)(imm) & 0xffff) |
#define | CRD(d) ((sljit_ins)(d) << 21) |
#define | OE(flags) ((flags) & ALT_SET_FLAGS) |
#define | RC(flags) ((sljit_ins)((flags) & ALT_SET_FLAGS) >> 10) |
#define | HI(opcode) ((sljit_ins)(opcode) << 26) |
#define | LO(opcode) ((sljit_ins)(opcode) << 1) |
#define | ADD (HI(31) | LO(266)) |
#define | ADDC (HI(31) | LO(10)) |
#define | ADDE (HI(31) | LO(138)) |
#define | ADDI (HI(14)) |
#define | ADDIC (HI(13)) |
#define | ADDIS (HI(15)) |
#define | ADDME (HI(31) | LO(234)) |
#define | AND (HI(31) | LO(28)) |
#define | ANDI (HI(28)) |
#define | ANDIS (HI(29)) |
#define | Bx (HI(18)) |
#define | BCx (HI(16)) |
#define | BCCTR (HI(19) | LO(528) | (3 << 11)) |
#define | BLR (HI(19) | LO(16) | (0x14 << 21)) |
#define | CNTLZD (HI(31) | LO(58)) |
#define | CNTLZW (HI(31) | LO(26)) |
#define | CMP (HI(31) | LO(0)) |
#define | CMPI (HI(11)) |
#define | CMPL (HI(31) | LO(32)) |
#define | CMPLI (HI(10)) |
#define | CROR (HI(19) | LO(449)) |
#define | DCBT (HI(31) | LO(278)) |
#define | DIVD (HI(31) | LO(489)) |
#define | DIVDU (HI(31) | LO(457)) |
#define | DIVW (HI(31) | LO(491)) |
#define | DIVWU (HI(31) | LO(459)) |
#define | EXTSB (HI(31) | LO(954)) |
#define | EXTSH (HI(31) | LO(922)) |
#define | EXTSW (HI(31) | LO(986)) |
#define | FABS (HI(63) | LO(264)) |
#define | FADD (HI(63) | LO(21)) |
#define | FADDS (HI(59) | LO(21)) |
#define | FCFID (HI(63) | LO(846)) |
#define | FCMPU (HI(63) | LO(0)) |
#define | FCTIDZ (HI(63) | LO(815)) |
#define | FCTIWZ (HI(63) | LO(15)) |
#define | FDIV (HI(63) | LO(18)) |
#define | FDIVS (HI(59) | LO(18)) |
#define | FMR (HI(63) | LO(72)) |
#define | FMUL (HI(63) | LO(25)) |
#define | FMULS (HI(59) | LO(25)) |
#define | FNEG (HI(63) | LO(40)) |
#define | FRSP (HI(63) | LO(12)) |
#define | FSUB (HI(63) | LO(20)) |
#define | FSUBS (HI(59) | LO(20)) |
#define | LD (HI(58) | 0) |
#define | LFD (HI(50)) |
#define | LFS (HI(48)) |
#define | LHBRX (HI(31) | LO(790)) |
#define | LWBRX (HI(31) | LO(534)) |
#define | LWZ (HI(32)) |
#define | MFCR (HI(31) | LO(19)) |
#define | MFLR (HI(31) | LO(339) | 0x80000) |
#define | MFXER (HI(31) | LO(339) | 0x10000) |
#define | MTCTR (HI(31) | LO(467) | 0x90000) |
#define | MTLR (HI(31) | LO(467) | 0x80000) |
#define | MTXER (HI(31) | LO(467) | 0x10000) |
#define | MULHD (HI(31) | LO(73)) |
#define | MULHDU (HI(31) | LO(9)) |
#define | MULHW (HI(31) | LO(75)) |
#define | MULHWU (HI(31) | LO(11)) |
#define | MULLD (HI(31) | LO(233)) |
#define | MULLI (HI(7)) |
#define | MULLW (HI(31) | LO(235)) |
#define | NEG (HI(31) | LO(104)) |
#define | NOP (HI(24)) |
#define | NOR (HI(31) | LO(124)) |
#define | OR (HI(31) | LO(444)) |
#define | ORI (HI(24)) |
#define | ORIS (HI(25)) |
#define | RLDCL (HI(30) | LO(8)) |
#define | RLDICL (HI(30) | LO(0 << 1)) |
#define | RLDICR (HI(30) | LO(1 << 1)) |
#define | RLDIMI (HI(30) | LO(3 << 1)) |
#define | RLWIMI (HI(20)) |
#define | RLWINM (HI(21)) |
#define | RLWNM (HI(23)) |
#define | SLD (HI(31) | LO(27)) |
#define | SLW (HI(31) | LO(24)) |
#define | SRAD (HI(31) | LO(794)) |
#define | SRADI (HI(31) | LO(413 << 1)) |
#define | SRAW (HI(31) | LO(792)) |
#define | SRAWI (HI(31) | LO(824)) |
#define | SRD (HI(31) | LO(539)) |
#define | SRW (HI(31) | LO(536)) |
#define | STD (HI(62) | 0) |
#define | STDU (HI(62) | 1) |
#define | STDUX (HI(31) | LO(181)) |
#define | STFD (HI(54)) |
#define | STFIWX (HI(31) | LO(983)) |
#define | STFS (HI(52)) |
#define | STHBRX (HI(31) | LO(918)) |
#define | STW (HI(36)) |
#define | STWBRX (HI(31) | LO(662)) |
#define | STWU (HI(37)) |
#define | STWUX (HI(31) | LO(183)) |
#define | SUBF (HI(31) | LO(40)) |
#define | SUBFC (HI(31) | LO(8)) |
#define | SUBFE (HI(31) | LO(136)) |
#define | SUBFIC (HI(8)) |
#define | XOR (HI(31) | LO(316)) |
#define | XORI (HI(26)) |
#define | XORIS (HI(27)) |
#define | SIMM_MAX (0x7fff) |
#define | SIMM_MIN (-0x8000) |
#define | UIMM_MAX (0xffff) |
#define | RLWI_SH(sh) ((sljit_ins)(sh) << 11) |
#define | RLWI_MBE(mb, me) (((sljit_ins)(mb) << 6) | ((sljit_ins)(me) << 1)) |
#define | RLDI_SH(sh) ((((sljit_ins)(sh) & 0x1f) << 11) | (((sljit_ins)(sh) & 0x20) >> 4)) |
#define | RLDI_MB(mb) ((((sljit_ins)(mb) & 0x1f) << 6) | ((sljit_ins)(mb) & 0x20)) |
#define | RLDI_ME(me) RLDI_MB(me) |
#define | SLWI(shift) (RLWINM | RLWI_SH(shift) | RLWI_MBE(0, 31 - (shift))) |
#define | SLDI(shift) (RLDICR | RLDI_SH(shift) | RLDI_ME(63 - (shift))) |
#define | SRWI(shift) (RLWINM | RLWI_SH(32 - (shift)) | RLWI_MBE((shift), 31)) |
#define | SRDI(shift) (RLDICL | RLDI_SH(64 - (shift)) | RLDI_MB(shift)) |
#define | SLWI_W(shift) SLDI(shift) |
#define | TMP_MEM_OFFSET (6 * sizeof(sljit_sw)) |
#define | TMP_MEM_OFFSET_LO (TMP_MEM_OFFSET + sizeof(sljit_s32)) |
#define | TMP_MEM_OFFSET_HI (TMP_MEM_OFFSET) |
#define | LWBRX_FIRST_REG S(dst) |
#define | LWBRX_SECOND_REG S(TMP_REG1) |
#define | LOAD_DATA 0x01 |
#define | INDEXED 0x02 |
#define | SIGNED_DATA 0x04 |
#define | WORD_DATA 0x00 |
#define | BYTE_DATA 0x08 |
#define | HALF_DATA 0x10 |
#define | INT_DATA 0x18 |
#define | GPR_REG 0x1f |
#define | DOUBLE_DATA 0x20 |
#define | MEM_MASK 0x7f |
#define | FLOAT_DATA(op) (DOUBLE_DATA | ((op & SLJIT_32) >> 6)) |
#define | ALT_SIGN_EXT 0x000100 |
#define | ALT_SET_FLAGS 0x000400 |
#define | ALT_FORM1 0x001000 |
#define | ALT_FORM2 0x002000 |
#define | ALT_FORM3 0x004000 |
#define | ALT_FORM4 0x008000 |
#define | ALT_FORM5 0x010000 |
#define | REG_DEST 0x000001 |
#define | REG1_SOURCE 0x000002 |
#define | REG2_SOURCE 0x000004 |
#define | STACK_STORE STD |
#define | STACK_LOAD LD |
#define | LR_SAVE_OFFSET SSIZE_OF(sw) |
#define | STACK_MAX_DISTANCE (0x8000 - SSIZE_OF(sw) - LR_SAVE_OFFSET) |
#define | ARCH_32_64(a, b) b |
#define | INST_CODE_AND_DST(inst, flags, reg) (((sljit_ins)(inst) & ~(sljit_ins)INT_ALIGNED) | (sljit_ins)(((flags) & MEM_MASK) <= GPR_REG ? D(reg) : FD(reg))) |
#define | EMIT_MOV(type, type_flags, type_cast) emit_op(compiler, (src == SLJIT_IMM) ? SLJIT_MOV : type, flags | (type_flags), dst, dstw, TMP_REG1, 0, src, (src == SLJIT_IMM) ? type_cast srcw : srcw) |
#define | TEST_SL_IMM(src, srcw) ((src) == SLJIT_IMM && (srcw) <= SIMM_MAX && (srcw) >= SIMM_MIN) |
#define | TEST_UL_IMM(src, srcw) ((src) == SLJIT_IMM && !((srcw) & ~0xffff)) |
#define | TEST_UH_IMM(src, srcw) ((src) == SLJIT_IMM && !((srcw) & ~(sljit_sw)0xffff0000)) |
#define | TEST_SH_IMM(src, srcw) ((src) == SLJIT_IMM && !((srcw) & 0xffff)) |
#define | TEST_ADD_IMM(src, srcw) ((src) == SLJIT_IMM) |
#define | TEST_UI_IMM(src, srcw) ((src) == SLJIT_IMM) |
#define | TEST_ADD_FORM1(op) (GET_FLAG_TYPE(op) == SLJIT_OVERFLOW) |
#define | TEST_SUB_FORM2(op) (GET_FLAG_TYPE(op) >= SLJIT_SIG_LESS && GET_FLAG_TYPE(op) <= SLJIT_SIG_LESS_EQUAL) |
#define | TEST_SUB_FORM3(op) (GET_FLAG_TYPE(op) == SLJIT_OVERFLOW) |
#define | SELECT_FOP(op, single, double) ((sljit_ins)((op & SLJIT_32) ? single : double)) |
#define | EMIT_MEM_LOAD_IMM(inst, mem, memw) |
Typedefs | |
typedef sljit_u32 | sljit_ins |
Variables | |
static const sljit_u8 | reg_map [SLJIT_NUMBER_OF_REGISTERS+7] |
static const sljit_u8 | freg_map [SLJIT_NUMBER_OF_FLOAT_REGISTERS+3] |
static const sljit_ins | data_transfer_insts [64+16] |
static const sljit_ins | updated_data_transfer_insts [64] |
Definition at line 120 of file sljitNativePPC_common.c.
Definition at line 139 of file sljitNativePPC_common.c.
Definition at line 140 of file sljitNativePPC_common.c.
Definition at line 141 of file sljitNativePPC_common.c.
#define ADDI (HI(14)) |
Definition at line 142 of file sljitNativePPC_common.c.
#define ADDIC (HI(13)) |
Definition at line 143 of file sljitNativePPC_common.c.
#define ADDIS (HI(15)) |
Definition at line 144 of file sljitNativePPC_common.c.
Definition at line 145 of file sljitNativePPC_common.c.
#define ALT_FORM1 0x001000 |
Definition at line 805 of file sljitNativePPC_common.c.
#define ALT_FORM2 0x002000 |
Definition at line 806 of file sljitNativePPC_common.c.
#define ALT_FORM3 0x004000 |
Definition at line 807 of file sljitNativePPC_common.c.
#define ALT_FORM4 0x008000 |
Definition at line 808 of file sljitNativePPC_common.c.
#define ALT_FORM5 0x010000 |
Definition at line 809 of file sljitNativePPC_common.c.
#define ALT_SET_FLAGS 0x000400 |
Definition at line 804 of file sljitNativePPC_common.c.
#define ALT_SIGN_EXT 0x000100 |
Definition at line 802 of file sljitNativePPC_common.c.
Definition at line 146 of file sljitNativePPC_common.c.
#define ANDI (HI(28)) |
Definition at line 147 of file sljitNativePPC_common.c.
#define ANDIS (HI(29)) |
Definition at line 148 of file sljitNativePPC_common.c.
Definition at line 1098 of file sljitNativePPC_common.c.
Definition at line 121 of file sljitNativePPC_common.c.
Definition at line 151 of file sljitNativePPC_common.c.
#define BCx (HI(16)) |
Definition at line 150 of file sljitNativePPC_common.c.
Definition at line 152 of file sljitNativePPC_common.c.
#define Bx (HI(18)) |
Definition at line 149 of file sljitNativePPC_common.c.
#define BYTE_DATA 0x08 |
Definition at line 788 of file sljitNativePPC_common.c.
Definition at line 122 of file sljitNativePPC_common.c.
Definition at line 158 of file sljitNativePPC_common.c.
#define CMPI (HI(11)) |
Definition at line 159 of file sljitNativePPC_common.c.
Definition at line 160 of file sljitNativePPC_common.c.
#define CMPLI (HI(10)) |
Definition at line 161 of file sljitNativePPC_common.c.
Definition at line 156 of file sljitNativePPC_common.c.
Definition at line 157 of file sljitNativePPC_common.c.
#define CRD | ( | d | ) | ((sljit_ins)(d) << 21) |
Definition at line 129 of file sljitNativePPC_common.c.
Definition at line 162 of file sljitNativePPC_common.c.
Definition at line 118 of file sljitNativePPC_common.c.
Definition at line 163 of file sljitNativePPC_common.c.
Definition at line 164 of file sljitNativePPC_common.c.
Definition at line 165 of file sljitNativePPC_common.c.
Definition at line 166 of file sljitNativePPC_common.c.
Definition at line 167 of file sljitNativePPC_common.c.
#define DOUBLE_DATA 0x20 |
Definition at line 793 of file sljitNativePPC_common.c.
#define EMIT_MEM_LOAD_IMM | ( | inst, | |
mem, | |||
memw | |||
) |
Definition at line 2902 of file sljitNativePPC_common.c.
#define EMIT_MOV | ( | type, | |
type_flags, | |||
type_cast | |||
) | emit_op(compiler, (src == SLJIT_IMM) ? SLJIT_MOV : type, flags | (type_flags), dst, dstw, TMP_REG1, 0, src, (src == SLJIT_IMM) ? type_cast srcw : srcw) |
Definition at line 1563 of file sljitNativePPC_common.c.
Definition at line 168 of file sljitNativePPC_common.c.
Definition at line 169 of file sljitNativePPC_common.c.
Definition at line 170 of file sljitNativePPC_common.c.
Definition at line 125 of file sljitNativePPC_common.c.
Definition at line 171 of file sljitNativePPC_common.c.
Definition at line 172 of file sljitNativePPC_common.c.
Definition at line 173 of file sljitNativePPC_common.c.
Definition at line 126 of file sljitNativePPC_common.c.
Definition at line 127 of file sljitNativePPC_common.c.
Definition at line 174 of file sljitNativePPC_common.c.
Definition at line 175 of file sljitNativePPC_common.c.
Definition at line 176 of file sljitNativePPC_common.c.
Definition at line 177 of file sljitNativePPC_common.c.
Definition at line 123 of file sljitNativePPC_common.c.
Definition at line 178 of file sljitNativePPC_common.c.
Definition at line 179 of file sljitNativePPC_common.c.
#define FLOAT_DATA | ( | op | ) | (DOUBLE_DATA | ((op & SLJIT_32) >> 6)) |
Definition at line 797 of file sljitNativePPC_common.c.
Definition at line 180 of file sljitNativePPC_common.c.
Definition at line 181 of file sljitNativePPC_common.c.
Definition at line 182 of file sljitNativePPC_common.c.
Definition at line 183 of file sljitNativePPC_common.c.
Definition at line 184 of file sljitNativePPC_common.c.
Definition at line 124 of file sljitNativePPC_common.c.
Definition at line 185 of file sljitNativePPC_common.c.
Definition at line 186 of file sljitNativePPC_common.c.
#define GPR_REG 0x1f |
Definition at line 792 of file sljitNativePPC_common.c.
#define HALF_DATA 0x10 |
Definition at line 789 of file sljitNativePPC_common.c.
#define HI | ( | opcode | ) | ((sljit_ins)(opcode) << 26) |
Definition at line 136 of file sljitNativePPC_common.c.
#define IMM | ( | imm | ) | ((sljit_ins)(imm) & 0xffff) |
Definition at line 128 of file sljitNativePPC_common.c.
#define INDEXED 0x02 |
Definition at line 784 of file sljitNativePPC_common.c.
#define INST_CODE_AND_DST | ( | inst, | |
flags, | |||
reg | |||
) | (((sljit_ins)(inst) & ~(sljit_ins)INT_ALIGNED) | (sljit_ins)(((flags) & MEM_MASK) <= GPR_REG ? D(reg) : FD(reg))) |
Definition at line 1099 of file sljitNativePPC_common.c.
#define INT_DATA 0x18 |
Definition at line 790 of file sljitNativePPC_common.c.
#define LD (HI(58) | 0) |
Definition at line 187 of file sljitNativePPC_common.c.
#define LFD (HI(50)) |
Definition at line 188 of file sljitNativePPC_common.c.
#define LFS (HI(48)) |
Definition at line 189 of file sljitNativePPC_common.c.
Definition at line 193 of file sljitNativePPC_common.c.
#define LO | ( | opcode | ) | ((sljit_ins)(opcode) << 1) |
Definition at line 137 of file sljitNativePPC_common.c.
#define LOAD_DATA 0x01 |
Definition at line 783 of file sljitNativePPC_common.c.
#define LR_SAVE_OFFSET SSIZE_OF(sw) |
Definition at line 842 of file sljitNativePPC_common.c.
Definition at line 194 of file sljitNativePPC_common.c.
#define LWBRX_FIRST_REG S(dst) |
Definition at line 285 of file sljitNativePPC_common.c.
Definition at line 286 of file sljitNativePPC_common.c.
#define LWZ (HI(32)) |
Definition at line 195 of file sljitNativePPC_common.c.
#define MEM_MASK 0x7f |
Definition at line 795 of file sljitNativePPC_common.c.
Definition at line 196 of file sljitNativePPC_common.c.
Definition at line 197 of file sljitNativePPC_common.c.
Definition at line 198 of file sljitNativePPC_common.c.
Definition at line 199 of file sljitNativePPC_common.c.
Definition at line 200 of file sljitNativePPC_common.c.
Definition at line 201 of file sljitNativePPC_common.c.
Definition at line 202 of file sljitNativePPC_common.c.
Definition at line 203 of file sljitNativePPC_common.c.
Definition at line 204 of file sljitNativePPC_common.c.
Definition at line 205 of file sljitNativePPC_common.c.
Definition at line 206 of file sljitNativePPC_common.c.
#define MULLI (HI(7)) |
Definition at line 207 of file sljitNativePPC_common.c.
Definition at line 208 of file sljitNativePPC_common.c.
Definition at line 209 of file sljitNativePPC_common.c.
#define NOP (HI(24)) |
Definition at line 210 of file sljitNativePPC_common.c.
Definition at line 211 of file sljitNativePPC_common.c.
#define OE | ( | flags | ) | ((flags) & ALT_SET_FLAGS) |
Definition at line 133 of file sljitNativePPC_common.c.
Definition at line 212 of file sljitNativePPC_common.c.
#define ORI (HI(24)) |
Definition at line 213 of file sljitNativePPC_common.c.
#define ORIS (HI(25)) |
Definition at line 214 of file sljitNativePPC_common.c.
#define RC | ( | flags | ) | ((sljit_ins)((flags) & ALT_SET_FLAGS) >> 10) |
Definition at line 135 of file sljitNativePPC_common.c.
#define REG1_SOURCE 0x000002 |
Definition at line 813 of file sljitNativePPC_common.c.
#define REG2_SOURCE 0x000004 |
Definition at line 814 of file sljitNativePPC_common.c.
#define REG_DEST 0x000001 |
Definition at line 812 of file sljitNativePPC_common.c.
Definition at line 215 of file sljitNativePPC_common.c.
Definition at line 260 of file sljitNativePPC_common.c.
#define RLDI_ME | ( | me | ) | RLDI_MB(me) |
Definition at line 261 of file sljitNativePPC_common.c.
Definition at line 259 of file sljitNativePPC_common.c.
Definition at line 216 of file sljitNativePPC_common.c.
Definition at line 217 of file sljitNativePPC_common.c.
Definition at line 218 of file sljitNativePPC_common.c.
Definition at line 258 of file sljitNativePPC_common.c.
#define RLWI_SH | ( | sh | ) | ((sljit_ins)(sh) << 11) |
Definition at line 257 of file sljitNativePPC_common.c.
#define RLWIMI (HI(20)) |
Definition at line 219 of file sljitNativePPC_common.c.
#define RLWINM (HI(21)) |
Definition at line 220 of file sljitNativePPC_common.c.
#define RLWNM (HI(23)) |
Definition at line 221 of file sljitNativePPC_common.c.
Definition at line 119 of file sljitNativePPC_common.c.
Definition at line 2178 of file sljitNativePPC_common.c.
#define SIGNED_DATA 0x04 |
Definition at line 785 of file sljitNativePPC_common.c.
#define SIMM_MAX (0x7fff) |
Definition at line 252 of file sljitNativePPC_common.c.
#define SIMM_MIN (-0x8000) |
Definition at line 253 of file sljitNativePPC_common.c.
Definition at line 222 of file sljitNativePPC_common.c.
Definition at line 264 of file sljitNativePPC_common.c.
Definition at line 223 of file sljitNativePPC_common.c.
Definition at line 263 of file sljitNativePPC_common.c.
#define SLWI_W | ( | shift | ) | SLDI(shift) |
Definition at line 273 of file sljitNativePPC_common.c.
Definition at line 224 of file sljitNativePPC_common.c.
Definition at line 225 of file sljitNativePPC_common.c.
Definition at line 226 of file sljitNativePPC_common.c.
Definition at line 227 of file sljitNativePPC_common.c.
Definition at line 228 of file sljitNativePPC_common.c.
Definition at line 267 of file sljitNativePPC_common.c.
Definition at line 229 of file sljitNativePPC_common.c.
Definition at line 266 of file sljitNativePPC_common.c.
#define STACK_LOAD LD |
Definition at line 836 of file sljitNativePPC_common.c.
#define STACK_MAX_DISTANCE (0x8000 - SSIZE_OF(sw) - LR_SAVE_OFFSET) |
Definition at line 845 of file sljitNativePPC_common.c.
#define STACK_STORE STD |
Definition at line 835 of file sljitNativePPC_common.c.
#define STD (HI(62) | 0) |
Definition at line 230 of file sljitNativePPC_common.c.
#define STDU (HI(62) | 1) |
Definition at line 234 of file sljitNativePPC_common.c.
Definition at line 235 of file sljitNativePPC_common.c.
#define STFD (HI(54)) |
Definition at line 236 of file sljitNativePPC_common.c.
Definition at line 237 of file sljitNativePPC_common.c.
#define STFS (HI(52)) |
Definition at line 238 of file sljitNativePPC_common.c.
Definition at line 239 of file sljitNativePPC_common.c.
#define STW (HI(36)) |
Definition at line 240 of file sljitNativePPC_common.c.
Definition at line 241 of file sljitNativePPC_common.c.
#define STWU (HI(37)) |
Definition at line 242 of file sljitNativePPC_common.c.
Definition at line 243 of file sljitNativePPC_common.c.
Definition at line 244 of file sljitNativePPC_common.c.
Definition at line 245 of file sljitNativePPC_common.c.
Definition at line 246 of file sljitNativePPC_common.c.
#define SUBFIC (HI(8)) |
Definition at line 247 of file sljitNativePPC_common.c.
#define TEST_ADD_FORM1 | ( | op | ) | (GET_FLAG_TYPE(op) == SLJIT_OVERFLOW) |
Definition at line 1701 of file sljitNativePPC_common.c.
#define TEST_ADD_IMM | ( | src, | |
srcw | |||
) | ((src) == SLJIT_IMM) |
Definition at line 1696 of file sljitNativePPC_common.c.
#define TEST_SH_IMM | ( | src, | |
srcw | |||
) | ((src) == SLJIT_IMM && !((srcw) & 0xffff)) |
Definition at line 1694 of file sljitNativePPC_common.c.
Definition at line 1668 of file sljitNativePPC_common.c.
#define TEST_SUB_FORM2 | ( | op | ) | (GET_FLAG_TYPE(op) >= SLJIT_SIG_LESS && GET_FLAG_TYPE(op) <= SLJIT_SIG_LESS_EQUAL) |
Definition at line 1703 of file sljitNativePPC_common.c.
#define TEST_SUB_FORM3 | ( | op | ) | (GET_FLAG_TYPE(op) == SLJIT_OVERFLOW) |
Definition at line 1705 of file sljitNativePPC_common.c.
Definition at line 1672 of file sljitNativePPC_common.c.
#define TEST_UI_IMM | ( | src, | |
srcw | |||
) | ((src) == SLJIT_IMM) |
Definition at line 1698 of file sljitNativePPC_common.c.
#define TEST_UL_IMM | ( | src, | |
srcw | |||
) | ((src) == SLJIT_IMM && !((srcw) & ~0xffff)) |
Definition at line 1670 of file sljitNativePPC_common.c.
#define TMP_CALL_REG TMP_REG1 |
Definition at line 101 of file sljitNativePPC_common.c.
#define TMP_FREG1 (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1) |
Definition at line 104 of file sljitNativePPC_common.c.
#define TMP_FREG2 (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2) |
Definition at line 105 of file sljitNativePPC_common.c.
#define TMP_MEM_OFFSET (6 * sizeof(sljit_sw)) |
Definition at line 274 of file sljitNativePPC_common.c.
#define TMP_MEM_OFFSET_HI (TMP_MEM_OFFSET) |
Definition at line 284 of file sljitNativePPC_common.c.
#define TMP_MEM_OFFSET_LO (TMP_MEM_OFFSET + sizeof(sljit_s32)) |
Definition at line 283 of file sljitNativePPC_common.c.
#define TMP_REG1 (SLJIT_NUMBER_OF_REGISTERS + 2) |
Definition at line 94 of file sljitNativePPC_common.c.
#define TMP_REG2 (SLJIT_NUMBER_OF_REGISTERS + 3) |
Definition at line 95 of file sljitNativePPC_common.c.
#define TMP_ZERO (SLJIT_NUMBER_OF_REGISTERS + 4) |
Definition at line 96 of file sljitNativePPC_common.c.
#define UIMM_MAX (0xffff) |
Definition at line 254 of file sljitNativePPC_common.c.
#define WORD_DATA 0x00 |
Definition at line 787 of file sljitNativePPC_common.c.
Definition at line 248 of file sljitNativePPC_common.c.
#define XORI (HI(26)) |
Definition at line 249 of file sljitNativePPC_common.c.
#define XORIS (HI(27)) |
Definition at line 250 of file sljitNativePPC_common.c.
Definition at line 34 of file sljitNativePPC_common.c.
|
static |
Definition at line 313 of file sljitNativePPC_common.c.
References sljit_jump::addr, BCx, Bx, exit(), sljit_jump::flags, sljit_jump::label, MTCTR, NULL, S, sljit_label::size, SLJIT_ASSERT, SLJIT_REWRITABLE_JUMP, sljit_jump::target, TMP_CALL_REG, and sljit_jump::u.
Referenced by sljit_generate_code().
|
static |
Definition at line 1294 of file sljitNativePPC_common.c.
References ALT_FORM1, ALT_FORM2, ALT_FORM3, ALT_FORM4, ALT_FORM5, ALT_SET_FLAGS, ALT_SIGN_EXT, emit_op_mem(), emit_single_op(), FAIL_IF, flags, LOAD_DATA, load_immediate(), REG1_SOURCE, REG2_SOURCE, REG_DEST, SLJIT_IMM, SLJIT_MEM, SLJIT_MOV, SLJIT_MOV_P, SLJIT_OP2_BASE, SLJIT_SUCCESS, TMP_REG1, TMP_REG2, and TMP_ZERO.
Referenced by sljit_emit_mov_addr(), sljit_emit_op1(), and sljit_emit_op2().
|
static |
Definition at line 1236 of file sljitNativePPC_common.c.
References A, ADDIS, B, D, data_transfer_insts, FAIL_IF, IMM, INDEXED, INST_CODE_AND_DST, load_immediate(), MEM_MASK, push_inst(), S, SIMM_MIN, SLJIT_ASSERT, SLJIT_MEM, SLJIT_UNLIKELY, and SLWI_W.
Referenced by emit_op(), emit_rev(), sljit_emit_const(), sljit_emit_fop1(), sljit_emit_fop1_cmp(), sljit_emit_fop1_conv_sw_from_f64(), sljit_emit_fop2(), sljit_emit_fselect(), sljit_emit_icall(), sljit_emit_ijump(), sljit_emit_op_dst(), sljit_emit_op_flags(), sljit_emit_op_src(), sljit_emit_return_to(), sljit_emit_select(), and sljit_emit_shift_into().
|
static |
Definition at line 2072 of file sljitNativePPC_common.c.
References A, B, DCBT, FAIL_IF, load_immediate(), push_inst(), S, SLWI_W, and TMP_REG1.
Referenced by sljit_emit_op_src().
|
static |
Definition at line 1410 of file sljitNativePPC_common.c.
References A, ADDI, ADDIS, B, D, emit_op_mem(), EXTSH, EXTSW, FAIL_IF, HALF_DATA, IMM, INT_DATA, LD, LHBRX, LOAD_DATA, load_immediate(), LWBRX, LWBRX_FIRST_REG, LWBRX_SECOND_REG, LWZ, push_inst(), RLDI_MB, RLDI_SH, RLDICL, RLDIMI, RLWI_MBE, RLWI_SH, RLWIMI, RLWINM, S, SIMM_MAX, SIMM_MIN, SLJIT_32, SLJIT_MEM, SLJIT_REV_S16, SLJIT_REV_S32, SLJIT_REV_U16, SLJIT_SP, SLJIT_SUCCESS, SLJIT_UNLIKELY, SLWI_W, STHBRX, STWBRX, TMP_MEM_OFFSET, TMP_MEM_OFFSET_HI, TMP_MEM_OFFSET_LO, TMP_REG1, TMP_REG2, and WORD_DATA.
Referenced by sljit_emit_op1().
|
static |
Definition at line 982 of file sljitNativePPC_common.c.
References A, ADDI, B, D, FAIL_IF, FS, sljit_compiler::fsaveds, sljit_compiler::fscratches, i, IMM, LFD, sljit_compiler::local_size, LR_SAVE_OFFSET, MTLR, offset, sljit_compiler::options, OR, push_inst(), S, sljit_compiler::saveds, sljit_compiler::scratches, SLJIT_ASSERT, SLJIT_ENTER_REG_ARG, SLJIT_FIRST_SAVED_FLOAT_REG, SLJIT_FIRST_SAVED_REG, SLJIT_FS0, SLJIT_S0, SLJIT_SP, STACK_LOAD, STACK_MAX_DISTANCE, sw, tmp, TMP_CALL_REG, TMP_REG2, and TMP_ZERO.
Referenced by sljit_emit_call(), sljit_emit_icall(), sljit_emit_return_to(), and sljit_emit_return_void().
|
static |
Definition at line 431 of file sljitNativePPC_common.c.
References A, ADDIS, sljit_label::addr, sljit_jump::addr, BCx, Bx, D, flags, sljit_jump::flags, IMM, sljit_jump::label, ORI, ORIS, S, SLDI, SLJIT_ASSERT, SLJIT_UNUSED_ARG, sljit_jump::target, TMP_CALL_REG, sljit_label::u, and sljit_jump::u.
Referenced by sljit_generate_code().
|
static |
Definition at line 2416 of file sljitNativePPC_common.c.
References SLJIT_ASSERT, SLJIT_CALL_REG_ARG, SLJIT_CARRY, SLJIT_CURRENT_FLAGS_SUB, SLJIT_EQUAL, SLJIT_F_EQUAL, SLJIT_F_GREATER, SLJIT_F_GREATER_EQUAL, SLJIT_F_LESS, SLJIT_F_LESS_EQUAL, SLJIT_F_NOT_EQUAL, SLJIT_GREATER, SLJIT_GREATER_EQUAL, SLJIT_JUMP, SLJIT_LESS, SLJIT_LESS_EQUAL, SLJIT_NOT_CARRY, SLJIT_NOT_EQUAL, SLJIT_NOT_OVERFLOW, SLJIT_ORDERED, SLJIT_ORDERED_EQUAL, SLJIT_ORDERED_GREATER, SLJIT_ORDERED_GREATER_EQUAL, SLJIT_ORDERED_LESS, SLJIT_ORDERED_LESS_EQUAL, SLJIT_ORDERED_NOT_EQUAL, SLJIT_OVERFLOW, SLJIT_SIG_GREATER, SLJIT_SIG_GREATER_EQUAL, SLJIT_SIG_LESS, SLJIT_SIG_LESS_EQUAL, SLJIT_UNORDERED, SLJIT_UNORDERED_OR_EQUAL, SLJIT_UNORDERED_OR_GREATER, SLJIT_UNORDERED_OR_GREATER_EQUAL, SLJIT_UNORDERED_OR_LESS, SLJIT_UNORDERED_OR_LESS_EQUAL, and SLJIT_UNORDERED_OR_NOT_EQUAL.
Referenced by sljit_emit_fselect(), sljit_emit_jump(), and sljit_emit_select().
|
static |
Definition at line 304 of file sljitNativePPC_common.c.
References FAIL_IF, sljit_compiler::size, and SLJIT_SUCCESS.
Referenced by emit_op_mem(), emit_prefetch(), emit_rev(), emit_stack_frame_release(), sljit_emit_enter(), sljit_emit_fmem_update(), sljit_emit_fop1(), sljit_emit_fop1_cmp(), sljit_emit_fop1_conv_sw_from_f64(), sljit_emit_fop2(), sljit_emit_fselect(), sljit_emit_fset32(), sljit_emit_icall(), sljit_emit_ijump(), sljit_emit_jump(), sljit_emit_mem(), sljit_emit_mem_update(), sljit_emit_mov_addr(), sljit_emit_op0(), sljit_emit_op1(), sljit_emit_op2(), sljit_emit_op2r(), sljit_emit_op_custom(), sljit_emit_op_dst(), sljit_emit_op_flags(), sljit_emit_op_src(), sljit_emit_return_to(), sljit_emit_return_void(), sljit_emit_select(), and sljit_emit_shift_into().
|
static |
Definition at line 495 of file sljitNativePPC_common.c.
References sljit_jump::addr, sljit_const::addr, sljit_compiler::consts, sljit_jump::flags, sljit_compiler::jumps, label, sljit_jump::label, sljit_compiler::labels, sljit_jump::next, sljit_const::next, sljit_label::size, sljit_compiler::size, SLJIT_REWRITABLE_JUMP, sljit_jump::target, total_size, and sljit_jump::u.
Referenced by sljit_generate_code().
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_cmp_info | ( | sljit_s32 | type | ) |
Definition at line 761 of file sljitNativePPC_common.c.
References SLJIT_ORDERED_GREATER_EQUAL, SLJIT_ORDERED_LESS_EQUAL, SLJIT_ORDERED_NOT_EQUAL, SLJIT_UNORDERED_OR_EQUAL, SLJIT_UNORDERED_OR_GREATER, and SLJIT_UNORDERED_OR_LESS.
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_call | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | arg_types | ||
) |
Definition at line 2535 of file sljitNativePPC_common.c.
References call_with_args(), CHECK_ERROR_PTR, emit_stack_frame_release(), NULL, PTR_FAIL_IF, SLJIT_CALL_REG_ARG, SLJIT_CALL_RETURN, sljit_emit_jump(), SLJIT_JUMP, SLJIT_REWRITABLE_JUMP, and SLJIT_UNUSED_ARG.
SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const | ( | struct sljit_compiler * | compiler, |
sljit_s32 | dst, | ||
sljit_sw | dstw, | ||
sljit_sw | init_value | ||
) |
Definition at line 3109 of file sljitNativePPC_common.c.
References CHECK_ERROR_PTR, emit_const(), emit_op_mem(), PTR_FAIL_IF, SLJIT_MEM, TMP_REG1, TMP_REG2, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter | ( | struct sljit_compiler * | compiler, |
sljit_s32 | options, | ||
sljit_s32 | arg_types, | ||
sljit_s32 | scratches, | ||
sljit_s32 | saveds, | ||
sljit_s32 | fscratches, | ||
sljit_s32 | fsaveds, | ||
sljit_s32 | local_size | ||
) |
Definition at line 847 of file sljitNativePPC_common.c.
References A, ADDI, B, CHECK, CHECK_ERROR, D, FAIL_IF, FS, i, IMM, load_immediate(), sljit_compiler::local_size, LR_SAVE_OFFSET, MFLR, offset, OR, push_inst(), S, SLJIT_ARG_SHIFT, SLJIT_ARG_TYPE_F64, SLJIT_ARG_TYPE_SCRATCH_REG, SLJIT_ENTER_REG_ARG, SLJIT_FIRST_SAVED_FLOAT_REG, SLJIT_FIRST_SAVED_REG, SLJIT_FS0, SLJIT_LOCALS_OFFSET, SLJIT_R0, SLJIT_S0, SLJIT_SP, SLJIT_SUCCESS, STACK_MAX_DISTANCE, STACK_STORE, STDU, STDUX, STFD, STWU, STWUX, sw, tmp, TMP_REG1, TMP_REG2, and TMP_ZERO.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem_update | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | freg, | ||
sljit_s32 | mem, | ||
sljit_sw | memw | ||
) |
Definition at line 3070 of file sljitNativePPC_common.c.
References A, B, CHECK, CHECK_ERROR, DOUBLE_DATA, FLOAT_DATA, IMM, INDEXED, INST_CODE_AND_DST, LOAD_DATA, push_inst(), SIMM_MAX, SIMM_MIN, SLJIT_ERR_UNSUPPORTED, SLJIT_MEM_POST, SLJIT_MEM_STORE, SLJIT_MEM_SUPP, SLJIT_SUCCESS, SLJIT_UNLIKELY, and updated_data_transfer_insts.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst, | ||
sljit_sw | dstw, | ||
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 2263 of file sljitNativePPC_common.c.
References CHECK_ERROR, DOUBLE_DATA, emit_op_mem(), FABS, FAIL_IF, FB, FD, FLOAT_DATA, FMR, FNEG, FRSP, LOAD_DATA, push_inst(), SLJIT_32, SLJIT_ABS_F64, SLJIT_COMPILE_ASSERT, SLJIT_CONV_F64_FROM_F32, SLJIT_MEM, SLJIT_MOV_F64, SLJIT_NEG_F64, SLJIT_SUCCESS, TMP_FREG1, and TMP_REG1.
|
static |
Definition at line 2235 of file sljitNativePPC_common.c.
References CRD, CROR, emit_op_mem(), FA, FAIL_IF, FB, FCMPU, FLOAT_DATA, LOAD_DATA, push_inst(), SLJIT_MEM, SLJIT_SUCCESS, SLJIT_UNORDERED_OR_EQUAL, SLJIT_UNORDERED_OR_GREATER, SLJIT_UNORDERED_OR_LESS, TMP_FREG1, TMP_FREG2, TMP_REG1, and TMP_REG2.
|
static |
Definition at line 2180 of file sljitNativePPC_common.c.
References A, B, DOUBLE_DATA, emit_op_mem(), FAIL_IF, FB, FCTIDZ, FCTIWZ, FD, FLOAT_DATA, FS, LD, LOAD_DATA, load_immediate(), LWZ, push_inst(), S, SLJIT_ASSERT, SLJIT_CONV_S32_FROM_F64, SLJIT_CONV_SW_FROM_F64, SLJIT_MEM, SLJIT_SP, SLWI_W, STFD, STFIWX, TMP_FREG1, TMP_MEM_OFFSET, and TMP_REG1.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst, | ||
sljit_sw | dstw, | ||
sljit_s32 | src1, | ||
sljit_sw | src1w, | ||
sljit_s32 | src2, | ||
sljit_sw | src2w | ||
) |
Definition at line 2313 of file sljitNativePPC_common.c.
References A, BCx, CHECK, CHECK_ERROR, CMPI, CRD, emit_op_mem(), FA, FABS, FADD, FADDS, FAIL_IF, FB, FC, FD, FDIV, FDIVS, FLOAT_DATA, FMUL, FMULS, FNEG, FS, FSUB, FSUBS, LD, LOAD_DATA, LWZ, push_inst(), S, SELECT_FOP, SLJIT_32, SLJIT_ADD_F64, SLJIT_COPYSIGN_F64, SLJIT_DIV_F64, SLJIT_MEM, SLJIT_MUL_F64, SLJIT_SP, SLJIT_SUB_F64, SLJIT_SUCCESS, STFD, STFS, TMP_FREG1, TMP_FREG2, TMP_MEM_OFFSET, TMP_MEM_OFFSET_HI, and TMP_REG1.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fselect | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | dst_freg, | ||
sljit_s32 | src1, | ||
sljit_sw | src1w, | ||
sljit_s32 | src2_freg | ||
) |
Definition at line 2855 of file sljitNativePPC_common.c.
References A, ADDE, ALT_SET_FLAGS, B, BCx, CHECK, CHECK_ERROR, D, emit_op_mem(), FAIL_IF, FB, FD, FLOAT_DATA, FMR, get_bo_bi_flags(), LOAD_DATA, push_inst(), RC, ncbi::grid::netcache::search::fields::size, sljit_compiler::size, SLJIT_32, SLJIT_MEM, SLJIT_NOT_CARRY, SLJIT_SUCCESS, TMP_REG1, and TMP_ZERO.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fset32 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | freg, | ||
sljit_f32 | value | ||
) |
Definition at line 2376 of file sljitNativePPC_common.c.
References A, CHECK, CHECK_ERROR, FAIL_IF, FS, LFS, load_immediate(), push_inst(), S, SLJIT_SP, STW, TMP_MEM_OFFSET, TMP_REG1, TMP_ZERO, and rapidjson::value.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | arg_types, | ||
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 2605 of file sljitNativePPC_common.c.
References A, B, call_with_args(), CHECK, CHECK_ERROR, emit_op_mem(), emit_stack_frame_release(), FAIL_IF, LOAD_DATA, sljit_compiler::options, OR, push_inst(), S, SLJIT_CALL_REG_ARG, SLJIT_CALL_RETURN, sljit_emit_ijump(), SLJIT_FIRST_SAVED_REG, SLJIT_JUMP, SLJIT_MEM, SLJIT_S0, SLJIT_UNUSED_ARG, TMP_CALL_REG, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 2557 of file sljitNativePPC_common.c.
References A, sljit_jump::addr, B, BCCTR, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, sljit_jump::flags, LOAD_DATA, MTCTR, NULL, OR, push_inst(), S, sljit_compiler::size, SLJIT_CALL, SLJIT_FAST_CALL, SLJIT_IMM, SLJIT_SUCCESS, sljit_jump::target, TMP_CALL_REG, sljit_jump::u, and WORD_DATA.
Referenced by sljit_emit_icall(), and sljit_emit_return_to().
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_jump | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type | ||
) |
Definition at line 2499 of file sljitNativePPC_common.c.
References A, ADDE, sljit_jump::addr, ALT_SET_FLAGS, B, BCCTR, CHECK_ERROR_PTR, D, sljit_jump::flags, get_bo_bi_flags(), NULL, PTR_FAIL_IF, push_inst(), RC, sljit_compiler::size, SLJIT_CALL, SLJIT_FAST_CALL, SLJIT_JUMP, SLJIT_NOT_CARRY, SLJIT_REWRITABLE_JUMP, TMP_REG2, and TMP_ZERO.
Referenced by sljit_emit_call().
SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label | ( | struct sljit_compiler * | compiler | ) |
Definition at line 2400 of file sljitNativePPC_common.c.
References CHECK_ERROR_PTR, label, sljit_compiler::last_label, PTR_FAIL_IF, sljit_label::size, and sljit_compiler::size.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | reg, | ||
sljit_s32 | mem, | ||
sljit_sw | memw | ||
) |
Definition at line 2909 of file sljitNativePPC_common.c.
References A, ADD, ADDIS, B, CHECK, CHECK_ERROR, D, data_transfer_insts, EMIT_MEM_LOAD_IMM, FAIL_IF, IMM, LOAD_DATA, load_immediate(), push_inst(), S, SIMM_MAX, SIMM_MIN, SLJIT_ADD, SLJIT_ASSERT, sljit_emit_op2(), SLJIT_IMM, SLJIT_MEM_STORE, SLJIT_UNLIKELY, SLWI_W, sw, TMP_REG1, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem_update | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | reg, | ||
sljit_s32 | mem, | ||
sljit_sw | memw | ||
) |
Definition at line 2974 of file sljitNativePPC_common.c.
References A, B, BYTE_DATA, CHECK, CHECK_ERROR, EXTSB, FAIL_IF, HALF_DATA, IMM, INDEXED, INST_CODE_AND_DST, INT_DATA, LOAD_DATA, push_inst(), S, SIGNED_DATA, SIMM_MAX, SIMM_MIN, SLJIT_32, SLJIT_ERR_UNSUPPORTED, SLJIT_MEM_POST, SLJIT_MEM_STORE, SLJIT_MEM_SUPP, SLJIT_MOV, SLJIT_MOV32, SLJIT_MOV_P, SLJIT_MOV_S16, SLJIT_MOV_S32, SLJIT_MOV_S8, SLJIT_MOV_U16, SLJIT_MOV_U32, SLJIT_MOV_U8, SLJIT_SUCCESS, SLJIT_UNLIKELY, SLJIT_UNREACHABLE, updated_data_transfer_insts, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_mov_addr | ( | struct sljit_compiler * | compiler, |
sljit_s32 | dst, | ||
sljit_sw | dstw | ||
) |
Definition at line 3131 of file sljitNativePPC_common.c.
References CHECK_ERROR_PTR, emit_op(), PTR_FAIL_IF, push_inst(), sljit_compiler::size, SLJIT_MEM, SLJIT_MOV, TMP_REG1, TMP_REG2, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op | ||
) |
Definition at line 1360 of file sljitNativePPC_common.c.
References A, B, CHECK, CHECK_ERROR, D, DIVD, DIVDU, DIVW, DIVWU, FAIL_IF, MULHD, MULHDU, MULHW, MULHWU, MULLD, MULLW, NOP, OR, push_inst(), S, SLJIT_32, SLJIT_BREAKPOINT, SLJIT_DIV_SW, SLJIT_DIV_UW, SLJIT_DIVMOD_SW, SLJIT_DIVMOD_UW, SLJIT_ENDBR, SLJIT_LMUL_SW, SLJIT_LMUL_UW, SLJIT_NOP, SLJIT_R0, SLJIT_R1, SLJIT_SKIP_FRAMES_BEFORE_RETURN, SLJIT_SUCCESS, SUBF, and TMP_REG1.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst, | ||
sljit_sw | dstw, | ||
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 1566 of file sljitNativePPC_common.c.
References ALT_FORM1, ALT_SET_FLAGS, ALT_SIGN_EXT, BYTE_DATA, CHECK, CHECK_ERROR, EMIT_MOV, emit_op(), emit_rev(), FAIL_IF, flags, HALF_DATA, INT_DATA, MTXER, push_inst(), S, SIGNED_DATA, SLJIT_32, SLJIT_CLZ, SLJIT_CTZ, SLJIT_IMM, SLJIT_MEM, SLJIT_MOV, SLJIT_MOV32, SLJIT_MOV_P, SLJIT_MOV_S16, SLJIT_MOV_S32, SLJIT_MOV_S8, SLJIT_MOV_U16, SLJIT_MOV_U32, SLJIT_MOV_U8, SLJIT_OVERFLOW, SLJIT_REV, SLJIT_REV_S16, SLJIT_REV_S32, SLJIT_REV_U16, SLJIT_REV_U32, SLJIT_SUCCESS, TMP_REG1, TMP_ZERO, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst, | ||
sljit_sw | dstw, | ||
sljit_s32 | src1, | ||
sljit_sw | src1w, | ||
sljit_s32 | src2, | ||
sljit_sw | src2w | ||
) |
Definition at line 1709 of file sljitNativePPC_common.c.
References ALT_FORM1, ALT_FORM2, ALT_FORM3, ALT_FORM4, ALT_FORM5, ALT_SET_FLAGS, ALT_SIGN_EXT, CHECK, CHECK_ERROR, emit_op(), FAIL_IF, flags, INT_DATA, MTXER, push_inst(), S, SIGNED_DATA, SIMM_MAX, SLJIT_32, SLJIT_ADD, SLJIT_ADDC, SLJIT_AND, SLJIT_ASHR, SLJIT_CARRY, SLJIT_CURRENT_FLAGS_ADD, SLJIT_CURRENT_FLAGS_SUB, SLJIT_IMM, SLJIT_LESS, SLJIT_LESS_EQUAL, SLJIT_LSHR, SLJIT_MASHR, SLJIT_MLSHR, SLJIT_MSHL, SLJIT_MUL, SLJIT_OR, SLJIT_OVERFLOW, SLJIT_ROTL, SLJIT_ROTR, SLJIT_SET_Z, SLJIT_SHL, SLJIT_SIG_LESS_EQUAL, SLJIT_SUB, SLJIT_SUBC, SLJIT_SUCCESS, SLJIT_XOR, TEST_ADD_FORM1, TEST_ADD_IMM, TEST_SH_IMM, TEST_SL_IMM, TEST_SUB_FORM2, TEST_SUB_FORM3, TEST_UH_IMM, TEST_UI_IMM, TEST_UL_IMM, TMP_REG1, TMP_REG2, and TMP_ZERO.
Referenced by sljit_emit_mem(), sljit_emit_op2r(), sljit_emit_op2u(), sljit_emit_op_flags(), and sljit_emit_shift_into().
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2r | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst_reg, | ||
sljit_s32 | src1, | ||
sljit_sw | src1w, | ||
sljit_s32 | src2, | ||
sljit_sw | src2w | ||
) |
Definition at line 1966 of file sljitNativePPC_common.c.
References A, ADD, B, CHECK, CHECK_ERROR, D, FAIL_IF, push_inst(), SLJIT_32, sljit_emit_op2(), SLJIT_MUL, SLJIT_MULADD, SLJIT_SUCCESS, and TMP_REG2.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2u | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | src1, | ||
sljit_sw | src1w, | ||
sljit_s32 | src2, | ||
sljit_sw | src2w | ||
) |
Definition at line 1951 of file sljitNativePPC_common.c.
References CHECK, CHECK_ERROR, sljit_emit_op2(), and TMP_REG1.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom | ( | struct sljit_compiler * | compiler, |
void * | instruction, | ||
sljit_u32 | size | ||
) |
Definition at line 2163 of file sljitNativePPC_common.c.
References CHECK, CHECK_ERROR, push_inst(), ncbi::grid::netcache::search::fields::size, and SLJIT_UNUSED_ARG.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_dst | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst, | ||
sljit_sw | dstw | ||
) |
Definition at line 2122 of file sljitNativePPC_common.c.
References CHECK, CHECK_ERROR, D, emit_op_mem(), FAIL_IF, LOAD_DATA, sljit_compiler::local_size, LR_SAVE_OFFSET, MFLR, push_inst(), SLJIT_FAST_ENTER, SLJIT_GET_RETURN_ADDRESS, SLJIT_MEM, SLJIT_MEM1, SLJIT_SP, SLJIT_SUCCESS, TMP_REG1, TMP_REG2, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst, | ||
sljit_sw | dstw, | ||
sljit_s32 | type | ||
) |
Definition at line 2639 of file sljitNativePPC_common.c.
References A, CHECK, CHECK_ERROR, D, emit_op_mem(), FAIL_IF, INT_DATA, invert, LOAD_DATA, MFCR, MFXER, push_inst(), RLWI_MBE, RLWI_SH, RLWINM, S, SLJIT_32, SLJIT_ADD, SLJIT_CARRY, SLJIT_CURRENT_FLAGS_ADD, SLJIT_CURRENT_FLAGS_SUB, sljit_emit_op2(), SLJIT_EQUAL, SLJIT_F_EQUAL, SLJIT_F_GREATER, SLJIT_F_GREATER_EQUAL, SLJIT_F_LESS, SLJIT_F_LESS_EQUAL, SLJIT_F_NOT_EQUAL, SLJIT_GREATER, SLJIT_GREATER_EQUAL, SLJIT_LESS, SLJIT_LESS_EQUAL, SLJIT_MEM, SLJIT_MOV32, SLJIT_NOT_CARRY, SLJIT_NOT_EQUAL, SLJIT_NOT_OVERFLOW, SLJIT_ORDERED, SLJIT_ORDERED_EQUAL, SLJIT_ORDERED_GREATER, SLJIT_ORDERED_GREATER_EQUAL, SLJIT_ORDERED_LESS, SLJIT_ORDERED_LESS_EQUAL, SLJIT_ORDERED_NOT_EQUAL, SLJIT_OVERFLOW, SLJIT_SIG_GREATER, SLJIT_SIG_GREATER_EQUAL, SLJIT_SIG_LESS, SLJIT_SIG_LESS_EQUAL, SLJIT_SUCCESS, SLJIT_UNORDERED, SLJIT_UNORDERED_OR_EQUAL, SLJIT_UNORDERED_OR_GREATER, SLJIT_UNORDERED_OR_GREATER_EQUAL, SLJIT_UNORDERED_OR_LESS, SLJIT_UNORDERED_OR_LESS_EQUAL, SLJIT_UNORDERED_OR_NOT_EQUAL, SLJIT_UNREACHABLE, TMP_REG1, TMP_REG2, WORD_DATA, and XORI.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 2093 of file sljitNativePPC_common.c.
References BLR, CHECK, CHECK_ERROR, emit_op_mem(), emit_prefetch(), FAIL_IF, LOAD_DATA, MTLR, push_inst(), S, SLJIT_FAST_RETURN, SLJIT_PREFETCH_L1, SLJIT_PREFETCH_L2, SLJIT_PREFETCH_L3, SLJIT_PREFETCH_ONCE, SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN, SLJIT_SUCCESS, TMP_REG2, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_to | ( | struct sljit_compiler * | compiler, |
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 1054 of file sljitNativePPC_common.c.
References A, B, CHECK, CHECK_ERROR, emit_op_mem(), emit_stack_frame_release(), FAIL_IF, LOAD_DATA, sljit_compiler::options, OR, push_inst(), S, sljit_emit_ijump(), SLJIT_FIRST_SAVED_REG, SLJIT_JUMP, SLJIT_MEM, SLJIT_S0, TMP_CALL_REG, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_void | ( | struct sljit_compiler * | compiler | ) |
Definition at line 1045 of file sljitNativePPC_common.c.
References BLR, CHECK, CHECK_ERROR, emit_stack_frame_release(), FAIL_IF, and push_inst().
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_select | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | dst_reg, | ||
sljit_s32 | src1, | ||
sljit_sw | src1w, | ||
sljit_s32 | src2_reg | ||
) |
Definition at line 2793 of file sljitNativePPC_common.c.
References A, ADDE, ALT_SET_FLAGS, B, BCx, CHECK, CHECK_ERROR, D, emit_op_mem(), FAIL_IF, get_bo_bi_flags(), INT_DATA, LOAD_DATA, load_immediate(), OR, push_inst(), RC, S, ncbi::grid::netcache::search::fields::size, sljit_compiler::size, SLJIT_32, SLJIT_IMM, SLJIT_MEM, SLJIT_NOT_CARRY, SLJIT_SUCCESS, TMP_REG1, TMP_ZERO, and WORD_DATA.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_shift_into | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst_reg, | ||
sljit_s32 | src1_reg, | ||
sljit_s32 | src2_reg, | ||
sljit_s32 | src3, | ||
sljit_sw | src3w | ||
) |
Definition at line 1984 of file sljitNativePPC_common.c.
References A, ANDI, B, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, INT_DATA, LOAD_DATA, OR, push_inst(), RLDI_MB, RLDI_SH, RLDICL, RLDIMI, RLWI_MBE, RLWI_SH, RLWIMI, S, SLD, SLDI, SLJIT_32, sljit_emit_op2(), SLJIT_IMM, SLJIT_LSHR, SLJIT_MEM, SLJIT_MLSHR, SLJIT_MSHL, SLJIT_ROTL, SLJIT_ROTR, SLJIT_SUCCESS, SLW, SLWI, SRD, SRDI, SRW, SRWI, TMP_REG1, TMP_REG2, WORD_DATA, and XORI.
SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code | ( | struct sljit_compiler * | compiler, |
sljit_s32 | options, | ||
void * | exec_allocator_data | ||
) |
Definition at line 587 of file sljitNativePPC_common.c.
References sljit_jump::addr, sljit_const::addr, buf, sljit_compiler::buf, CHECK_ERROR_PTR, sljit_compiler::consts, detect_jump_type(), sljit_compiler::error, sljit_compiler::executable_offset, sljit_compiler::executable_size, sljit_jump::flags, generate_jump_or_mov_addr(), sljit_compiler::jumps, label, sljit_compiler::labels, mov_addr_get_length(), sljit_jump::next, sljit_const::next, NULL, PTR_FAIL_WITH_EXEC_IF, reduce_code_size(), sljit_compiler::size, SLJIT_ASSERT, SLJIT_CACHE_FLUSH, SLJIT_ERR_COMPILED, and SLJIT_UPDATE_WX_FLAGS.
SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name | ( | void | ) |
Definition at line 27 of file sljitNativePPC_common.c.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index | ( | sljit_s32 | type, |
sljit_s32 | reg | ||
) |
Definition at line 2150 of file sljitNativePPC_common.c.
References freg_map, reg_map, SLJIT_FLOAT_REGISTER, and SLJIT_GP_REGISTER.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature | ( | sljit_s32 | feature_type | ) |
Definition at line 730 of file sljitNativePPC_common.c.
References SLJIT_HAS_CLZ, SLJIT_HAS_CTZ, SLJIT_HAS_FPU, SLJIT_HAS_PREFETCH, SLJIT_HAS_REV, SLJIT_HAS_ROT, SLJIT_HAS_ZERO_REGISTER, and SLJIT_IS_FPU_AVAILABLE.
SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const | ( | sljit_uw | addr, |
sljit_sw | new_constant, | ||
sljit_sw | executable_offset | ||
) |
Definition at line 3158 of file sljitNativePPC_common.c.
References sljit_set_jump_addr().
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context | ( | struct sljit_compiler * | compiler, |
sljit_s32 | options, | ||
sljit_s32 | arg_types, | ||
sljit_s32 | scratches, | ||
sljit_s32 | saveds, | ||
sljit_s32 | fscratches, | ||
sljit_s32 | fsaveds, | ||
sljit_s32 | local_size | ||
) |
Definition at line 964 of file sljitNativePPC_common.c.
References CHECK, CHECK_ERROR, sljit_compiler::local_size, SLJIT_ENTER_REG_ARG, SLJIT_LOCALS_OFFSET, SLJIT_SUCCESS, and sw.
Definition at line 1103 of file sljitNativePPC_common.c.
Referenced by emit_op_mem(), and sljit_emit_mem().
Definition at line 111 of file sljitNativePPC_common.c.
Referenced by sljit_get_register_index().
Definition at line 107 of file sljitNativePPC_common.c.
Referenced by sljit_get_register_index().
Definition at line 1168 of file sljitNativePPC_common.c.
Referenced by sljit_emit_fmem_update(), and sljit_emit_mem_update().