Lines Matching refs:compiler
29 static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s32 reg, sljit_sw imm) in load_immediate() argument
32 return push_inst(compiler, ADDI | D(reg) | A(0) | IMM(imm)); in load_immediate()
35 return push_inst(compiler, ORI | S(TMP_ZERO) | A(reg) | IMM(imm)); in load_immediate()
37 FAIL_IF(push_inst(compiler, ADDIS | D(reg) | A(0) | IMM(imm >> 16))); in load_immediate()
38 return (imm & 0xffff) ? push_inst(compiler, ORI | S(reg) | A(reg) | IMM(imm)) : SLJIT_SUCCESS; in load_immediate()
44 static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sljit_s32 op, sljit_s… in emit_single_op() argument
54 return push_inst(compiler, OR | S(src2) | A(dst) | B(src2)); in emit_single_op()
62 return push_inst(compiler, EXTSB | S(src2) | A(dst)); in emit_single_op()
63 return push_inst(compiler, INS_CLEAR_LEFT(dst, src2, 24)); in emit_single_op()
66 return push_inst(compiler, EXTSB | S(src2) | A(dst)); in emit_single_op()
77 return push_inst(compiler, EXTSH | S(src2) | A(dst)); in emit_single_op()
78 return push_inst(compiler, INS_CLEAR_LEFT(dst, src2, 16)); in emit_single_op()
87 return push_inst(compiler, NOR | RC(flags) | S(src2) | A(dst) | B(src2)); in emit_single_op()
92 …return push_inst(compiler, NEG | OE((flags & ALT_FORM1) ? ALT_SET_FLAGS : 0) | RC(flags) | D(dst) … in emit_single_op()
96 return push_inst(compiler, CNTLZW | S(src2) | A(dst)); in emit_single_op()
101 …return push_inst(compiler, ADD | OE(ALT_SET_FLAGS) | RC(ALT_SET_FLAGS) | D(dst) | A(src1) | B(src2… in emit_single_op()
109 return push_inst(compiler, ADDIS | D(dst) | A(src1) | compiler->imm); in emit_single_op()
112 …FAIL_IF(push_inst(compiler, ADDIS | D(dst) | A(src1) | (((compiler->imm >> 16) & 0xffff) + ((compi… in emit_single_op()
116 return push_inst(compiler, ADDI | D(dst) | A(src1) | (compiler->imm & 0xffff)); in emit_single_op()
120 return push_inst(compiler, ADDIC | D(dst) | A(src1) | compiler->imm); in emit_single_op()
123 return push_inst(compiler, ADD | D(dst) | A(src1) | B(src2)); in emit_single_op()
125 return push_inst(compiler, ADDC | RC(ALT_SET_FLAGS) | D(dst) | A(src1) | B(src2)); in emit_single_op()
126 return push_inst(compiler, ADD | RC(flags) | D(dst) | A(src1) | B(src2)); in emit_single_op()
129 return push_inst(compiler, ADDE | D(dst) | A(src1) | B(src2)); in emit_single_op()
134 FAIL_IF(push_inst(compiler, CMPLI | CRD(0) | A(src1) | compiler->imm)); in emit_single_op()
137 return push_inst(compiler, ADDI | D(dst) | A(src1) | (-compiler->imm & 0xffff)); in emit_single_op()
139 FAIL_IF(push_inst(compiler, CMPL | CRD(0) | A(src1) | B(src2))); in emit_single_op()
142 return push_inst(compiler, SUBF | D(dst) | A(src2) | B(src1)); in emit_single_op()
147 …return push_inst(compiler, SUBF | OE(ALT_SET_FLAGS) | RC(ALT_SET_FLAGS) | D(dst) | A(src2) | B(src… in emit_single_op()
153 return push_inst(compiler, SUBFIC | D(dst) | A(src1) | compiler->imm); in emit_single_op()
159 return push_inst(compiler, CMPI | CRD(0) | A(src1) | compiler->imm); in emit_single_op()
161 return push_inst(compiler, CMP | CRD(0) | A(src1) | B(src2)); in emit_single_op()
165 return push_inst(compiler, SUBF | D(dst) | A(src2) | B(src1)); in emit_single_op()
167 return push_inst(compiler, SUBFC | RC(ALT_SET_FLAGS) | D(dst) | A(src2) | B(src1)); in emit_single_op()
168 return push_inst(compiler, SUBF | RC(flags) | D(dst) | A(src2) | B(src1)); in emit_single_op()
171 return push_inst(compiler, SUBFE | D(dst) | A(src2) | B(src1)); in emit_single_op()
176 return push_inst(compiler, MULLI | D(dst) | A(src1) | compiler->imm); in emit_single_op()
178 return push_inst(compiler, MULLW | OE(flags) | RC(flags) | D(dst) | A(src2) | B(src1)); in emit_single_op()
183 return push_inst(compiler, ANDI | S(src1) | A(dst) | compiler->imm); in emit_single_op()
187 return push_inst(compiler, ANDIS | S(src1) | A(dst) | compiler->imm); in emit_single_op()
189 return push_inst(compiler, AND | RC(flags) | S(src1) | A(dst) | B(src2)); in emit_single_op()
194 return push_inst(compiler, ORI | S(src1) | A(dst) | compiler->imm); in emit_single_op()
198 return push_inst(compiler, ORIS | S(src1) | A(dst) | compiler->imm); in emit_single_op()
202 FAIL_IF(push_inst(compiler, ORI | S(src1) | A(dst) | IMM(compiler->imm))); in emit_single_op()
203 return push_inst(compiler, ORIS | S(dst) | A(dst) | IMM(compiler->imm >> 16)); in emit_single_op()
205 return push_inst(compiler, OR | RC(flags) | S(src1) | A(dst) | B(src2)); in emit_single_op()
210 return push_inst(compiler, XORI | S(src1) | A(dst) | compiler->imm); in emit_single_op()
214 return push_inst(compiler, XORIS | S(src1) | A(dst) | compiler->imm); in emit_single_op()
218 FAIL_IF(push_inst(compiler, XORI | S(src1) | A(dst) | IMM(compiler->imm))); in emit_single_op()
219 return push_inst(compiler, XORIS | S(dst) | A(dst) | IMM(compiler->imm >> 16)); in emit_single_op()
221 return push_inst(compiler, XOR | RC(flags) | S(src1) | A(dst) | B(src2)); in emit_single_op()
226 compiler->imm &= 0x1f; in emit_single_op()
227 …return push_inst(compiler, RLWINM | RC(flags) | S(src1) | A(dst) | (compiler->imm << 11) | ((31 - … in emit_single_op()
229 return push_inst(compiler, SLW | RC(flags) | S(src1) | A(dst) | B(src2)); in emit_single_op()
234 compiler->imm &= 0x1f; in emit_single_op()
235 …return push_inst(compiler, RLWINM | RC(flags) | S(src1) | A(dst) | (((32 - compiler->imm) & 0x1f) … in emit_single_op()
237 return push_inst(compiler, SRW | RC(flags) | S(src1) | A(dst) | B(src2)); in emit_single_op()
242 compiler->imm &= 0x1f; in emit_single_op()
243 return push_inst(compiler, SRAWI | RC(flags) | S(src1) | A(dst) | (compiler->imm << 11)); in emit_single_op()
245 return push_inst(compiler, SRAW | RC(flags) | S(src1) | A(dst) | B(src2)); in emit_single_op()
252 static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_s32 reg, sljit_sw i… in emit_const() argument
254 FAIL_IF(push_inst(compiler, ADDIS | D(reg) | A(0) | IMM(init_value >> 16))); in emit_const()
255 return push_inst(compiler, ORI | S(reg) | A(reg) | IMM(init_value)); in emit_const()