Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/sljitLir_8h_source.html below:
NCBI C++ ToolKit: src/util/regexp/sljit/sljitLir.h Source File
71 #if (defined SLJIT_HAVE_CONFIG_PRE && SLJIT_HAVE_CONFIG_PRE) 72 #include "sljitConfigPre.h" 84 #if (defined SLJIT_HAVE_CONFIG_POST && SLJIT_HAVE_CONFIG_POST) 85 #include "sljitConfigPost.h" 93 #define SLJIT_MAJOR_VERSION 0 94 #define SLJIT_MINOR_VERSION 95 101 #define SLJIT_SUCCESS 0 105 #define SLJIT_ERR_COMPILED 1 107 #define SLJIT_ERR_ALLOC_FAILED 2 110 #define SLJIT_ERR_EX_ALLOC_FAILED 3 112 #define SLJIT_ERR_UNSUPPORTED 4 114 #define SLJIT_ERR_BAD_ARGUMENT 5 185 #define SLJIT_R(i) (1 + (i)) 188 #define SLJIT_S0 (SLJIT_NUMBER_OF_REGISTERS) 189 #define SLJIT_S1 (SLJIT_NUMBER_OF_REGISTERS - 1) 190 #define SLJIT_S2 (SLJIT_NUMBER_OF_REGISTERS - 2) 196 #define SLJIT_S3 (SLJIT_NUMBER_OF_REGISTERS - 3) 197 #define SLJIT_S4 (SLJIT_NUMBER_OF_REGISTERS - 4) 198 #define SLJIT_S5 (SLJIT_NUMBER_OF_REGISTERS - 5) 199 #define SLJIT_S6 (SLJIT_NUMBER_OF_REGISTERS - 6) 200 #define SLJIT_S7 (SLJIT_NUMBER_OF_REGISTERS - 7) 201 #define SLJIT_S8 (SLJIT_NUMBER_OF_REGISTERS - 8) 202 #define SLJIT_S9 (SLJIT_NUMBER_OF_REGISTERS - 9) 205 #define SLJIT_S(i) (SLJIT_NUMBER_OF_REGISTERS - (i)) 208 #define SLJIT_FIRST_SAVED_REG (SLJIT_S0 - SLJIT_NUMBER_OF_SAVED_REGISTERS + 1) 214 #define SLJIT_SP (SLJIT_NUMBER_OF_REGISTERS + 1) 218 #define SLJIT_RETURN_REG SLJIT_R0 241 #define SLJIT_FR(i) (1 + (i)) 244 #define SLJIT_FS0 (SLJIT_NUMBER_OF_FLOAT_REGISTERS) 245 #define SLJIT_FS1 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 1) 246 #define SLJIT_FS2 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 2) 247 #define SLJIT_FS3 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 3) 248 #define SLJIT_FS4 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 4) 249 #define SLJIT_FS5 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 5) 250 #define SLJIT_FS6 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 6) 251 #define SLJIT_FS7 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 7) 252 #define SLJIT_FS8 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 8) 253 #define SLJIT_FS9 (SLJIT_NUMBER_OF_FLOAT_REGISTERS - 9) 256 #define SLJIT_FS(i) (SLJIT_NUMBER_OF_FLOAT_REGISTERS - (i)) 259 #define SLJIT_FIRST_SAVED_FLOAT_REG (SLJIT_FS0 - SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS + 1) 263 #define SLJIT_RETURN_FREG SLJIT_FR0 348 #define SLJIT_ARG_TYPE_SCRATCH_REG 0x8 351 #define SLJIT_ARG_TYPE_RET_VOID 0 353 #define SLJIT_ARG_TYPE_W 1 354 #define SLJIT_ARG_TYPE_W_R (SLJIT_ARG_TYPE_W | SLJIT_ARG_TYPE_SCRATCH_REG) 356 #define SLJIT_ARG_TYPE_32 2 357 #define SLJIT_ARG_TYPE_32_R (SLJIT_ARG_TYPE_32 | SLJIT_ARG_TYPE_SCRATCH_REG) 359 #define SLJIT_ARG_TYPE_P 3 360 #define SLJIT_ARG_TYPE_P_R (SLJIT_ARG_TYPE_P | SLJIT_ARG_TYPE_SCRATCH_REG) 362 #define SLJIT_ARG_TYPE_F64 4 364 #define SLJIT_ARG_TYPE_F32 5 366 #define SLJIT_ARG_SHIFT 4 367 #define SLJIT_ARG_RETURN(type) (type) 368 #define SLJIT_ARG_VALUE(type, idx) ((type) << ((idx) * SLJIT_ARG_SHIFT)) 385 #define SLJIT_ARG_TO_TYPE(type) SLJIT_ARG_TYPE_ ## type 387 #define SLJIT_ARGS0(ret) \ 388 SLJIT_ARG_RETURN(SLJIT_ARG_TO_TYPE(ret)) 389 #define SLJIT_ARGS0V() \ 390 SLJIT_ARG_RETURN(SLJIT_ARG_TYPE_RET_VOID) 392 #define SLJIT_ARGS1(ret, arg1) \ 393 (SLJIT_ARGS0(ret) | SLJIT_ARG_VALUE(SLJIT_ARG_TO_TYPE(arg1), 1)) 394 #define SLJIT_ARGS1V(arg1) \ 395 (SLJIT_ARGS0V() | SLJIT_ARG_VALUE(SLJIT_ARG_TO_TYPE(arg1), 1)) 397 #define SLJIT_ARGS2(ret, arg1, arg2) \ 398 (SLJIT_ARGS1(ret, arg1) | SLJIT_ARG_VALUE(SLJIT_ARG_TO_TYPE(arg2), 2)) 399 #define SLJIT_ARGS2V(arg1, arg2) \ 400 (SLJIT_ARGS1V(arg1) | SLJIT_ARG_VALUE(SLJIT_ARG_TO_TYPE(arg2), 2)) 402 #define SLJIT_ARGS3(ret, arg1, arg2, arg3) \ 403 (SLJIT_ARGS2(ret, arg1, arg2) | SLJIT_ARG_VALUE(SLJIT_ARG_TO_TYPE(arg3), 3)) 404 #define SLJIT_ARGS3V(arg1, arg2, arg3) \ 405 (SLJIT_ARGS2V(arg1, arg2) | SLJIT_ARG_VALUE(SLJIT_ARG_TO_TYPE(arg3), 3)) 407 #define SLJIT_ARGS4(ret, arg1, arg2, arg3, arg4) \ 408 (SLJIT_ARGS3(ret, arg1, arg2, arg3) | SLJIT_ARG_VALUE(SLJIT_ARG_TO_TYPE(arg4), 4)) 409 #define SLJIT_ARGS4V(arg1, arg2, arg3, arg4) \ 410 (SLJIT_ARGS3V(arg1, arg2, arg3) | SLJIT_ARG_VALUE(SLJIT_ARG_TO_TYPE(arg4), 4)) 495 #if (defined SLJIT_HAS_STATUS_FLAGS_STATE && SLJIT_HAS_STATUS_FLAGS_STATE) 499 #if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) 503 #if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) 508 #if (defined SLJIT_CONFIG_ARM_V6 && SLJIT_CONFIG_ARM_V6) 519 #if (defined SLJIT_CONFIG_ARM_V6 && SLJIT_CONFIG_ARM_V6) || (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) 524 #if (defined SLJIT_CONFIG_ARM_32 && SLJIT_CONFIG_ARM_32) && (defined __SOFTFP__) 528 #if (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC) 533 #if (defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) 540 #if (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) 544 #if (defined SLJIT_CONFIG_RISCV && SLJIT_CONFIG_RISCV) 550 #if (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) 556 #if (defined SLJIT_CONFIG_LOONGARCH && SLJIT_CONFIG_LOONGARCH) 562 #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) 566 #if (defined SLJIT_ARGUMENT_CHECKS && SLJIT_ARGUMENT_CHECKS) \ 567 || (defined SLJIT_DEBUG && SLJIT_DEBUG) 577 #if (defined SLJIT_ARGUMENT_CHECKS && SLJIT_ARGUMENT_CHECKS) \ 578 || (defined SLJIT_DEBUG && SLJIT_DEBUG) \ 579 || (defined SLJIT_VERBOSE && SLJIT_VERBOSE) 634 #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) 643 #define SLJIT_GENERATE_CODE_BUFFER 0x1 686 #define SLJIT_HAS_FPU 0 688 #define SLJIT_HAS_VIRTUAL_REGISTERS 1 690 #define SLJIT_HAS_ZERO_REGISTER 2 692 #define SLJIT_HAS_CLZ 3 694 #define SLJIT_HAS_CTZ 4 696 #define SLJIT_HAS_REV 5 698 #define SLJIT_HAS_ROT 6 700 #define SLJIT_HAS_CMOV 7 702 #define SLJIT_HAS_PREFETCH 8 704 #define SLJIT_HAS_COPY_F32 9 706 #define SLJIT_HAS_COPY_F64 10 710 #define SLJIT_HAS_F64_AS_F32_PAIR 11 712 #define SLJIT_HAS_SIMD 12 717 #define SLJIT_SIMD_REGS_ARE_PAIRS 13 719 #define SLJIT_HAS_ATOMIC 14 721 #if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) 723 #define SLJIT_HAS_AVX 100 725 #define SLJIT_HAS_AVX2 101 728 #if (defined SLJIT_CONFIG_LOONGARCH) 730 #define SLJIT_HAS_LASX 201 802 #define SLJIT_ENTER_KEEP(n) (n) 809 #define SLJIT_ENTER_REG_ARG 0x00000004 812 #define SLJIT_MAX_LOCAL_SIZE 1048576 814 #if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) 816 #define SLJIT_ENTER_USE_VEX 0x00010000 927 #define SLJIT_MEM 0x80 928 #define SLJIT_MEM0() (SLJIT_MEM) 929 #define SLJIT_MEM1(r1) (SLJIT_MEM | (r1)) 930 #define SLJIT_MEM2(r1, r2) (SLJIT_MEM | (r1) | ((r2) << 8)) 931 #define SLJIT_IMM 0x7f 932 #define SLJIT_REG_PAIR(r1, r2) ((r1) | ((r2) << 8)) 935 #define SLJIT_IS_REG(arg) ((arg) > 0 && (arg) < SLJIT_IMM) 936 #define SLJIT_IS_MEM(arg) ((arg) & SLJIT_MEM) 937 #define SLJIT_IS_MEM0(arg) ((arg) == SLJIT_MEM) 938 #define SLJIT_IS_MEM1(arg) ((arg) > SLJIT_MEM && (arg) < (SLJIT_MEM << 1)) 939 #define SLJIT_IS_MEM2(arg) (((arg) & SLJIT_MEM) && (arg) >= (SLJIT_MEM << 1)) 940 #define SLJIT_IS_IMM(arg) ((arg) == SLJIT_IMM) 941 #define SLJIT_IS_REG_PAIR(arg) (!((arg) & SLJIT_MEM) && (arg) >= (SLJIT_MEM << 1)) 946 #define SLJIT_EXTRACT_REG(arg) ((arg) & 0x7f) 948 #define SLJIT_EXTRACT_SECOND_REG(arg) ((arg) >> 8) 978 #define SLJIT_32 0x100 1043 #define SLJIT_SET_Z 0x0200 1046 #define SLJIT_SET(condition) ((condition) << 10) 1049 #define SLJIT_OP0_BASE 0 1054 #define SLJIT_BREAKPOINT (SLJIT_OP0_BASE + 0) 1058 #define SLJIT_NOP (SLJIT_OP0_BASE + 1) 1062 #define SLJIT_LMUL_UW (SLJIT_OP0_BASE + 2) 1066 #define SLJIT_LMUL_SW (SLJIT_OP0_BASE + 3) 1071 #define SLJIT_DIVMOD_UW (SLJIT_OP0_BASE + 4) 1072 #define SLJIT_DIVMOD_U32 (SLJIT_DIVMOD_UW | SLJIT_32) 1079 #define SLJIT_DIVMOD_SW (SLJIT_OP0_BASE + 5) 1080 #define SLJIT_DIVMOD_S32 (SLJIT_DIVMOD_SW | SLJIT_32) 1085 #define SLJIT_DIV_UW (SLJIT_OP0_BASE + 6) 1086 #define SLJIT_DIV_U32 (SLJIT_DIV_UW | SLJIT_32) 1093 #define SLJIT_DIV_SW (SLJIT_OP0_BASE + 7) 1094 #define SLJIT_DIV_S32 (SLJIT_DIV_SW | SLJIT_32) 1099 #define SLJIT_ENDBR (SLJIT_OP0_BASE + 8) 1104 #define SLJIT_SKIP_FRAMES_BEFORE_RETURN (SLJIT_OP0_BASE + 9) 1109 #define SLJIT_OP1_BASE 32 1125 #define SLJIT_MOV (SLJIT_OP1_BASE + 0) 1127 #define SLJIT_MOV_U8 (SLJIT_OP1_BASE + 1) 1128 #define SLJIT_MOV32_U8 (SLJIT_MOV_U8 | SLJIT_32) 1130 #define SLJIT_MOV_S8 (SLJIT_OP1_BASE + 2) 1131 #define SLJIT_MOV32_S8 (SLJIT_MOV_S8 | SLJIT_32) 1133 #define SLJIT_MOV_U16 (SLJIT_OP1_BASE + 3) 1134 #define SLJIT_MOV32_U16 (SLJIT_MOV_U16 | SLJIT_32) 1136 #define SLJIT_MOV_S16 (SLJIT_OP1_BASE + 4) 1137 #define SLJIT_MOV32_S16 (SLJIT_MOV_S16 | SLJIT_32) 1140 #define SLJIT_MOV_U32 (SLJIT_OP1_BASE + 5) 1143 #define SLJIT_MOV_S32 (SLJIT_OP1_BASE + 6) 1145 #define SLJIT_MOV32 (SLJIT_OP1_BASE + 7) 1149 #define SLJIT_MOV_P (SLJIT_OP1_BASE + 8) 1153 #define SLJIT_CLZ (SLJIT_OP1_BASE + 9) 1154 #define SLJIT_CLZ32 (SLJIT_CLZ | SLJIT_32) 1158 #define SLJIT_CTZ (SLJIT_OP1_BASE + 10) 1159 #define SLJIT_CTZ32 (SLJIT_CTZ | SLJIT_32) 1164 #define SLJIT_REV (SLJIT_OP1_BASE + 11) 1165 #define SLJIT_REV32 (SLJIT_REV | SLJIT_32) 1170 #define SLJIT_REV_U16 (SLJIT_OP1_BASE + 12) 1171 #define SLJIT_REV32_U16 (SLJIT_REV_U16 | SLJIT_32) 1176 #define SLJIT_REV_S16 (SLJIT_OP1_BASE + 13) 1177 #define SLJIT_REV32_S16 (SLJIT_REV_S16 | SLJIT_32) 1182 #define SLJIT_REV_U32 (SLJIT_OP1_BASE + 14) 1187 #define SLJIT_REV_S32 (SLJIT_OP1_BASE + 15) 1200 #define SLJIT_OP2_BASE 64 1203 #define SLJIT_ADD (SLJIT_OP2_BASE + 0) 1204 #define SLJIT_ADD32 (SLJIT_ADD | SLJIT_32) 1206 #define SLJIT_ADDC (SLJIT_OP2_BASE + 1) 1207 #define SLJIT_ADDC32 (SLJIT_ADDC | SLJIT_32) 1211 #define SLJIT_SUB (SLJIT_OP2_BASE + 2) 1212 #define SLJIT_SUB32 (SLJIT_SUB | SLJIT_32) 1214 #define SLJIT_SUBC (SLJIT_OP2_BASE + 3) 1215 #define SLJIT_SUBC32 (SLJIT_SUBC | SLJIT_32) 1218 #define SLJIT_MUL (SLJIT_OP2_BASE + 4) 1219 #define SLJIT_MUL32 (SLJIT_MUL | SLJIT_32) 1221 #define SLJIT_AND (SLJIT_OP2_BASE + 5) 1222 #define SLJIT_AND32 (SLJIT_AND | SLJIT_32) 1224 #define SLJIT_OR (SLJIT_OP2_BASE + 6) 1225 #define SLJIT_OR32 (SLJIT_OR | SLJIT_32) 1227 #define SLJIT_XOR (SLJIT_OP2_BASE + 7) 1228 #define SLJIT_XOR32 (SLJIT_XOR | SLJIT_32) 1234 #define SLJIT_SHL (SLJIT_OP2_BASE + 8) 1235 #define SLJIT_SHL32 (SLJIT_SHL | SLJIT_32) 1239 #define SLJIT_MSHL (SLJIT_OP2_BASE + 9) 1240 #define SLJIT_MSHL32 (SLJIT_MSHL | SLJIT_32) 1246 #define SLJIT_LSHR (SLJIT_OP2_BASE + 10) 1247 #define SLJIT_LSHR32 (SLJIT_LSHR | SLJIT_32) 1251 #define SLJIT_MLSHR (SLJIT_OP2_BASE + 11) 1252 #define SLJIT_MLSHR32 (SLJIT_MLSHR | SLJIT_32) 1258 #define SLJIT_ASHR (SLJIT_OP2_BASE + 12) 1259 #define SLJIT_ASHR32 (SLJIT_ASHR | SLJIT_32) 1263 #define SLJIT_MASHR (SLJIT_OP2_BASE + 13) 1264 #define SLJIT_MASHR32 (SLJIT_MASHR | SLJIT_32) 1268 #define SLJIT_ROTL (SLJIT_OP2_BASE + 14) 1269 #define SLJIT_ROTL32 (SLJIT_ROTL | SLJIT_32) 1273 #define SLJIT_ROTR (SLJIT_OP2_BASE + 15) 1274 #define SLJIT_ROTR32 (SLJIT_ROTR | SLJIT_32) 1289 #define SLJIT_OP2R_BASE 96 1292 #define SLJIT_MULADD (SLJIT_OP2R_BASE + 0) 1293 #define SLJIT_MULADD32 (SLJIT_MULADD | SLJIT_32) 1338 #define SLJIT_SHIFT_INTO_NON_ZERO 0x200 1348 #define SLJIT_OP_SRC_DST_BASE 112 1353 #define SLJIT_FAST_RETURN (SLJIT_OP_SRC_DST_BASE + 0) 1357 #define SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN (SLJIT_OP_SRC_DST_BASE + 1) 1363 #define SLJIT_PREFETCH_L1 (SLJIT_OP_SRC_DST_BASE + 2) 1369 #define SLJIT_PREFETCH_L2 (SLJIT_OP_SRC_DST_BASE + 3) 1375 #define SLJIT_PREFETCH_L3 (SLJIT_OP_SRC_DST_BASE + 4) 1381 #define SLJIT_PREFETCH_ONCE (SLJIT_OP_SRC_DST_BASE + 5) 1388 #define SLJIT_FAST_ENTER (SLJIT_OP_SRC_DST_BASE + 6) 1394 #define SLJIT_GET_RETURN_ADDRESS (SLJIT_OP_SRC_DST_BASE + 7) 1400 #define SLJIT_FOP1_BASE 144 1403 #define SLJIT_MOV_F64 (SLJIT_FOP1_BASE + 0) 1404 #define SLJIT_MOV_F32 (SLJIT_MOV_F64 | SLJIT_32) 1409 #define SLJIT_CONV_F64_FROM_F32 (SLJIT_FOP1_BASE + 1) 1410 #define SLJIT_CONV_F32_FROM_F64 (SLJIT_CONV_F64_FROM_F32 | SLJIT_32) 1412 #define SLJIT_CONV_SW_FROM_F64 (SLJIT_FOP1_BASE + 2) 1413 #define SLJIT_CONV_SW_FROM_F32 (SLJIT_CONV_SW_FROM_F64 | SLJIT_32) 1415 #define SLJIT_CONV_S32_FROM_F64 (SLJIT_FOP1_BASE + 3) 1416 #define SLJIT_CONV_S32_FROM_F32 (SLJIT_CONV_S32_FROM_F64 | SLJIT_32) 1418 #define SLJIT_CONV_F64_FROM_SW (SLJIT_FOP1_BASE + 4) 1419 #define SLJIT_CONV_F32_FROM_SW (SLJIT_CONV_F64_FROM_SW | SLJIT_32) 1421 #define SLJIT_CONV_F64_FROM_S32 (SLJIT_FOP1_BASE + 5) 1422 #define SLJIT_CONV_F32_FROM_S32 (SLJIT_CONV_F64_FROM_S32 | SLJIT_32) 1424 #define SLJIT_CONV_F64_FROM_UW (SLJIT_FOP1_BASE + 6) 1425 #define SLJIT_CONV_F32_FROM_UW (SLJIT_CONV_F64_FROM_UW | SLJIT_32) 1427 #define SLJIT_CONV_F64_FROM_U32 (SLJIT_FOP1_BASE + 7) 1428 #define SLJIT_CONV_F32_FROM_U32 (SLJIT_CONV_F64_FROM_U32 | SLJIT_32) 1431 #define SLJIT_CMP_F64 (SLJIT_FOP1_BASE + 8) 1432 #define SLJIT_CMP_F32 (SLJIT_CMP_F64 | SLJIT_32) 1434 #define SLJIT_NEG_F64 (SLJIT_FOP1_BASE + 9) 1435 #define SLJIT_NEG_F32 (SLJIT_NEG_F64 | SLJIT_32) 1437 #define SLJIT_ABS_F64 (SLJIT_FOP1_BASE + 10) 1438 #define SLJIT_ABS_F32 (SLJIT_ABS_F64 | SLJIT_32) 1445 #define SLJIT_FOP2_BASE 176 1448 #define SLJIT_ADD_F64 (SLJIT_FOP2_BASE + 0) 1449 #define SLJIT_ADD_F32 (SLJIT_ADD_F64 | SLJIT_32) 1451 #define SLJIT_SUB_F64 (SLJIT_FOP2_BASE + 1) 1452 #define SLJIT_SUB_F32 (SLJIT_SUB_F64 | SLJIT_32) 1454 #define SLJIT_MUL_F64 (SLJIT_FOP2_BASE + 2) 1455 #define SLJIT_MUL_F32 (SLJIT_MUL_F64 | SLJIT_32) 1457 #define SLJIT_DIV_F64 (SLJIT_FOP2_BASE + 3) 1458 #define SLJIT_DIV_F32 (SLJIT_DIV_F64 | SLJIT_32) 1466 #define SLJIT_FOP2R_BASE 192 1469 #define SLJIT_COPYSIGN_F64 (SLJIT_FOP2R_BASE + 0) 1470 #define SLJIT_COPYSIGN_F32 (SLJIT_COPYSIGN_F64 | SLJIT_32) 1496 #define SLJIT_COPY_TO_F64 1 1499 #define SLJIT_COPY32_TO_F32 (SLJIT_COPY_TO_F64 | SLJIT_32) 1508 #define SLJIT_COPY_FROM_F64 2 1512 #define SLJIT_COPY32_FROM_F32 (SLJIT_COPY_FROM_F64 | SLJIT_32) 1552 #define SLJIT_EQUAL 0 1553 #define SLJIT_ZERO SLJIT_EQUAL 1554 #define SLJIT_NOT_EQUAL 1 1555 #define SLJIT_NOT_ZERO SLJIT_NOT_EQUAL 1557 #define SLJIT_LESS 2 1558 #define SLJIT_SET_LESS SLJIT_SET(SLJIT_LESS) 1559 #define SLJIT_GREATER_EQUAL 3 1560 #define SLJIT_SET_GREATER_EQUAL SLJIT_SET(SLJIT_LESS) 1561 #define SLJIT_GREATER 4 1562 #define SLJIT_SET_GREATER SLJIT_SET(SLJIT_GREATER) 1563 #define SLJIT_LESS_EQUAL 5 1564 #define SLJIT_SET_LESS_EQUAL SLJIT_SET(SLJIT_GREATER) 1565 #define SLJIT_SIG_LESS 6 1566 #define SLJIT_SET_SIG_LESS SLJIT_SET(SLJIT_SIG_LESS) 1567 #define SLJIT_SIG_GREATER_EQUAL 7 1568 #define SLJIT_SET_SIG_GREATER_EQUAL SLJIT_SET(SLJIT_SIG_LESS) 1569 #define SLJIT_SIG_GREATER 8 1570 #define SLJIT_SET_SIG_GREATER SLJIT_SET(SLJIT_SIG_GREATER) 1571 #define SLJIT_SIG_LESS_EQUAL 9 1572 #define SLJIT_SET_SIG_LESS_EQUAL SLJIT_SET(SLJIT_SIG_GREATER) 1574 #define SLJIT_OVERFLOW 10 1575 #define SLJIT_SET_OVERFLOW SLJIT_SET(SLJIT_OVERFLOW) 1576 #define SLJIT_NOT_OVERFLOW 11 1579 #define SLJIT_CARRY 12 1580 #define SLJIT_SET_CARRY SLJIT_SET(SLJIT_CARRY) 1581 #define SLJIT_NOT_CARRY 13 1583 #define SLJIT_ATOMIC_STORED 14 1584 #define SLJIT_SET_ATOMIC_STORED SLJIT_SET(SLJIT_ATOMIC_STORED) 1585 #define SLJIT_ATOMIC_NOT_STORED 15 1591 #define SLJIT_F_EQUAL 16 1592 #define SLJIT_SET_F_EQUAL SLJIT_SET(SLJIT_F_EQUAL) 1593 #define SLJIT_F_NOT_EQUAL 17 1594 #define SLJIT_SET_F_NOT_EQUAL SLJIT_SET(SLJIT_F_EQUAL) 1595 #define SLJIT_F_LESS 18 1596 #define SLJIT_SET_F_LESS SLJIT_SET(SLJIT_F_LESS) 1597 #define SLJIT_F_GREATER_EQUAL 19 1598 #define SLJIT_SET_F_GREATER_EQUAL SLJIT_SET(SLJIT_F_LESS) 1599 #define SLJIT_F_GREATER 20 1600 #define SLJIT_SET_F_GREATER SLJIT_SET(SLJIT_F_GREATER) 1601 #define SLJIT_F_LESS_EQUAL 21 1602 #define SLJIT_SET_F_LESS_EQUAL SLJIT_SET(SLJIT_F_GREATER) 1605 #define SLJIT_UNORDERED 22 1606 #define SLJIT_SET_UNORDERED SLJIT_SET(SLJIT_UNORDERED) 1608 #define SLJIT_ORDERED 23 1609 #define SLJIT_SET_ORDERED SLJIT_SET(SLJIT_UNORDERED) 1616 #define SLJIT_ORDERED_EQUAL 24 1617 #define SLJIT_SET_ORDERED_EQUAL SLJIT_SET(SLJIT_ORDERED_EQUAL) 1618 #define SLJIT_UNORDERED_OR_NOT_EQUAL 25 1619 #define SLJIT_SET_UNORDERED_OR_NOT_EQUAL SLJIT_SET(SLJIT_ORDERED_EQUAL) 1620 #define SLJIT_ORDERED_LESS 26 1621 #define SLJIT_SET_ORDERED_LESS SLJIT_SET(SLJIT_ORDERED_LESS) 1622 #define SLJIT_UNORDERED_OR_GREATER_EQUAL 27 1623 #define SLJIT_SET_UNORDERED_OR_GREATER_EQUAL SLJIT_SET(SLJIT_ORDERED_LESS) 1624 #define SLJIT_ORDERED_GREATER 28 1625 #define SLJIT_SET_ORDERED_GREATER SLJIT_SET(SLJIT_ORDERED_GREATER) 1626 #define SLJIT_UNORDERED_OR_LESS_EQUAL 29 1627 #define SLJIT_SET_UNORDERED_OR_LESS_EQUAL SLJIT_SET(SLJIT_ORDERED_GREATER) 1629 #define SLJIT_UNORDERED_OR_EQUAL 30 1630 #define SLJIT_SET_UNORDERED_OR_EQUAL SLJIT_SET(SLJIT_UNORDERED_OR_EQUAL) 1631 #define SLJIT_ORDERED_NOT_EQUAL 31 1632 #define SLJIT_SET_ORDERED_NOT_EQUAL SLJIT_SET(SLJIT_UNORDERED_OR_EQUAL) 1633 #define SLJIT_UNORDERED_OR_LESS 32 1634 #define SLJIT_SET_UNORDERED_OR_LESS SLJIT_SET(SLJIT_UNORDERED_OR_LESS) 1635 #define SLJIT_ORDERED_GREATER_EQUAL 33 1636 #define SLJIT_SET_ORDERED_GREATER_EQUAL SLJIT_SET(SLJIT_UNORDERED_OR_LESS) 1637 #define SLJIT_UNORDERED_OR_GREATER 34 1638 #define SLJIT_SET_UNORDERED_OR_GREATER SLJIT_SET(SLJIT_UNORDERED_OR_GREATER) 1639 #define SLJIT_ORDERED_LESS_EQUAL 35 1640 #define SLJIT_SET_ORDERED_LESS_EQUAL SLJIT_SET(SLJIT_UNORDERED_OR_GREATER) 1643 #define SLJIT_JUMP 36 1645 #define SLJIT_FAST_CALL 37 1647 #define SLJIT_CALL 38 1650 #define SLJIT_CALL_REG_ARG 39 1653 #define SLJIT_REWRITABLE_JUMP 0x1000 1659 #define SLJIT_CALL_RETURN 0x2000 1781 #define SLJIT_MEM_LOAD 0x000000 1783 #define SLJIT_MEM_STORE 0x000200 1788 #define SLJIT_MEM_UNALIGNED 0x000400 1790 #define SLJIT_MEM_ALIGNED_16 0x000800 1792 #define SLJIT_MEM_ALIGNED_32 0x001000 1798 #define SLJIT_MEM_PRE 0x000000 1800 #define SLJIT_MEM_POST 0x000400 1806 #define SLJIT_MEM_SUPP 0x000800 1894 #define SLJIT_SIMD_LOAD 0x000000 1896 #define SLJIT_SIMD_STORE 0x000001 1898 #define SLJIT_SIMD_FLOAT 0x000400 1900 #define SLJIT_SIMD_TEST 0x000800 1902 #define SLJIT_SIMD_REG_64 (3 << 12) 1904 #define SLJIT_SIMD_REG_128 (4 << 12) 1906 #define SLJIT_SIMD_REG_256 (5 << 12) 1908 #define SLJIT_SIMD_REG_512 (6 << 12) 1910 #define SLJIT_SIMD_ELEM_8 (0 << 18) 1912 #define SLJIT_SIMD_ELEM_16 (1 << 18) 1914 #define SLJIT_SIMD_ELEM_32 (2 << 18) 1916 #define SLJIT_SIMD_ELEM_64 (3 << 18) 1918 #define SLJIT_SIMD_ELEM_128 (4 << 18) 1920 #define SLJIT_SIMD_ELEM_256 (5 << 18) 1925 #define SLJIT_SIMD_MEM_UNALIGNED (0 << 24) 1927 #define SLJIT_SIMD_MEM_ALIGNED_16 (1 << 24) 1929 #define SLJIT_SIMD_MEM_ALIGNED_32 (2 << 24) 1931 #define SLJIT_SIMD_MEM_ALIGNED_64 (3 << 24) 1933 #define SLJIT_SIMD_MEM_ALIGNED_128 (4 << 24) 1935 #define SLJIT_SIMD_MEM_ALIGNED_256 (5 << 24) 1937 #define SLJIT_SIMD_MEM_ALIGNED_512 (6 << 24) 1986 #define SLJIT_SIMD_LANE_ZERO 0x000002 1988 #define SLJIT_SIMD_LANE_SIGNED 0x000004 2043 #define SLJIT_SIMD_EXTEND_SIGNED 0x000002 2045 #define SLJIT_SIMD_EXTEND_16 (1 << 24) 2047 #define SLJIT_SIMD_EXTEND_32 (2 << 24) 2049 #define SLJIT_SIMD_EXTEND_64 (3 << 24) 2094 #define SLJIT_SIMD_OP2_AND 0x000001 2096 #define SLJIT_SIMD_OP2_OR 0x000002 2098 #define SLJIT_SIMD_OP2_XOR 0x000003 2212 #define SLJIT_GP_REGISTER 0 2214 #define SLJIT_FLOAT_REGISTER 1 2248 #define SLJIT_CURRENT_FLAGS_32 SLJIT_32 2251 #define SLJIT_CURRENT_FLAGS_ADD 0x01 2253 #define SLJIT_CURRENT_FLAGS_SUB 0x02 2257 #define SLJIT_CURRENT_FLAGS_COMPARE 0x04 2307 #define SLJIT_SERIALIZE_IGNORE_DEBUG 0x1 2372 #define SLJIT_OFFSETOF(base, member) ((sljit_sw)(&((base*)0x10)->member) - 0x10) 2374 #if (defined SLJIT_UTIL_STACK && SLJIT_UTIL_STACK) 2425 #if !(defined SLJIT_INDIRECT_CALL && SLJIT_INDIRECT_CALL) 2428 #define SLJIT_FUNC_ADDR(func_name) ((sljit_sw)func_name) 2429 #define SLJIT_FUNC_UADDR(func_name) ((sljit_uw)func_name) 2436 #define SLJIT_FUNC_ADDR(func_name) (*(sljit_sw*)(void*)func_name) 2437 #define SLJIT_FUNC_UADDR(func_name) (*(sljit_uw*)(void*)func_name) 2440 struct
sljit_function_context {
2453 #if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR)
static const char label[]
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
#define SLJIT_API_FUNC_ATTRIBUTE
void sljit_free_stack(struct sljit_stack *stack, void *allocator_data)
void sljit_set_target(struct sljit_jump *jump, sljit_uw target)
sljit_s32 sljit_emit_icall(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 arg_types, sljit_s32 src, sljit_sw srcw)
sljit_s32 sljit_emit_return_to(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw)
sljit_s32 sljit_emit_simd_op2(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 dst_freg, sljit_s32 src1_freg, sljit_s32 src2_freg)
static __inline struct sljit_jump * sljit_get_first_jump(struct sljit_compiler *compiler)
static __inline sljit_sw sljit_get_executable_offset(struct sljit_compiler *compiler)
sljit_s32 sljit_emit_atomic_store(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src_reg, sljit_s32 mem_reg, sljit_s32 temp_reg)
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)
static __inline sljit_uw sljit_get_jump_addr(struct sljit_jump *jump)
sljit_s32 sljit_emit_return_void(struct sljit_compiler *compiler)
sljit_s32 sljit_emit_fmem(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 mem, sljit_sw memw)
void sljit_set_current_flags(struct sljit_compiler *compiler, sljit_s32 current_flags)
sljit_s32 sljit_emit_mem(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 reg, sljit_s32 mem, sljit_sw memw)
sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw offset)
sljit_s32 sljit_emit_fop2r(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst_freg, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src, sljit_sw srcw)
struct sljit_const * sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value)
static __inline sljit_s32 sljit_get_compiler_error(struct sljit_compiler *compiler)
sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw)
void * sljit_alloc_memory(struct sljit_compiler *compiler, sljit_s32 size)
void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset)
void sljit_free_compiler(struct sljit_compiler *compiler)
struct sljit_label * sljit_emit_label(struct sljit_compiler *compiler)
sljit_s32 sljit_jump_has_target(struct sljit_jump *jump)
sljit_s32 sljit_emit_simd_lane_mov(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 lane_index, sljit_s32 srcdst, sljit_sw srcdstw)
static __inline sljit_uw sljit_jump_get_target(struct sljit_jump *jump)
static __inline struct sljit_label * sljit_jump_get_label(struct sljit_jump *jump)
static __inline sljit_uw sljit_get_label_addr(struct sljit_label *label)
sljit_s32 sljit_emit_ijump(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src, sljit_sw srcw)
static __inline void * sljit_compiler_get_user_data(struct sljit_compiler *compiler)
static __inline struct sljit_const * sljit_get_next_const(struct sljit_const *const_)
struct sljit_jump * sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 type)
struct sljit_compiler * sljit_deserialize_compiler(sljit_uw *buffer, sljit_uw size, sljit_s32 options, void *allocator_data)
void sljit_set_label(struct sljit_jump *jump, struct sljit_label *label)
static __inline sljit_uw sljit_get_generated_code_size(struct sljit_compiler *compiler)
static __inline struct sljit_label * sljit_get_next_label(struct sljit_label *label)
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)
struct sljit_compiler * sljit_create_compiler(void *allocator_data)
const char * sljit_get_platform_name(void)
sljit_s32 sljit_get_register_index(sljit_s32 type, sljit_s32 reg)
sljit_s32 sljit_cmp_info(sljit_s32 type)
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)
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)
static __inline struct sljit_jump * sljit_get_next_jump(struct sljit_jump *jump)
void * sljit_generate_code(struct sljit_compiler *compiler, sljit_s32 options, void *exec_allocator_data)
sljit_s32 sljit_emit_return(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src, sljit_sw srcw)
void sljit_free_code(void *code, void *exec_allocator_data)
static __inline struct sljit_const * sljit_get_first_const(struct sljit_compiler *compiler)
sljit_s32 sljit_emit_fset64(struct sljit_compiler *compiler, sljit_s32 freg, sljit_f64 value)
struct sljit_jump * sljit_emit_mov_addr(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw)
sljit_s32 sljit_emit_simd_extend(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 src, sljit_sw srcw)
sljit_s32 sljit_emit_simd_lane_replicate(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 src, sljit_s32 src_lane_index)
sljit_u8 * sljit_stack_resize(struct sljit_stack *stack, sljit_u8 *new_start)
static __inline sljit_uw sljit_get_const_addr(struct sljit_const *const_)
sljit_s32 sljit_jump_is_mov_addr(struct sljit_jump *jump)
sljit_s32 sljit_emit_fop1(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw)
sljit_s32 sljit_emit_atomic_load(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst_reg, sljit_s32 mem_reg)
static __inline void * sljit_compiler_get_allocator_data(struct sljit_compiler *compiler)
sljit_s32 sljit_emit_op_dst(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw)
struct sljit_jump * sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
sljit_s32 sljit_emit_mem_update(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 reg, sljit_s32 mem, sljit_sw memw)
void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE *verbose)
sljit_s32 sljit_jump_has_label(struct sljit_jump *jump)
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)
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)
sljit_s32 sljit_emit_simd_sign(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 dst, sljit_sw dstw)
sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op)
struct sljit_jump * sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type)
sljit_s32 sljit_emit_op_custom(struct sljit_compiler *compiler, void *instruction, sljit_u32 size)
sljit_s32 sljit_emit_op2u(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
struct sljit_jump * sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 arg_types)
static __inline struct sljit_label * sljit_get_first_label(struct sljit_compiler *compiler)
sljit_s32 sljit_emit_fmem_update(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 mem, sljit_sw memw)
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)
sljit_s32 sljit_emit_fcopy(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 freg, sljit_s32 reg)
void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset)
sljit_s32 sljit_emit_simd_mov(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 srcdst, sljit_sw srcdstw)
void sljit_set_compiler_memory_error(struct sljit_compiler *compiler)
sljit_s32 sljit_emit_simd_replicate(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 src, sljit_sw srcw)
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)
static __inline void sljit_compiler_set_user_data(struct sljit_compiler *compiler, void *user_data)
struct sljit_stack * sljit_allocate_stack(sljit_uw start_size, sljit_uw max_size, void *allocator_data)
sljit_uw * sljit_serialize_compiler(struct sljit_compiler *compiler, sljit_s32 options, sljit_uw *size)
sljit_s32 sljit_emit_fset32(struct sljit_compiler *compiler, sljit_s32 freg, sljit_f32 value)
void sljit_free_unused_memory_exec(void)
static __inline sljit_uw sljit_get_label_index(struct sljit_label *label)
sljit_s32 sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 type)
static const sljit_gpr r2
static const sljit_gpr r11
struct sljit_jump * last_jump
struct sljit_const * consts
sljit_sw executable_offset
struct sljit_const * last_const
struct sljit_jump * jumps
struct sljit_label * last_label
struct sljit_memory_fragment * abuf
struct sljit_memory_fragment * buf
sljit_s32 logical_local_size
struct sljit_label * labels
struct sljit_const * next
sljit_sw executable_offset
union sljit_jump::@1235 u
struct sljit_label * label
union sljit_label::@1234 u
struct sljit_label * next
struct sljit_memory_fragment * next
static CS_CONTEXT * context
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4