NCBI C++ ToolKit
|
Go to the source code of this file.
Go to the SVN repository for this file.
Macros | |
#define | TMP_ZERO (0) |
#define | TMP_REG1 (SLJIT_NUMBER_OF_REGISTERS + 2) |
#define | TMP_REG2 (SLJIT_NUMBER_OF_REGISTERS + 3) |
#define | TMP_LR (SLJIT_NUMBER_OF_REGISTERS + 4) |
#define | TMP_FP (SLJIT_NUMBER_OF_REGISTERS + 5) |
#define | TMP_FREG1 (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1) |
#define | TMP_FREG2 (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2) |
#define | W_OP ((sljit_ins)1 << 31) |
#define | RD(rd) ((sljit_ins)reg_map[rd]) |
#define | RT(rt) ((sljit_ins)reg_map[rt]) |
#define | RN(rn) ((sljit_ins)reg_map[rn] << 5) |
#define | RT2(rt2) ((sljit_ins)reg_map[rt2] << 10) |
#define | RM(rm) ((sljit_ins)reg_map[rm] << 16) |
#define | VD(vd) ((sljit_ins)freg_map[vd]) |
#define | VT(vt) ((sljit_ins)freg_map[vt]) |
#define | VT2(vt) ((sljit_ins)freg_map[vt] << 10) |
#define | VN(vn) ((sljit_ins)freg_map[vn] << 5) |
#define | VM(vm) ((sljit_ins)freg_map[vm] << 16) |
#define | ADC 0x9a000000 |
#define | ADD 0x8b000000 |
#define | ADDE 0x8b200000 |
#define | ADDI 0x91000000 |
#define | ADR 0x10000000 |
#define | ADRP 0x90000000 |
#define | AND 0x8a000000 |
#define | ANDI 0x92000000 |
#define | AND_v 0x0e201c00 |
#define | ASRV 0x9ac02800 |
#define | B 0x14000000 |
#define | B_CC 0x54000000 |
#define | BL 0x94000000 |
#define | BLR 0xd63f0000 |
#define | BR 0xd61f0000 |
#define | BRK 0xd4200000 |
#define | CAS 0xc8a07c00 |
#define | CASB 0x08a07c00 |
#define | CASH 0x48a07c00 |
#define | CBZ 0xb4000000 |
#define | CCMPI 0xfa400800 |
#define | CLZ 0xdac01000 |
#define | CSEL 0x9a800000 |
#define | CSINC 0x9a800400 |
#define | DUP_e 0x0e000400 |
#define | DUP_g 0x0e000c00 |
#define | EOR 0xca000000 |
#define | EOR_v 0x2e201c00 |
#define | EORI 0xd2000000 |
#define | EXTR 0x93c00000 |
#define | FABS 0x1e60c000 |
#define | FADD 0x1e602800 |
#define | FCMP 0x1e602000 |
#define | FCSEL 0x1e600c00 |
#define | FCVT 0x1e224000 |
#define | FCVTL 0x0e217800 |
#define | FCVTZS 0x9e780000 |
#define | FDIV 0x1e601800 |
#define | FMOV 0x1e604000 |
#define | FMOV_R 0x9e660000 |
#define | FMOV_I 0x1e601000 |
#define | FMUL 0x1e600800 |
#define | FNEG 0x1e614000 |
#define | FSUB 0x1e603800 |
#define | INS 0x4e001c00 |
#define | INS_e 0x6e000400 |
#define | LD1 0x0c407000 |
#define | LD1_s 0x0d400000 |
#define | LD1R 0x0d40c000 |
#define | LDRI 0xf9400000 |
#define | LDRI_F64 0xfd400000 |
#define | LDRI_POST 0xf8400400 |
#define | LDP 0xa9400000 |
#define | LDP_F64 0x6d400000 |
#define | LDP_POST 0xa8c00000 |
#define | LDR_PRE 0xf8400c00 |
#define | LDXR 0xc85f7c00 |
#define | LDXRB 0x085f7c00 |
#define | LDXRH 0x485f7c00 |
#define | LSLV 0x9ac02000 |
#define | LSRV 0x9ac02400 |
#define | MADD 0x9b000000 |
#define | MOVI 0x0f000400 |
#define | MOVK 0xf2800000 |
#define | MOVN 0x92800000 |
#define | MOVZ 0xd2800000 |
#define | NOP 0xd503201f |
#define | ORN 0xaa200000 |
#define | ORR 0xaa000000 |
#define | ORR_v 0x0ea01c00 |
#define | ORRI 0xb2000000 |
#define | RBIT 0xdac00000 |
#define | RET 0xd65f0000 |
#define | REV 0xdac00c00 |
#define | REV16 0xdac00400 |
#define | RORV 0x9ac02c00 |
#define | SBC 0xda000000 |
#define | SBFM 0x93400000 |
#define | SCVTF 0x9e620000 |
#define | SDIV 0x9ac00c00 |
#define | SMADDL 0x9b200000 |
#define | SMOV 0x0e002c00 |
#define | SMULH 0x9b403c00 |
#define | SSHLL 0x0f00a400 |
#define | ST1 0x0c007000 |
#define | ST1_s 0x0d000000 |
#define | STP 0xa9000000 |
#define | STP_F64 0x6d000000 |
#define | STP_PRE 0xa9800000 |
#define | STRB 0x38206800 |
#define | STRBI 0x39000000 |
#define | STRI 0xf9000000 |
#define | STRI_F64 0xfd000000 |
#define | STR_FI 0x3d000000 |
#define | STR_FR 0x3c206800 |
#define | STUR_FI 0x3c000000 |
#define | STURBI 0x38000000 |
#define | STXR 0xc8007c00 |
#define | STXRB 0x8007c00 |
#define | STXRH 0x48007c00 |
#define | SUB 0xcb000000 |
#define | SUBI 0xd1000000 |
#define | SUBS 0xeb000000 |
#define | TBZ 0x36000000 |
#define | UBFM 0xd3400000 |
#define | UCVTF 0x9e630000 |
#define | UDIV 0x9ac00800 |
#define | UMOV 0x0e003c00 |
#define | UMULH 0x9bc03c00 |
#define | USHLL 0x2f00a400 |
#define | USHR 0x2f000400 |
#define | USRA 0x2f001400 |
#define | XTN 0x0e212800 |
#define | CSET (CSINC | RM(TMP_ZERO) | RN(TMP_ZERO)) |
#define | LDR (STRI | (1 << 22)) |
#define | LDRB (STRBI | (1 << 22)) |
#define | LDRH (LDRB | (1 << 30)) |
#define | MOV (ORR | RN(TMP_ZERO)) |
#define | COUNT_TRAILING_ZERO(value, result) |
#define | LOGICAL_IMM_CHECK (sljit_ins)0x100 |
#define | ARG1_IMM 0x0010000 |
#define | ARG2_IMM 0x0020000 |
#define | INT_OP 0x0040000 |
#define | SET_FLAGS 0x0080000 |
#define | UNUSED_RETURN 0x0100000 |
#define | CHECK_FLAGS(flag_bits) |
#define | STORE 0x10 |
#define | SIGNED 0x20 |
#define | BYTE_SIZE 0x0 |
#define | HALF_SIZE 0x1 |
#define | INT_SIZE 0x2 |
#define | WORD_SIZE 0x3 |
#define | MEM_SIZE_SHIFT(flags) ((sljit_ins)(flags) & 0x3) |
Typedefs | |
typedef sljit_u32 | sljit_ins |
Variables | |
static const sljit_u8 | reg_map [SLJIT_NUMBER_OF_REGISTERS+8] |
static const sljit_u8 | freg_map [SLJIT_NUMBER_OF_FLOAT_REGISTERS+3] |
#define ADC 0x9a000000 |
Definition at line 70 of file sljitNativeARM_64.c.
#define ADD 0x8b000000 |
Definition at line 71 of file sljitNativeARM_64.c.
#define ADDE 0x8b200000 |
Definition at line 72 of file sljitNativeARM_64.c.
#define ADDI 0x91000000 |
Definition at line 73 of file sljitNativeARM_64.c.
#define ADR 0x10000000 |
Definition at line 74 of file sljitNativeARM_64.c.
#define ADRP 0x90000000 |
Definition at line 75 of file sljitNativeARM_64.c.
#define AND 0x8a000000 |
Definition at line 76 of file sljitNativeARM_64.c.
#define AND_v 0x0e201c00 |
Definition at line 78 of file sljitNativeARM_64.c.
#define ANDI 0x92000000 |
Definition at line 77 of file sljitNativeARM_64.c.
#define ARG1_IMM 0x0010000 |
Definition at line 803 of file sljitNativeARM_64.c.
#define ARG2_IMM 0x0020000 |
Definition at line 804 of file sljitNativeARM_64.c.
#define ASRV 0x9ac02800 |
Definition at line 79 of file sljitNativeARM_64.c.
#define B 0x14000000 |
Definition at line 80 of file sljitNativeARM_64.c.
#define B_CC 0x54000000 |
Definition at line 81 of file sljitNativeARM_64.c.
#define BL 0x94000000 |
Definition at line 82 of file sljitNativeARM_64.c.
#define BLR 0xd63f0000 |
Definition at line 83 of file sljitNativeARM_64.c.
#define BR 0xd61f0000 |
Definition at line 84 of file sljitNativeARM_64.c.
#define BRK 0xd4200000 |
Definition at line 85 of file sljitNativeARM_64.c.
#define BYTE_SIZE 0x0 |
Definition at line 1125 of file sljitNativeARM_64.c.
#define CAS 0xc8a07c00 |
Definition at line 86 of file sljitNativeARM_64.c.
#define CASB 0x08a07c00 |
Definition at line 87 of file sljitNativeARM_64.c.
#define CASH 0x48a07c00 |
Definition at line 88 of file sljitNativeARM_64.c.
#define CBZ 0xb4000000 |
Definition at line 89 of file sljitNativeARM_64.c.
#define CCMPI 0xfa400800 |
Definition at line 90 of file sljitNativeARM_64.c.
#define CHECK_FLAGS | ( | flag_bits | ) |
Definition at line 809 of file sljitNativeARM_64.c.
#define CLZ 0xdac01000 |
Definition at line 91 of file sljitNativeARM_64.c.
Definition at line 618 of file sljitNativeARM_64.c.
#define CSEL 0x9a800000 |
Definition at line 92 of file sljitNativeARM_64.c.
Definition at line 184 of file sljitNativeARM_64.c.
#define CSINC 0x9a800400 |
Definition at line 93 of file sljitNativeARM_64.c.
#define DUP_e 0x0e000400 |
Definition at line 94 of file sljitNativeARM_64.c.
#define DUP_g 0x0e000c00 |
Definition at line 95 of file sljitNativeARM_64.c.
#define EOR 0xca000000 |
Definition at line 96 of file sljitNativeARM_64.c.
#define EOR_v 0x2e201c00 |
Definition at line 97 of file sljitNativeARM_64.c.
#define EORI 0xd2000000 |
Definition at line 98 of file sljitNativeARM_64.c.
#define EXTR 0x93c00000 |
Definition at line 99 of file sljitNativeARM_64.c.
#define FABS 0x1e60c000 |
Definition at line 100 of file sljitNativeARM_64.c.
#define FADD 0x1e602800 |
Definition at line 101 of file sljitNativeARM_64.c.
#define FCMP 0x1e602000 |
Definition at line 102 of file sljitNativeARM_64.c.
#define FCSEL 0x1e600c00 |
Definition at line 103 of file sljitNativeARM_64.c.
#define FCVT 0x1e224000 |
Definition at line 104 of file sljitNativeARM_64.c.
#define FCVTL 0x0e217800 |
Definition at line 105 of file sljitNativeARM_64.c.
#define FCVTZS 0x9e780000 |
Definition at line 106 of file sljitNativeARM_64.c.
#define FDIV 0x1e601800 |
Definition at line 107 of file sljitNativeARM_64.c.
#define FMOV 0x1e604000 |
Definition at line 108 of file sljitNativeARM_64.c.
#define FMOV_I 0x1e601000 |
Definition at line 110 of file sljitNativeARM_64.c.
#define FMOV_R 0x9e660000 |
Definition at line 109 of file sljitNativeARM_64.c.
#define FMUL 0x1e600800 |
Definition at line 111 of file sljitNativeARM_64.c.
#define FNEG 0x1e614000 |
Definition at line 112 of file sljitNativeARM_64.c.
#define FSUB 0x1e603800 |
Definition at line 113 of file sljitNativeARM_64.c.
#define HALF_SIZE 0x1 |
Definition at line 1126 of file sljitNativeARM_64.c.
#define INS 0x4e001c00 |
Definition at line 114 of file sljitNativeARM_64.c.
#define INS_e 0x6e000400 |
Definition at line 115 of file sljitNativeARM_64.c.
#define INT_OP 0x0040000 |
Definition at line 805 of file sljitNativeARM_64.c.
#define INT_SIZE 0x2 |
Definition at line 1127 of file sljitNativeARM_64.c.
#define LD1 0x0c407000 |
Definition at line 116 of file sljitNativeARM_64.c.
#define LD1_s 0x0d400000 |
Definition at line 117 of file sljitNativeARM_64.c.
#define LD1R 0x0d40c000 |
Definition at line 118 of file sljitNativeARM_64.c.
#define LDP 0xa9400000 |
Definition at line 122 of file sljitNativeARM_64.c.
#define LDP_F64 0x6d400000 |
Definition at line 123 of file sljitNativeARM_64.c.
#define LDP_POST 0xa8c00000 |
Definition at line 124 of file sljitNativeARM_64.c.
#define LDR (STRI | (1 << 22)) |
Definition at line 185 of file sljitNativeARM_64.c.
#define LDR_PRE 0xf8400c00 |
Definition at line 125 of file sljitNativeARM_64.c.
#define LDRB (STRBI | (1 << 22)) |
Definition at line 186 of file sljitNativeARM_64.c.
#define LDRH (LDRB | (1 << 30)) |
Definition at line 187 of file sljitNativeARM_64.c.
#define LDRI 0xf9400000 |
Definition at line 119 of file sljitNativeARM_64.c.
#define LDRI_F64 0xfd400000 |
Definition at line 120 of file sljitNativeARM_64.c.
#define LDRI_POST 0xf8400400 |
Definition at line 121 of file sljitNativeARM_64.c.
#define LDXR 0xc85f7c00 |
Definition at line 126 of file sljitNativeARM_64.c.
#define LDXRB 0x085f7c00 |
Definition at line 127 of file sljitNativeARM_64.c.
#define LDXRH 0x485f7c00 |
Definition at line 128 of file sljitNativeARM_64.c.
#define LOGICAL_IMM_CHECK (sljit_ins)0x100 |
Definition at line 645 of file sljitNativeARM_64.c.
#define LSLV 0x9ac02000 |
Definition at line 129 of file sljitNativeARM_64.c.
#define LSRV 0x9ac02400 |
Definition at line 130 of file sljitNativeARM_64.c.
#define MADD 0x9b000000 |
Definition at line 131 of file sljitNativeARM_64.c.
Definition at line 1130 of file sljitNativeARM_64.c.
Definition at line 188 of file sljitNativeARM_64.c.
#define MOVI 0x0f000400 |
Definition at line 132 of file sljitNativeARM_64.c.
#define MOVK 0xf2800000 |
Definition at line 133 of file sljitNativeARM_64.c.
#define MOVN 0x92800000 |
Definition at line 134 of file sljitNativeARM_64.c.
#define MOVZ 0xd2800000 |
Definition at line 135 of file sljitNativeARM_64.c.
#define NOP 0xd503201f |
Definition at line 136 of file sljitNativeARM_64.c.
#define ORN 0xaa200000 |
Definition at line 137 of file sljitNativeARM_64.c.
#define ORR 0xaa000000 |
Definition at line 138 of file sljitNativeARM_64.c.
#define ORR_v 0x0ea01c00 |
Definition at line 139 of file sljitNativeARM_64.c.
#define ORRI 0xb2000000 |
Definition at line 140 of file sljitNativeARM_64.c.
#define RBIT 0xdac00000 |
Definition at line 141 of file sljitNativeARM_64.c.
Definition at line 55 of file sljitNativeARM_64.c.
#define RET 0xd65f0000 |
Definition at line 142 of file sljitNativeARM_64.c.
#define REV 0xdac00c00 |
Definition at line 143 of file sljitNativeARM_64.c.
#define REV16 0xdac00400 |
Definition at line 144 of file sljitNativeARM_64.c.
Definition at line 59 of file sljitNativeARM_64.c.
Definition at line 57 of file sljitNativeARM_64.c.
#define RORV 0x9ac02c00 |
Definition at line 145 of file sljitNativeARM_64.c.
Definition at line 56 of file sljitNativeARM_64.c.
Definition at line 58 of file sljitNativeARM_64.c.
#define SBC 0xda000000 |
Definition at line 146 of file sljitNativeARM_64.c.
#define SBFM 0x93400000 |
Definition at line 147 of file sljitNativeARM_64.c.
#define SCVTF 0x9e620000 |
Definition at line 148 of file sljitNativeARM_64.c.
#define SDIV 0x9ac00c00 |
Definition at line 149 of file sljitNativeARM_64.c.
#define SET_FLAGS 0x0080000 |
Definition at line 806 of file sljitNativeARM_64.c.
#define SIGNED 0x20 |
Definition at line 1123 of file sljitNativeARM_64.c.
#define SMADDL 0x9b200000 |
Definition at line 150 of file sljitNativeARM_64.c.
#define SMOV 0x0e002c00 |
Definition at line 151 of file sljitNativeARM_64.c.
#define SMULH 0x9b403c00 |
Definition at line 152 of file sljitNativeARM_64.c.
#define SSHLL 0x0f00a400 |
Definition at line 153 of file sljitNativeARM_64.c.
#define ST1 0x0c007000 |
Definition at line 154 of file sljitNativeARM_64.c.
#define ST1_s 0x0d000000 |
Definition at line 155 of file sljitNativeARM_64.c.
#define STORE 0x10 |
Definition at line 1122 of file sljitNativeARM_64.c.
#define STP 0xa9000000 |
Definition at line 156 of file sljitNativeARM_64.c.
#define STP_F64 0x6d000000 |
Definition at line 157 of file sljitNativeARM_64.c.
#define STP_PRE 0xa9800000 |
Definition at line 158 of file sljitNativeARM_64.c.
#define STR_FI 0x3d000000 |
Definition at line 163 of file sljitNativeARM_64.c.
#define STR_FR 0x3c206800 |
Definition at line 164 of file sljitNativeARM_64.c.
#define STRB 0x38206800 |
Definition at line 159 of file sljitNativeARM_64.c.
#define STRBI 0x39000000 |
Definition at line 160 of file sljitNativeARM_64.c.
#define STRI 0xf9000000 |
Definition at line 161 of file sljitNativeARM_64.c.
#define STRI_F64 0xfd000000 |
Definition at line 162 of file sljitNativeARM_64.c.
#define STUR_FI 0x3c000000 |
Definition at line 165 of file sljitNativeARM_64.c.
#define STURBI 0x38000000 |
Definition at line 166 of file sljitNativeARM_64.c.
#define STXR 0xc8007c00 |
Definition at line 167 of file sljitNativeARM_64.c.
#define STXRB 0x8007c00 |
Definition at line 168 of file sljitNativeARM_64.c.
#define STXRH 0x48007c00 |
Definition at line 169 of file sljitNativeARM_64.c.
#define SUB 0xcb000000 |
Definition at line 170 of file sljitNativeARM_64.c.
#define SUBI 0xd1000000 |
Definition at line 171 of file sljitNativeARM_64.c.
#define SUBS 0xeb000000 |
Definition at line 172 of file sljitNativeARM_64.c.
#define TBZ 0x36000000 |
Definition at line 173 of file sljitNativeARM_64.c.
#define TMP_FP (SLJIT_NUMBER_OF_REGISTERS + 5) |
Definition at line 40 of file sljitNativeARM_64.c.
#define TMP_FREG1 (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1) |
Definition at line 42 of file sljitNativeARM_64.c.
#define TMP_FREG2 (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2) |
Definition at line 43 of file sljitNativeARM_64.c.
#define TMP_LR (SLJIT_NUMBER_OF_REGISTERS + 4) |
Definition at line 39 of file sljitNativeARM_64.c.
#define TMP_REG1 (SLJIT_NUMBER_OF_REGISTERS + 2) |
Definition at line 37 of file sljitNativeARM_64.c.
#define TMP_REG2 (SLJIT_NUMBER_OF_REGISTERS + 3) |
Definition at line 38 of file sljitNativeARM_64.c.
#define TMP_ZERO (0) |
Definition at line 35 of file sljitNativeARM_64.c.
#define UBFM 0xd3400000 |
Definition at line 174 of file sljitNativeARM_64.c.
#define UCVTF 0x9e630000 |
Definition at line 175 of file sljitNativeARM_64.c.
#define UDIV 0x9ac00800 |
Definition at line 176 of file sljitNativeARM_64.c.
#define UMOV 0x0e003c00 |
Definition at line 177 of file sljitNativeARM_64.c.
#define UMULH 0x9bc03c00 |
Definition at line 178 of file sljitNativeARM_64.c.
#define UNUSED_RETURN 0x0100000 |
Definition at line 807 of file sljitNativeARM_64.c.
#define USHLL 0x2f00a400 |
Definition at line 179 of file sljitNativeARM_64.c.
#define USHR 0x2f000400 |
Definition at line 180 of file sljitNativeARM_64.c.
#define USRA 0x2f001400 |
Definition at line 181 of file sljitNativeARM_64.c.
Definition at line 60 of file sljitNativeARM_64.c.
Definition at line 64 of file sljitNativeARM_64.c.
Definition at line 63 of file sljitNativeARM_64.c.
Definition at line 61 of file sljitNativeARM_64.c.
Definition at line 62 of file sljitNativeARM_64.c.
#define W_OP ((sljit_ins)1 << 31) |
Definition at line 54 of file sljitNativeARM_64.c.
#define WORD_SIZE 0x3 |
Definition at line 1128 of file sljitNativeARM_64.c.
#define XTN 0x0e212800 |
Definition at line 182 of file sljitNativeARM_64.c.
Definition at line 33 of file sljitNativeARM_64.c.
|
static |
Definition at line 207 of file sljitNativeARM_64.c.
References sljit_jump::addr, exit(), sljit_jump::flags, sljit_jump::label, NULL, sljit_label::size, SLJIT_ASSERT, SLJIT_REWRITABLE_JUMP, sljit_jump::target, and sljit_jump::u.
Referenced by sljit_generate_code().
|
static |
Definition at line 2384 of file sljitNativeARM_64.c.
References sljit_jump::addr, BR, CBZ, emit_op_mem(), sljit_jump::flags, INT_SIZE, load_immediate(), PTR_FAIL_IF, push_inst(), RN, RT, sljit_compiler::size, SLJIT_32, SLJIT_ASSERT, SLJIT_EQUAL, SLJIT_IMM, SLJIT_MEM, SLJIT_NOT_EQUAL, SLJIT_REWRITABLE_JUMP, TMP_REG1, TMP_REG2, W_OP, and WORD_SIZE.
|
static |
Definition at line 1914 of file sljitNativeARM_64.c.
References ADD, ADDI, FAIL_IF, flags, load_immediate(), MEM_SIZE_SHIFT, push_inst(), RD, RM, RN, SLJIT_ASSERT, SLJIT_MEM, STORE, STR_FI, STR_FR, STUR_FI, TMP_REG2, and VT.
Referenced by sljit_emit_fop1(), sljit_emit_fop1_cmp(), sljit_emit_fop1_conv_f64_from_w(), sljit_emit_fop1_conv_sw_from_f64(), sljit_emit_fop2(), and sljit_emit_fselect().
|
static |
Definition at line 199 of file sljitNativeARM_64.c.
References FAIL_IF, MOVK, MOVZ, push_inst(), and RD.
Referenced by sljit_emit_const().
|
static |
Definition at line 816 of file sljitNativeARM_64.c.
References ADC, ADD, ADDI, AND, ANDI, ARG1_IMM, ARG2_IMM, ASRV, CHECK_FLAGS, CLZ, EOR, EORI, EXTR, FAIL_IF, flags, INT_OP, load_immediate(), logical_imm(), LOGICAL_IMM_CHECK, LSLV, LSRV, MADD, MOV, ORN, ORR, ORRI, push_inst(), RBIT, RD, REV, REV16, RM, RN, RORV, RT2, SBC, SBFM, SET_FLAGS, SLJIT_ADD, SLJIT_ADDC, SLJIT_AND, SLJIT_ASHR, SLJIT_ASSERT, SLJIT_CLZ, SLJIT_CTZ, SLJIT_CURRENT_FLAGS_ADD, SLJIT_CURRENT_FLAGS_SUB, SLJIT_LSHR, SLJIT_MASHR, SLJIT_MLSHR, 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_MSHL, SLJIT_MUL, SLJIT_MULADD, SLJIT_OR, SLJIT_REV, SLJIT_REV_S16, SLJIT_REV_S32, SLJIT_REV_U16, SLJIT_REV_U32, SLJIT_ROTL, SLJIT_ROTR, SLJIT_SHL, SLJIT_SUB, SLJIT_SUBC, SLJIT_SUCCESS, SLJIT_UNLIKELY, SLJIT_UNREACHABLE, SLJIT_XOR, SMADDL, SMULH, SUB, SUBI, SUBS, TMP_LR, TMP_REG1, TMP_REG2, TMP_ZERO, UBFM, and W_OP.
Referenced by sljit_emit_op1(), sljit_emit_op2(), and sljit_emit_op_flags().
|
static |
Definition at line 1132 of file sljitNativeARM_64.c.
References ADD, ADDI, FAIL_IF, flags, load_immediate(), MEM_SIZE_SHIFT, push_inst(), RD, RM, RN, RT, SIGNED, SLJIT_ASSERT, SLJIT_MEM, SLJIT_UNLIKELY, STORE, STRB, STRBI, STURBI, and SUBI.
Referenced by emit_cmp_to0(), sljit_emit_const(), sljit_emit_fop1_conv_f64_from_w(), sljit_emit_fop1_conv_sw_from_f64(), sljit_emit_icall(), sljit_emit_ijump(), sljit_emit_mov_addr(), sljit_emit_op1(), sljit_emit_op2(), sljit_emit_op_dst(), sljit_emit_op_flags(), sljit_emit_op_src(), sljit_emit_return_to(), sljit_emit_select(), sljit_emit_shift_into(), sljit_emit_simd_sign(), and sljit_get_local_base().
|
static |
Definition at line 1402 of file sljitNativeARM_64.c.
References ADDI, FAIL_IF, sljit_compiler::fsaveds, sljit_compiler::fscratches, i, LDP, LDP_F64, LDP_POST, LDRI, LDRI_F64, LDRI_POST, sljit_compiler::local_size, sljit_compiler::options, prev(), push_inst(), RD, RN, RT, RT2, sljit_compiler::saveds, sljit_compiler::scratches, SLJIT_FIRST_SAVED_FLOAT_REG, SLJIT_FIRST_SAVED_REG, SLJIT_FS0, SLJIT_S0, SLJIT_SP, sw, tmp, TMP_FP, TMP_LR, VT, and VT2.
Referenced by sljit_emit_call(), sljit_emit_icall(), sljit_emit_return_to(), and sljit_emit_return_void().
|
static |
Definition at line 312 of file sljitNativeARM_64.c.
References ADDI, sljit_label::addr, sljit_jump::addr, ADR, ADRP, B, BL, sljit_jump::flags, sljit_jump::label, MOVK, MOVZ, SLJIT_ASSERT, SLJIT_UNUSED_ARG, sljit_jump::target, sljit_label::u, and sljit_jump::u.
Referenced by sljit_generate_code().
|
static |
Definition at line 2237 of file sljitNativeARM_64.c.
References SLJIT_ATOMIC_NOT_STORED, SLJIT_ATOMIC_STORED, SLJIT_CARRY, SLJIT_CURRENT_FLAGS_ADD, 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_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, SLJIT_UNORDERED_OR_NOT_EQUAL, and SLJIT_UNREACHABLE.
Referenced by sljit_emit_fselect(), sljit_emit_jump(), sljit_emit_op_flags(), and sljit_emit_select().
|
static |
Definition at line 714 of file sljitNativeARM_64.c.
References FAIL_IF, first(), i, logical_imm(), MOVK, MOVN, MOVZ, ORRI, push_inst(), RD, RN, SLJIT_SUCCESS, TMP_ZERO, and W_OP.
Referenced by emit_cmp_to0(), emit_fop_mem(), emit_op_imm(), emit_op_mem(), sljit_emit_fop1_conv_f64_from_w(), sljit_emit_fset32(), sljit_emit_fset64(), sljit_emit_mem(), sljit_emit_select(), sljit_emit_simd_lane_mov(), sljit_emit_simd_mem_offset(), sljit_emit_simd_replicate(), and sljit_get_local_base().
Definition at line 647 of file sljitNativeARM_64.c.
References COUNT_TRAILING_ZERO, len, LOGICAL_IMM_CHECK, mask, SLJIT_ASSERT, and SLJIT_UNREACHABLE.
Referenced by emit_op_imm(), and load_immediate().
|
static |
Definition at line 271 of file sljitNativeARM_64.c.
References sljit_jump::flags, sljit_jump::label, sljit_label::size, SLJIT_ASSERT, SLJIT_UNUSED_ARG, sljit_jump::target, and sljit_jump::u.
Referenced by sljit_generate_code().
|
static |
Definition at line 190 of file sljitNativeARM_64.c.
References FAIL_IF, sljit_compiler::size, and SLJIT_SUCCESS.
Referenced by emit_cmp_to0(), emit_fop_mem(), emit_imm64_const(), emit_op_imm(), emit_op_mem(), emit_stack_frame_release(), load_immediate(), sljit_emit_atomic_load(), sljit_emit_atomic_store(), sljit_emit_enter(), sljit_emit_fcopy(), sljit_emit_fmem_update(), sljit_emit_fop1(), sljit_emit_fop1_cmp(), sljit_emit_fop1_conv_f64_from_w(), sljit_emit_fop1_conv_sw_from_f64(), sljit_emit_fop2(), sljit_emit_fselect(), sljit_emit_fset32(), sljit_emit_fset64(), 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_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(), sljit_emit_shift_into(), sljit_emit_simd_extend(), sljit_emit_simd_lane_mov(), sljit_emit_simd_lane_replicate(), sljit_emit_simd_mem_offset(), sljit_emit_simd_mov(), sljit_emit_simd_op2(), sljit_emit_simd_replicate(), sljit_emit_simd_sign(), and sljit_get_local_base().
|
static |
Definition at line 374 of file sljitNativeARM_64.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().
Definition at line 2824 of file sljitNativeARM_64.c.
References result, SLJIT_ASSERT, and rapidjson::value.
Referenced by sljit_emit_simd_replicate().
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_cmp_info | ( | sljit_s32 | type | ) |
Definition at line 603 of file sljitNativeARM_64.c.
References SLJIT_ORDERED_NOT_EQUAL, and SLJIT_UNORDERED_OR_EQUAL.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_atomic_load | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | dst_reg, | ||
sljit_s32 | mem_reg | ||
) |
Definition at line 3263 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, LDR, LDRB, LDRH, LDXR, LDXRB, LDXRH, push_inst(), RN, RT, SLJIT_MOV32, SLJIT_MOV_U16, SLJIT_MOV_U32, and SLJIT_MOV_U8.
SLJIT_API_FUNC_ATTRIBUTE 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 | ||
) |
Definition at line 3308 of file sljitNativeARM_64.c.
References CAS, CASB, CASH, CHECK, CHECK_ERROR, CSET, FAIL_IF, MOV, push_inst(), RD, RM, RN, RT, SLJIT_MOV32, SLJIT_MOV_U16, SLJIT_MOV_U32, SLJIT_MOV_U8, SLJIT_SET_ATOMIC_STORED, SLJIT_SUCCESS, SLJIT_UNUSED_ARG, STXR, STXRB, STXRH, SUBI, SUBS, tmp, TMP_REG1, TMP_ZERO, and W_OP.
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_call | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | arg_types | ||
) |
Definition at line 2368 of file sljitNativeARM_64.c.
References CHECK_ERROR_PTR, emit_stack_frame_release(), PTR_FAIL_IF, 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 3423 of file sljitNativeARM_64.c.
References CHECK_ERROR_PTR, emit_imm64_const(), emit_op_mem(), PTR_FAIL_IF, SLJIT_MEM, STORE, TMP_REG1, TMP_REG2, and WORD_SIZE.
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 1210 of file sljitNativeARM_64.c.
References ADDI, B_CC, CHECK, CHECK_ERROR, FAIL_IF, i, LDRI, sljit_compiler::local_size, MOV, MOVZ, prev(), push_inst(), RD, RM, RN, RT, RT2, SLJIT_ARG_SHIFT, SLJIT_ARG_TYPE_F64, SLJIT_ARG_TYPE_SCRATCH_REG, SLJIT_ASSERT, SLJIT_ENTER_REG_ARG, SLJIT_FIRST_SAVED_FLOAT_REG, SLJIT_FIRST_SAVED_REG, SLJIT_FS0, SLJIT_R0, SLJIT_S0, SLJIT_SP, STP, STP_F64, STP_PRE, STRI, STRI_F64, SUBI, sw, tmp, TMP_FP, TMP_LR, TMP_REG1, TMP_ZERO, VT, and VT2.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fcopy | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op, | ||
sljit_s32 | freg, | ||
sljit_s32 | reg | ||
) |
Definition at line 2214 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, FMOV_R, push_inst(), RD, RN, SLJIT_32, SLJIT_COPY_TO_F64, VD, VN, and W_OP.
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 2699 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, push_inst(), RN, SLJIT_32, SLJIT_ERR_UNSUPPORTED, SLJIT_MEM_POST, SLJIT_MEM_STORE, SLJIT_MEM_SUPP, SLJIT_SUCCESS, STUR_FI, and VT.
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 2064 of file sljitNativeARM_64.c.
References CHECK_ERROR, emit_fop_mem(), FABS, FAIL_IF, FCVT, FMOV, FNEG, INT_SIZE, 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, STORE, TMP_FREG1, VD, VN, and WORD_SIZE.
|
static |
Definition at line 2038 of file sljitNativeARM_64.c.
References CCMPI, CSINC, emit_fop_mem(), FAIL_IF, FCMP, INT_SIZE, push_inst(), RD, RM, RN, SLJIT_32, SLJIT_MEM, SLJIT_SUCCESS, SLJIT_UNORDERED_OR_EQUAL, TMP_FREG1, TMP_FREG2, TMP_REG1, TMP_ZERO, VM, VN, and WORD_SIZE.
|
static |
Definition at line 2006 of file sljitNativeARM_64.c.
References SCVTF, SLJIT_32, SLJIT_CONV_F64_FROM_S32, sljit_emit_fop1_conv_f64_from_w(), SLJIT_IMM, and W_OP.
|
static |
Definition at line 2022 of file sljitNativeARM_64.c.
References SLJIT_32, SLJIT_CONV_F64_FROM_U32, sljit_emit_fop1_conv_f64_from_w(), SLJIT_IMM, UCVTF, and W_OP.
|
static |
Definition at line 1985 of file sljitNativeARM_64.c.
References emit_fop_mem(), emit_op_mem(), FAIL_IF, INT_SIZE, load_immediate(), push_inst(), RN, SLJIT_IMM, SLJIT_MEM, SLJIT_SUCCESS, STORE, TMP_FREG1, TMP_REG1, VD, W_OP, and WORD_SIZE.
Referenced by sljit_emit_fop1_conv_f64_from_sw(), and sljit_emit_fop1_conv_f64_from_uw().
|
static |
Definition at line 1963 of file sljitNativeARM_64.c.
References emit_fop_mem(), emit_op_mem(), FAIL_IF, FCVTZS, INT_SIZE, push_inst(), RD, SLJIT_32, SLJIT_CONV_S32_FROM_F64, SLJIT_MEM, SLJIT_SUCCESS, STORE, TMP_FREG1, TMP_REG1, TMP_REG2, VN, W_OP, and WORD_SIZE.
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 2109 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_fop_mem(), FABS, FADD, FAIL_IF, FDIV, FMOV_R, FMUL, FNEG, FSUB, INT_SIZE, push_inst(), RD, RT, SLJIT_32, SLJIT_ADD_F64, SLJIT_COPYSIGN_F64, SLJIT_DIV_F64, SLJIT_MEM, SLJIT_MUL_F64, SLJIT_SUB_F64, SLJIT_SUCCESS, STORE, TBZ, TMP_FREG1, TMP_FREG2, TMP_REG1, VD, VM, VN, W_OP, and WORD_SIZE.
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 2552 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_fop_mem(), FAIL_IF, FCSEL, get_cc(), INT_SIZE, push_inst(), SLJIT_32, SLJIT_MEM, TMP_FREG2, VD, VM, VN, and WORD_SIZE.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fset32 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | freg, | ||
sljit_f32 | value | ||
) |
Definition at line 2158 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, FAIL_IF, FMOV_I, FMOV_R, load_immediate(), push_inst(), RN, TMP_REG1, TMP_ZERO, rapidjson::value, VD, and W_OP.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fset64 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | freg, | ||
sljit_f64 | value | ||
) |
Definition at line 2186 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, FAIL_IF, FMOV_I, FMOV_R, load_immediate(), push_inst(), RN, TMP_REG1, TMP_ZERO, rapidjson::value, and VD.
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 2449 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_op_mem(), emit_stack_frame_release(), FAIL_IF, MOV, sljit_compiler::options, push_inst(), RD, RM, SLJIT_CALL_RETURN, sljit_emit_ijump(), SLJIT_FIRST_SAVED_REG, SLJIT_JUMP, SLJIT_MEM, SLJIT_S0, SLJIT_UNUSED_ARG, TMP_REG1, and WORD_SIZE.
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 2421 of file sljitNativeARM_64.c.
References sljit_jump::addr, BLR, BR, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, push_inst(), RN, sljit_compiler::size, SLJIT_FAST_CALL, SLJIT_IMM, SLJIT_MEM, sljit_jump::target, TMP_REG2, sljit_jump::u, and WORD_SIZE.
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 2342 of file sljitNativeARM_64.c.
References sljit_jump::addr, B_CC, BLR, BR, CHECK_ERROR_PTR, sljit_jump::flags, get_cc(), PTR_FAIL_IF, push_inst(), RN, sljit_compiler::size, SLJIT_FAST_CALL, SLJIT_JUMP, SLJIT_REWRITABLE_JUMP, and TMP_REG2.
Referenced by sljit_emit_call().
SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label | ( | struct sljit_compiler * | compiler | ) |
Definition at line 2326 of file sljitNativeARM_64.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 2574 of file sljitNativeARM_64.c.
References ADD, ADDI, CHECK, CHECK_ERROR, FAIL_IF, LDP, LDRI, load_immediate(), push_inst(), RD, RM, RN, RT, RT2, SLJIT_ASSERT, SLJIT_MEM1, SLJIT_MEM_STORE, STP, STRI, SUB, SUBI, and TMP_REG1.
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 2645 of file sljitNativeARM_64.c.
References BYTE_SIZE, CHECK, CHECK_ERROR, HALF_SIZE, INT_SIZE, MEM_SIZE_SHIFT, push_inst(), RN, RT, 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_UNREACHABLE, STURBI, and WORD_SIZE.
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_mov_addr | ( | struct sljit_compiler * | compiler, |
sljit_s32 | dst, | ||
sljit_sw | dstw | ||
) |
Definition at line 3444 of file sljitNativeARM_64.c.
References CHECK_ERROR_PTR, emit_op_mem(), PTR_FAIL_IF, push_inst(), RD, sljit_compiler::size, SLJIT_MEM, STORE, TMP_REG1, TMP_REG2, and WORD_SIZE.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0 | ( | struct sljit_compiler * | compiler, |
sljit_s32 | op | ||
) |
Definition at line 1530 of file sljitNativeARM_64.c.
References BRK, CHECK, CHECK_ERROR, FAIL_IF, MADD, MOV, NOP, push_inst(), RD, RM, RN, RT2, SDIV, 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, SMULH, SUB, TMP_REG1, TMP_ZERO, UDIV, UMULH, and W_OP.
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 1565 of file sljitNativeARM_64.c.
References ARG2_IMM, BYTE_SIZE, CHECK, CHECK_ERROR, emit_op_imm(), emit_op_mem(), FAIL_IF, flags, HALF_SIZE, INT_OP, INT_SIZE, SET_FLAGS, SIGNED, SLJIT_32, 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_REV_S16, SLJIT_REV_S32, SLJIT_REV_U16, SLJIT_REV_U32, SLJIT_SUCCESS, SLJIT_UNLIKELY, SLJIT_UNREACHABLE, STORE, TMP_REG1, TMP_REG2, and WORD_SIZE.
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 1672 of file sljitNativeARM_64.c.
References ARG1_IMM, ARG2_IMM, CHECK, CHECK_ERROR, emit_op_imm(), emit_op_mem(), FAIL_IF, flags, INT_OP, INT_SIZE, SET_FLAGS, SLJIT_32, SLJIT_IMM, SLJIT_MEM, SLJIT_SUCCESS, STORE, TMP_REG1, TMP_REG2, UNUSED_RETURN, and WORD_SIZE.
Referenced by sljit_emit_op2r(), sljit_emit_op2u(), 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 1735 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, sljit_emit_op2(), SLJIT_MULADD, and SLJIT_SUCCESS.
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 1724 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, sljit_emit_op2(), and TMP_REG2.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom | ( | struct sljit_compiler * | compiler, |
void * | instruction, | ||
sljit_u32 | size | ||
) |
Definition at line 1900 of file sljitNativeARM_64.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 1861 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, MOV, push_inst(), RD, RM, SLJIT_FAST_ENTER, SLJIT_GET_RETURN_ADDRESS, SLJIT_MEM, SLJIT_MEM1, SLJIT_SP, SLJIT_SUCCESS, STORE, TMP_LR, TMP_REG1, TMP_REG2, and WORD_SIZE.
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 2477 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, CSINC, emit_op_imm(), emit_op_mem(), FAIL_IF, flags, get_cc(), INT_OP, INT_SIZE, push_inst(), RD, RM, RN, SET_FLAGS, SLJIT_32, SLJIT_ADD, SLJIT_MEM, SLJIT_MOV, SLJIT_SUCCESS, STORE, TMP_REG1, TMP_REG2, TMP_ZERO, and WORD_SIZE.
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 1821 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, MOV, push_inst(), RD, reg_map, RET, RM, RN, SIGNED, SLJIT_ASSERT, SLJIT_FAST_RETURN, SLJIT_PREFETCH_L1, SLJIT_PREFETCH_L2, SLJIT_PREFETCH_L3, SLJIT_PREFETCH_ONCE, SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN, SLJIT_SUCCESS, TMP_LR, TMP_REG1, and WORD_SIZE.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_to | ( | struct sljit_compiler * | compiler, |
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 1503 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_op_mem(), emit_stack_frame_release(), FAIL_IF, MOV, sljit_compiler::options, push_inst(), RD, RM, sljit_emit_ijump(), SLJIT_FIRST_SAVED_REG, SLJIT_JUMP, SLJIT_MEM, SLJIT_S0, TMP_REG1, and WORD_SIZE.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_void | ( | struct sljit_compiler * | compiler | ) |
Definition at line 1493 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_stack_frame_release(), FAIL_IF, push_inst(), RET, RN, and TMP_LR.
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 2525 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, CSEL, emit_op_mem(), FAIL_IF, get_cc(), load_immediate(), push_inst(), RD, RM, RN, SLJIT_32, SLJIT_IMM, SLJIT_MEM, TMP_REG2, W_OP, and WORD_SIZE.
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 1752 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_op_mem(), EORI, EXTR, FAIL_IF, INT_SIZE, LSLV, LSRV, mask, MOV, ORR, push_inst(), RD, RM, RN, SLJIT_32, sljit_emit_op2(), SLJIT_IMM, SLJIT_MEM, SLJIT_MSHL, SLJIT_ROTL, SLJIT_ROTR, SLJIT_SHIFT_INTO_NON_ZERO, SLJIT_SHL, SLJIT_SUCCESS, SUB, TMP_REG1, TMP_REG2, TMP_ZERO, UBFM, W_OP, and WORD_SIZE.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_extend | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | freg, | ||
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 3103 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, FAIL_IF, FCVTL, LD1, LD1_s, push_inst(), RN, SLJIT_ASSERT, sljit_emit_simd_mem_offset(), SLJIT_ERR_UNSUPPORTED, SLJIT_MEM, SLJIT_SIMD_EXTEND_SIGNED, SLJIT_SIMD_FLOAT, SLJIT_SIMD_TEST, SLJIT_SUCCESS, SSHLL, USHLL, VD, VN, and VT.
SLJIT_API_FUNC_ATTRIBUTE 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 | ||
) |
Definition at line 2989 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, FAIL_IF, INS, INS_e, LD1_s, load_immediate(), MOVI, ORR_v, push_inst(), RD, RN, SLJIT_32, sljit_emit_simd_mem_offset(), SLJIT_ERR_UNSUPPORTED, SLJIT_IMM, SLJIT_MEM, SLJIT_SIMD_FLOAT, SLJIT_SIMD_LANE_SIGNED, SLJIT_SIMD_LANE_ZERO, SLJIT_SIMD_STORE, SLJIT_SIMD_TEST, SLJIT_SUCCESS, SMOV, ST1_s, TMP_FREG1, TMP_REG2, UMOV, VD, VM, VN, and VT.
SLJIT_API_FUNC_ATTRIBUTE 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 | ||
) |
Definition at line 3075 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, DUP_e, push_inst(), SLJIT_ERR_UNSUPPORTED, SLJIT_SIMD_FLOAT, SLJIT_SIMD_TEST, SLJIT_SUCCESS, VD, and VN.
|
static |
Definition at line 2728 of file sljitNativeARM_64.c.
References ADD, ADDI, FAIL_IF, load_immediate(), push_inst(), RD, RM, RN, SLJIT_SUCCESS, SLJIT_UNLIKELY, SUBI, and TMP_REG2.
Referenced by sljit_emit_simd_extend(), sljit_emit_simd_lane_mov(), sljit_emit_simd_mov(), and sljit_emit_simd_replicate().
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_mov | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | freg, | ||
sljit_s32 | srcdst, | ||
sljit_sw | srcdstw | ||
) |
Definition at line 2777 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, FAIL_IF, LD1, ORR_v, push_inst(), RN, sljit_emit_simd_mem_offset(), SLJIT_ERR_UNSUPPORTED, SLJIT_MEM, SLJIT_SIMD_FLOAT, SLJIT_SIMD_STORE, SLJIT_SIMD_TEST, SLJIT_SUCCESS, ST1, VD, VM, VN, and VT.
SLJIT_API_FUNC_ATTRIBUTE 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 | ||
) |
Definition at line 3226 of file sljitNativeARM_64.c.
References AND_v, CHECK, CHECK_ERROR, EOR_v, ORR_v, push_inst(), SLJIT_ERR_UNSUPPORTED, SLJIT_SIMD_FLOAT, SLJIT_SIMD_OP2_AND, SLJIT_SIMD_OP2_OR, SLJIT_SIMD_OP2_XOR, SLJIT_SIMD_TEST, SLJIT_SUCCESS, VD, VM, and VN.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_replicate | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | freg, | ||
sljit_s32 | src, | ||
sljit_sw | srcw | ||
) |
Definition at line 2925 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, DUP_e, DUP_g, FAIL_IF, LD1R, load_immediate(), MOVI, push_inst(), RN, simd_get_imm(), sljit_emit_simd_mem_offset(), SLJIT_ERR_UNSUPPORTED, SLJIT_IMM, SLJIT_MEM, SLJIT_SIMD_FLOAT, SLJIT_SIMD_TEST, SLJIT_SUCCESS, TMP_REG2, VD, VN, and VT.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_sign | ( | struct sljit_compiler * | compiler, |
sljit_s32 | type, | ||
sljit_s32 | freg, | ||
sljit_s32 | dst, | ||
sljit_sw | dstw | ||
) |
Definition at line 3149 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, INS_e, INT_SIZE, push_inst(), RD, SLJIT_32, SLJIT_ERR_UNSUPPORTED, SLJIT_SIMD_FLOAT, SLJIT_SIMD_TEST, SLJIT_SUCCESS, STORE, TMP_FREG1, TMP_REG1, TMP_REG2, UMOV, USHR, USRA, VD, VN, WORD_SIZE, and XTN.
SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code | ( | struct sljit_compiler * | compiler, |
sljit_s32 | options, | ||
void * | exec_allocator_data | ||
) |
Definition at line 463 of file sljitNativeARM_64.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, 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 sljit_s32 sljit_get_local_base | ( | struct sljit_compiler * | compiler, |
sljit_s32 | dst, | ||
sljit_sw | dstw, | ||
sljit_sw | offset | ||
) |
Definition at line 3383 of file sljitNativeARM_64.c.
References ADDE, ADDI, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, load_immediate(), offset, push_inst(), RD, RM, RN, SLJIT_MEM, SLJIT_MEM1, SLJIT_SP, SLJIT_SUCCESS, SLJIT_UNLIKELY, STORE, SUBI, TMP_REG1, and WORD_SIZE.
SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name | ( | void | ) |
Definition at line 27 of file sljitNativeARM_64.c.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index | ( | sljit_s32 | type, |
sljit_s32 | reg | ||
) |
Definition at line 1887 of file sljitNativeARM_64.c.
References freg_map, reg_map, SLJIT_FLOAT_REGISTER, SLJIT_GP_REGISTER, SLJIT_SIMD_REG_128, and SLJIT_SIMD_REG_64.
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature | ( | sljit_s32 | feature_type | ) |
Definition at line 575 of file sljitNativeARM_64.c.
References SLJIT_HAS_ATOMIC, SLJIT_HAS_CLZ, SLJIT_HAS_CMOV, SLJIT_HAS_COPY_F32, SLJIT_HAS_COPY_F64, SLJIT_HAS_CTZ, SLJIT_HAS_FPU, SLJIT_HAS_PREFETCH, SLJIT_HAS_REV, SLJIT_HAS_ROT, SLJIT_HAS_SIMD, 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 3488 of file sljitNativeARM_64.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 1385 of file sljitNativeARM_64.c.
References CHECK, CHECK_ERROR, sljit_compiler::local_size, and SLJIT_SUCCESS.
SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr | ( | sljit_uw | addr, |
sljit_uw | new_target, | ||
sljit_sw | executable_offset | ||
) |
Definition at line 3468 of file sljitNativeARM_64.c.
References MOVK, MOVZ, SLJIT_ASSERT, SLJIT_CACHE_FLUSH, SLJIT_UNUSED_ARG, and SLJIT_UPDATE_WX_FLAGS.
Referenced by sljit_set_const().
Definition at line 50 of file sljitNativeARM_64.c.
Referenced by sljit_get_register_index().
Definition at line 46 of file sljitNativeARM_64.c.
Referenced by sljit_emit_op_src(), and sljit_get_register_index().