Lines Matching refs:ins

128 static SLJIT_INLINE sljit_uw sizeof_ins(sljit_ins ins)  in sizeof_ins()  argument
131 if (ins == 0) in sizeof_ins()
134 if ((ins & 0x00000000ffffL) == ins) in sizeof_ins()
136 if ((ins & 0x0000ffffffffL) == ins) in sizeof_ins()
138 if ((ins & 0xffffffffffffL) == ins) in sizeof_ins()
145 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins) in push_inst() argument
149 *ibuf = ins; in push_inst()
154 static sljit_s32 encode_inst(void **ptr, sljit_ins ins) in encode_inst() argument
157 sljit_uw size = sizeof_ins(ins); in encode_inst()
162 *ibuf++ = (sljit_u16)(ins >> 32); in encode_inst()
165 *ibuf++ = (sljit_u16)(ins >> 16); in encode_inst()
168 *ibuf++ = (sljit_u16)(ins); in encode_inst()
973 sljit_ins ins; in load_word() local
982 ins = WHEN(is_u12(addr.offset), dst, l, ly, addr); in load_word()
984 ins = lg(dst, addr.offset, addr.index, addr.base); in load_word()
986 return push_inst(compiler, ins); in load_word()
995 sljit_ins ins; in store_word() local
1004 ins = WHEN(is_u12(addr.offset), src, st, sty, addr); in store_word()
1006 ins = stg(src, addr.offset, addr.index, addr.base); in store_word()
1008 return push_inst(compiler, ins); in store_word()
1029 static sljit_s32 emit_rr(struct sljit_compiler *compiler, sljit_ins ins, in emit_rr() argument
1057 FAIL_IF(push_inst(compiler, ins | (dst_r << 4) | src_r)); in emit_rr()
1066 static sljit_s32 emit_rrf(struct sljit_compiler *compiler, sljit_ins ins, in emit_rrf() argument
1085 return push_inst(compiler, ins | (dst_r << 4) | src1_r | (src2_r << 12)); in emit_rrf()
1093 static sljit_s32 emit_ri(struct sljit_compiler *compiler, sljit_ins ins, in emit_ri() argument
1113 return push_inst(compiler, ins | (dst_r << 36) | (src2w & 0xffffffff)); in emit_ri()
1114 return push_inst(compiler, ins | (dst_r << 20) | (src2w & 0xffff)); in emit_ri()
1117 static sljit_s32 emit_rie_d(struct sljit_compiler *compiler, sljit_ins ins, in emit_rie_d() argument
1130 return push_inst(compiler, ins | (dst_r << 36) | (src_r << 32) | (src2w & 0xffff) << 16); in emit_rie_d()
1138 static sljit_s32 emit_rx(struct sljit_compiler *compiler, sljit_ins ins, in emit_rx() argument
1186 ins |= (dst_r << 20) | (index << 16) | (base << 12) | src2w; in emit_rx()
1188 ins |= (dst_r << 36) | (index << 32) | (base << 28) | disp_s20(src2w); in emit_rx()
1190 FAIL_IF(push_inst(compiler, ins)); in emit_rx()
1199 static sljit_s32 emit_siy(struct sljit_compiler *compiler, sljit_ins ins, in emit_siy() argument
1229 return push_inst(compiler, ins | ((srcw & 0xff) << 32) | (dst_r << 28) | disp_s20(dstw)); in emit_siy()
1248 sljit_ins ins, ins_k; in emit_commutative() local
1284 ins = ins12; in emit_commutative()
1288 ins = ins20; in emit_commutative()
1293 return emit_rx(compiler, ins, dst, src1, src1w, src2, src2w, rx_type); in emit_commutative()
1296 return emit_rx(compiler, ins, dst, src2, src2w, src1, src1w, rx_type); in emit_commutative()
1301 ins = forms->op_r; in emit_commutative()
1305 ins = forms->op_gr; in emit_commutative()
1309 SLJIT_ASSERT(ins != 0 || ins_k != 0); in emit_commutative()
1311 if (ins && SLOW_IS_REG(dst)) { in emit_commutative()
1313 return emit_rr(compiler, ins, dst, src1, src1w, src2, src2w); in emit_commutative()
1316 return emit_rr(compiler, ins, dst, src2, src2w, src1, src1w); in emit_commutative()
1320 return emit_rr(compiler, ins, dst, src1, src1w, src2, src2w); in emit_commutative()
1331 sljit_ins ins; in emit_non_commutative() local
1357 ins = (mode & SLJIT_I32_OP) ? forms->op_rk : forms->op_grk; in emit_non_commutative()
1359 if (ins == 0 || (SLOW_IS_REG(dst) && dst == src1)) in emit_non_commutative()
1362 return emit_rrf(compiler, ins, dst, src1, src1w, src2, src2w); in emit_non_commutative()
1401 sljit_ins ins = ibuf[i]; in sljit_generate_code() local
1409 if (ins & sljit_ins_const) { in sljit_generate_code()
1411 ins &= ~sljit_ins_const; in sljit_generate_code()
1433 ins_size += sizeof_ins(ins); in sljit_generate_code()
1486 sljit_ins ins = ibuf[i]; in sljit_generate_code() local
1487 if (ins & sljit_ins_const) { in sljit_generate_code()
1489 ins &= ~sljit_ins_const; in sljit_generate_code()
1497 ins |= (sljit_ins)offset & 0xffffffff; in sljit_generate_code()
1526 sljit_ins op = (ins >> 32) & 0xf; in sljit_generate_code()
1527 sljit_ins arg = (ins >> 36) & 0xf; in sljit_generate_code()
1530 ins = bcr(arg, tmp1); in sljit_generate_code()
1533 ins = basr(arg, tmp1); in sljit_generate_code()
1550 ins |= (sljit_ins)offset & 0xffffffff; in sljit_generate_code()
1568 ins |= (sljit_ins)offset & 0xffffffff; in sljit_generate_code()
1572 encode_inst(&code_ptr, ins); in sljit_generate_code()
1778 sljit_ins ins; in sljit_emit_op1() local
1802 ins = llcr(dst_r, src_r); in sljit_emit_op1()
1805 ins = lbr(dst_r, src_r); in sljit_emit_op1()
1808 ins = llhr(dst_r, src_r); in sljit_emit_op1()
1811 ins = lhr(dst_r, src_r); in sljit_emit_op1()
1814 ins = lr(dst_r, src_r); in sljit_emit_op1()
1818 ins = llgcr(dst_r, src_r); in sljit_emit_op1()
1821 ins = lgbr(dst_r, src_r); in sljit_emit_op1()
1824 ins = llghr(dst_r, src_r); in sljit_emit_op1()
1827 ins = lghr(dst_r, src_r); in sljit_emit_op1()
1830 ins = llgfr(dst_r, src_r); in sljit_emit_op1()
1833 ins = lgfr(dst_r, src_r); in sljit_emit_op1()
1837 ins = lgr(dst_r, src_r); in sljit_emit_op1()
1840 ins = 0; in sljit_emit_op1()
1843 FAIL_IF(push_inst(compiler, ins)); in sljit_emit_op1()
1880 ins = llc(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1883 ins = lb(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1886 ins = llh(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1889 ins = WHEN2(is_u12(mem.offset), lh, lhy); in sljit_emit_op1()
1892 ins = WHEN2(is_u12(mem.offset), l, ly); in sljit_emit_op1()
1895 ins = LEVAL(llgc); in sljit_emit_op1()
1898 ins = lgb(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1901 ins = LEVAL(llgh); in sljit_emit_op1()
1904 ins = lgh(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1907 ins = LEVAL(llgf); in sljit_emit_op1()
1910 ins = lgf(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1914 ins = lg(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1919 FAIL_IF(push_inst(compiler, ins)); in sljit_emit_op1()
2129 sljit_ins ins; in sljit_emit_add() local
2134 ins = (op & SLJIT_I32_OP) ? 0xeb000000006a /* asi */ : 0xeb000000007a /* agsi */; in sljit_emit_add()
2136 ins = (op & SLJIT_I32_OP) ? 0xeb000000006e /* alsi */ : 0xeb000000007e /* algsi */; in sljit_emit_add()
2137 return emit_siy(compiler, ins, dst, dstw, src2w); in sljit_emit_add()
2142 ins = (op & SLJIT_I32_OP) ? 0xec00000000d8 /* ahik */ : 0xec00000000d9 /* aghik */; in sljit_emit_add()
2144 ins = (op & SLJIT_I32_OP) ? 0xec00000000da /* alhsik */ : 0xec00000000db /* alghsik */; in sljit_emit_add()
2145 FAIL_IF(emit_rie_d(compiler, ins, dst, src1, src1w, src2w)); in sljit_emit_add()
2151 ins = (op & SLJIT_I32_OP) ? 0xc20b00000000 /* alfi */ : 0xc20a00000000 /* algfi */; in sljit_emit_add()
2152 FAIL_IF(emit_ri(compiler, ins, dst, src1, src1w, src2w, RIL_A)); in sljit_emit_add()
2161 ins = (op & SLJIT_I32_OP) ? 0xc20900000000 /* afi */ : 0xc20800000000 /* agfi */; in sljit_emit_add()
2162 FAIL_IF(emit_ri(compiler, ins, dst, src1, src1w, src2w, RIL_A)); in sljit_emit_add()
2208 sljit_ins ins; in sljit_emit_sub() local
2219 ins = (op & SLJIT_I32_OP) ? 0xc20d00000000 /* cfi */ : 0xc20c00000000 /* cgfi */; in sljit_emit_sub()
2220 return emit_ri(compiler, ins, src1, src1, src1w, src2w, RIL_A); in sljit_emit_sub()
2225 ins = (op & SLJIT_I32_OP) ? 0xc20f00000000 /* clfi */ : 0xc20e00000000 /* clgfi */; in sljit_emit_sub()
2226 return emit_ri(compiler, ins, src1, src1, src1w, src2w, RIL_A); in sljit_emit_sub()
2234 ins = compare_signed ? 0x59000000 /* c */ : 0x55000000 /* cl */; in sljit_emit_sub()
2235 return emit_rx(compiler, ins, src1, src1, src1w, src2, src2w, RX_A); in sljit_emit_sub()
2239 ins = (op & SLJIT_I32_OP) ? 0xe30000000059 /* cy */ : 0xe30000000020 /* cg */; in sljit_emit_sub()
2241 ins = (op & SLJIT_I32_OP) ? 0xe30000000055 /* cly */ : 0xe30000000021 /* clg */; in sljit_emit_sub()
2242 return emit_rx(compiler, ins, src1, src1, src1w, src2, src2w, RXY_A); in sljit_emit_sub()
2246 ins = (op & SLJIT_I32_OP) ? 0x1900 /* cr */ : 0xb9200000 /* cgr */; in sljit_emit_sub()
2248 ins = (op & SLJIT_I32_OP) ? 0x1500 /* clr */ : 0xb9210000 /* clgr */; in sljit_emit_sub()
2249 return emit_rr(compiler, ins, src1, src1, src1w, src2, src2w); in sljit_emit_sub()
2258 ins = (op & SLJIT_I32_OP) ? 0xeb000000006a /* asi */ : 0xeb000000007a /* agsi */; in sljit_emit_sub()
2260 ins = (op & SLJIT_I32_OP) ? 0xeb000000006e /* alsi */ : 0xeb000000007e /* algsi */; in sljit_emit_sub()
2261 return emit_siy(compiler, ins, dst, dstw, neg_src2w); in sljit_emit_sub()
2266 ins = (op & SLJIT_I32_OP) ? 0xec00000000d8 /* ahik */ : 0xec00000000d9 /* aghik */; in sljit_emit_sub()
2268 ins = (op & SLJIT_I32_OP) ? 0xec00000000da /* alhsik */ : 0xec00000000db /* alghsik */; in sljit_emit_sub()
2269 FAIL_IF(emit_rie_d(compiler, ins, dst, src1, src1w, neg_src2w)); in sljit_emit_sub()
2276 ins = (op & SLJIT_I32_OP) ? 0xc20500000000 /* slfi */ : 0xc20400000000 /* slgfi */; in sljit_emit_sub()
2277 FAIL_IF(emit_ri(compiler, ins, dst, src1, src1w, src2w, RIL_A)); in sljit_emit_sub()
2286 ins = (op & SLJIT_I32_OP) ? 0xc20900000000 /* afi */ : 0xc20800000000 /* agfi */; in sljit_emit_sub()
2287 FAIL_IF(emit_ri(compiler, ins, dst, src1, src1w, neg_src2w, RIL_A)); in sljit_emit_sub()
2343 sljit_ins ins; in sljit_emit_multiply() local
2362 ins = (op & SLJIT_I32_OP) ? 0xa70c0000 /* mhi */ : 0xa70d0000 /* mghi */; in sljit_emit_multiply()
2363 return emit_ri(compiler, ins, dst, src1, src1w, src2w, RI_A); in sljit_emit_multiply()
2367 ins = (op & SLJIT_I32_OP) ? 0xc20100000000 /* msfi */ : 0xc20000000000 /* msgfi */; in sljit_emit_multiply()
2368 return emit_ri(compiler, ins, dst, src1, src1w, src2w, RIL_A); in sljit_emit_multiply()
2524 sljit_ins ins; in sljit_emit_shift() local
2542 ins = 0x89000000 /* sll */; in sljit_emit_shift()
2544 ins = 0x88000000 /* srl */; in sljit_emit_shift()
2546 ins = 0x8a000000 /* sra */; in sljit_emit_shift()
2548 FAIL_IF(push_inst(compiler, ins | (dst_r << 20) | (base_r << 12) | imm)); in sljit_emit_shift()
2552 ins = (op & SLJIT_I32_OP) ? 0xeb00000000df /* sllk */ : 0xeb000000000d /* sllg */; in sljit_emit_shift()
2554 ins = (op & SLJIT_I32_OP) ? 0xeb00000000de /* srlk */ : 0xeb000000000c /* srlg */; in sljit_emit_shift()
2556 ins = (op & SLJIT_I32_OP) ? 0xeb00000000dc /* srak */ : 0xeb000000000a /* srag */; in sljit_emit_shift()
2558 FAIL_IF(push_inst(compiler, ins | (dst_r << 36) | (src_r << 32) | (base_r << 28) | (imm << 16))); in sljit_emit_shift()
2701 sljit_ins ins = 0; in sljit_emit_op_custom() local
2706 memcpy((sljit_u8 *)&ins + sizeof(ins) - size, instruction, size); in sljit_emit_op_custom()
2707 return push_inst(compiler, ins); in sljit_emit_op_custom()