Lines Matching refs:imm
44 #define IMM16(imm) ((imm) & 0xffff)
420 #define SHRUI(dst, srca, imm) \
421 push_3_buffer(compiler, TILEGX_OPC_SHRUI, dst, srca, imm, __LINE__)
423 #define XORI(dst, srca, imm) \
424 push_3_buffer(compiler, TILEGX_OPC_XORI, dst, srca, imm, __LINE__)
426 #define ORI(dst, srca, imm) \
427 push_3_buffer(compiler, TILEGX_OPC_ORI, dst, srca, imm, __LINE__)
435 #define CMPLTUI(dst, srca, imm) \
436 push_3_buffer(compiler, TILEGX_OPC_CMPLTUI, dst, srca, imm, __LINE__)
468 #define ADDI_SOLO(dest, srca, imm) \
469 push_inst(compiler, ADDI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM8_X1(imm))
471 #define ADDLI_SOLO(dest, srca, imm) \
472 push_inst(compiler, ADDLI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM16_X1(imm))
474 #define SHL16INSLI_SOLO(dest, srca, imm) \
475 push_inst(compiler, SHL16INSLI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM16_X1(imm))
1122 static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm)
1125 if (imm <= SIMM_16BIT_MAX && imm >= SIMM_16BIT_MIN)
1126 return ADDLI(dst_ar, ZERO, imm);
1128 if (imm <= SIMM_32BIT_MAX && imm >= SIMM_32BIT_MIN) {
1129 FAIL_IF(ADDLI(dst_ar, ZERO, imm >> 16));
1130 return SHL16INSLI(dst_ar, dst_ar, imm);
1133 if (imm <= SIMM_48BIT_MAX && imm >= SIMM_48BIT_MIN) {
1134 FAIL_IF(ADDLI(dst_ar, ZERO, imm >> 32));
1135 FAIL_IF(SHL16INSLI(dst_ar, dst_ar, imm >> 16));
1136 return SHL16INSLI(dst_ar, dst_ar, imm);
1139 FAIL_IF(ADDLI(dst_ar, ZERO, imm >> 48));
1140 FAIL_IF(SHL16INSLI(dst_ar, dst_ar, imm >> 32));
1141 FAIL_IF(SHL16INSLI(dst_ar, dst_ar, imm >> 16));
1142 return SHL16INSLI(dst_ar, dst_ar, imm);
1145 static sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm, int flush)
1150 FAIL_IF(ADDLI_SOLO(dst_ar, ZERO, imm >> 32));
1151 FAIL_IF(SHL16INSLI_SOLO(dst_ar, dst_ar, imm >> 16));
1152 return SHL16INSLI_SOLO(dst_ar, dst_ar, imm);
1155 FAIL_IF(ADDLI(dst_ar, ZERO, imm >> 32));
1156 FAIL_IF(SHL16INSLI(dst_ar, dst_ar, imm >> 16));
1157 return SHL16INSLI(dst_ar, dst_ar, imm);
1160 static sljit_s32 emit_const_64(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm, int flush)
1165 FAIL_IF(ADDLI_SOLO(reg_map[dst_ar], ZERO, imm >> 48));
1166 FAIL_IF(SHL16INSLI_SOLO(reg_map[dst_ar], reg_map[dst_ar], imm >> 32));
1167 FAIL_IF(SHL16INSLI_SOLO(reg_map[dst_ar], reg_map[dst_ar], imm >> 16));
1168 return SHL16INSLI_SOLO(reg_map[dst_ar], reg_map[dst_ar], imm);
1171 FAIL_IF(ADDLI(reg_map[dst_ar], ZERO, imm >> 48));
1172 FAIL_IF(SHL16INSLI(reg_map[dst_ar], reg_map[dst_ar], imm >> 32));
1173 FAIL_IF(SHL16INSLI(reg_map[dst_ar], reg_map[dst_ar], imm >> 16));
1174 return SHL16INSLI(reg_map[dst_ar], reg_map[dst_ar], imm);
1964 arg2 goes to TMP_REG2, imm or src reg.