Lines Matching refs:imm

396 static SLJIT_INLINE sljit_s32 emit_imm(struct sljit_compiler *compiler, sljit_s32 reg, sljit_sw imm)  in emit_imm()  argument
398 FAIL_IF(push_inst(compiler, MOVW | RD(reg) | ((imm << 4) & 0xf0000) | (imm & 0xfff))); in emit_imm()
399 return push_inst(compiler, MOVT | RD(reg) | ((imm >> 12) & 0xf0000) | ((imm >> 16) & 0xfff)); in emit_imm()
522 static sljit_uw get_imm(sljit_uw imm);
898 #define TYPE2_TRANSFER_IMM(imm) \ argument
899 (((imm) & 0xf) | (((imm) & 0xf0) << 4) | (1 << 22))
1152 static sljit_uw get_imm(sljit_uw imm) in get_imm() argument
1156 if (imm <= 0xff) in get_imm()
1157 return SRC2_IMM | imm; in get_imm()
1159 if (!(imm & 0xff000000)) { in get_imm()
1160 imm <<= 8; in get_imm()
1164 imm = (imm << 24) | (imm >> 8); in get_imm()
1168 if (!(imm & 0xff000000)) { in get_imm()
1169 imm <<= 8; in get_imm()
1173 if (!(imm & 0xf0000000)) { in get_imm()
1174 imm <<= 4; in get_imm()
1178 if (!(imm & 0xc0000000)) { in get_imm()
1179 imm <<= 2; in get_imm()
1183 if (!(imm & 0x00ffffff)) in get_imm()
1184 return SRC2_IMM | (imm >> 24) | (rol << 8); in get_imm()
1190 static sljit_s32 generate_int(struct sljit_compiler *compiler, sljit_s32 reg, sljit_uw imm, sljit_s… in generate_int() argument
1201 if (!(imm & mask)) { in generate_int()
1203 imm = (imm << rol) | (imm >> (32 - rol)); in generate_int()
1212 imm = (imm << 8) | (imm >> 24); in generate_int()
1216 if (!(imm & mask)) { in generate_int()
1218 imm = (imm << rol) | (imm >> (32 - rol)); in generate_int()
1233 SLJIT_ASSERT(!(imm & 0xff)); in generate_int()
1235 if (!(imm & 0xff000000)) { in generate_int()
1236 imm1 = SRC2_IMM | ((imm >> 16) & 0xff) | (((rol + 4) & 0xf) << 8); in generate_int()
1237 imm2 = SRC2_IMM | ((imm >> 8) & 0xff) | (((rol + 8) & 0xf) << 8); in generate_int()
1239 else if (imm & 0xc0000000) { in generate_int()
1240 imm1 = SRC2_IMM | ((imm >> 24) & 0xff) | ((rol & 0xf) << 8); in generate_int()
1241 imm <<= 8; in generate_int()
1244 if (!(imm & 0xff000000)) { in generate_int()
1245 imm <<= 8; in generate_int()
1249 if (!(imm & 0xf0000000)) { in generate_int()
1250 imm <<= 4; in generate_int()
1254 if (!(imm & 0xc0000000)) { in generate_int()
1255 imm <<= 2; in generate_int()
1259 if (!(imm & 0x00ffffff)) in generate_int()
1260 imm2 = SRC2_IMM | (imm >> 24) | ((rol & 0xf) << 8); in generate_int()
1265 if (!(imm & 0xf0000000)) { in generate_int()
1266 imm <<= 4; in generate_int()
1270 if (!(imm & 0xc0000000)) { in generate_int()
1271 imm <<= 2; in generate_int()
1275 imm1 = SRC2_IMM | ((imm >> 24) & 0xff) | ((rol & 0xf) << 8); in generate_int()
1276 imm <<= 8; in generate_int()
1279 if (!(imm & 0xf0000000)) { in generate_int()
1280 imm <<= 4; in generate_int()
1284 if (!(imm & 0xc0000000)) { in generate_int()
1285 imm <<= 2; in generate_int()
1289 if (!(imm & 0x00ffffff)) in generate_int()
1290 imm2 = SRC2_IMM | (imm >> 24) | ((rol & 0xf) << 8); in generate_int()
1301 static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s32 reg, sljit_uw imm) in load_immediate() argument
1306 if (!(imm & ~0xffff)) in load_immediate()
1307 return push_inst(compiler, MOVW | RD(reg) | ((imm << 4) & 0xf0000) | (imm & 0xfff)); in load_immediate()
1311 tmp = get_imm(imm); in load_immediate()
1315 tmp = get_imm(~imm); in load_immediate()
1321 FAIL_IF(generate_int(compiler, reg, imm, 1)); in load_immediate()
1322 FAIL_IF(generate_int(compiler, reg, ~imm, 0)); in load_immediate()
1325 …ush_inst_with_literal(compiler, EMIT_DATA_TRANSFER(WORD_SIZE | LOAD_DATA, 1, reg, TMP_PC, 0), imm); in load_immediate()
1327 FAIL_IF(push_inst(compiler, MOVW | RD(reg) | ((imm << 4) & 0xf0000) | (imm & 0xfff))); in load_immediate()
1328 if (imm <= 0xffff) in load_immediate()
1330 return push_inst(compiler, MOVT | RD(reg) | ((imm >> 12) & 0xf0000) | ((imm >> 16) & 0xfff)); in load_immediate()
1337 sljit_uw imm, offset_reg; in emit_op_mem() local
1376 imm = get_imm(argw & ~0xfff); in emit_op_mem()
1377 if (imm) { in emit_op_mem()
1378 FAIL_IF(push_inst(compiler, ADD | RD(tmp_reg) | RN(arg) | imm)); in emit_op_mem()
1384 imm = get_imm(-argw & ~0xfff); in emit_op_mem()
1385 if (imm) { in emit_op_mem()
1386 FAIL_IF(push_inst(compiler, SUB | RD(tmp_reg) | RN(arg) | imm)); in emit_op_mem()
1400 imm = get_imm(argw & ~0xff); in emit_op_mem()
1401 if (imm) { in emit_op_mem()
1402 FAIL_IF(push_inst(compiler, ADD | RD(tmp_reg) | RN(arg) | imm)); in emit_op_mem()
1408 imm = get_imm(-argw & ~0xff); in emit_op_mem()
1409 if (imm) { in emit_op_mem()
1410 FAIL_IF(push_inst(compiler, SUB | RD(tmp_reg) | RN(arg) | imm)); in emit_op_mem()
1785 sljit_uw imm; in emit_fop_mem() local
1804 imm = get_imm(argw & ~0x3fc); in emit_fop_mem()
1805 if (imm) { in emit_fop_mem()
1806 FAIL_IF(push_inst(compiler, ADD | RD(TMP_REG2) | RN(arg & REG_MASK) | imm)); in emit_fop_mem()
1809 imm = get_imm(-argw & ~0x3fc); in emit_fop_mem()
1810 if (imm) { in emit_fop_mem()
1812 FAIL_IF(push_inst(compiler, SUB | RD(TMP_REG2) | RN(arg & REG_MASK) | imm)); in emit_fop_mem()