Lines Matching refs:ins

154 static SLJIT_INLINE sljit_uw sizeof_ins(sljit_ins ins)  in sizeof_ins()  argument
157 if (ins == 0) in sizeof_ins()
160 if ((ins & 0x00000000ffffL) == ins) in sizeof_ins()
162 if ((ins & 0x0000ffffffffL) == ins) in sizeof_ins()
164 if ((ins & 0xffffffffffffL) == ins) in sizeof_ins()
171 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins) in push_inst() argument
175 *ibuf = ins; in push_inst()
180 static sljit_s32 encode_inst(void **ptr, sljit_ins ins) in encode_inst() argument
183 sljit_uw size = sizeof_ins(ins); in encode_inst()
188 *ibuf++ = (sljit_u16)(ins >> 32); in encode_inst()
191 *ibuf++ = (sljit_u16)(ins >> 16); in encode_inst()
194 *ibuf++ = (sljit_u16)(ins); in encode_inst()
986 sljit_ins ins; in load_word() local
995 ins = WHEN(is_u12(addr.offset), dst, l, ly, addr); in load_word()
997 ins = lg(dst, addr.offset, addr.index, addr.base); in load_word()
999 return push_inst(compiler, ins); in load_word()
1008 sljit_ins ins; in store_word() local
1017 ins = WHEN(is_u12(addr.offset), src, st, sty, addr); in store_word()
1019 ins = stg(src, addr.offset, addr.index, addr.base); in store_word()
1021 return push_inst(compiler, ins); in store_word()
1042 static sljit_s32 emit_rr(struct sljit_compiler *compiler, sljit_ins ins, in emit_rr() argument
1070 FAIL_IF(push_inst(compiler, ins | R4A(dst_r) | R0A(src_r))); in emit_rr()
1079 static sljit_s32 emit_rr1(struct sljit_compiler *compiler, sljit_ins ins, in emit_rr1() argument
1091 return push_inst(compiler, ins | R4A(dst_r) | R0A(src_r)); in emit_rr1()
1094 static sljit_s32 emit_rrf(struct sljit_compiler *compiler, sljit_ins ins, in emit_rrf() argument
1113 return push_inst(compiler, ins | R4A(dst_r) | R0A(src1_r) | R12A(src2_r)); in emit_rrf()
1121 static sljit_s32 emit_ri(struct sljit_compiler *compiler, sljit_ins ins, in emit_ri() argument
1141 return push_inst(compiler, ins | R36A(dst_r) | (src2w & 0xffffffff)); in emit_ri()
1142 return push_inst(compiler, ins | R20A(dst_r) | (src2w & 0xffff)); in emit_ri()
1145 static sljit_s32 emit_rie_d(struct sljit_compiler *compiler, sljit_ins ins, in emit_rie_d() argument
1158 return push_inst(compiler, ins | R36A(dst_r) | R32A(src_r) | (sljit_ins)(src2w & 0xffff) << 16); in emit_rie_d()
1166 static sljit_s32 emit_rx(struct sljit_compiler *compiler, sljit_ins ins, in emit_rx() argument
1214 ins |= R20A(dst_r) | R16A(index) | R12A(base) | (sljit_ins)src2w; in emit_rx()
1216 ins |= R36A(dst_r) | R32A(index) | R28A(base) | disp_s20((sljit_s32)src2w); in emit_rx()
1218 FAIL_IF(push_inst(compiler, ins)); in emit_rx()
1227 static sljit_s32 emit_siy(struct sljit_compiler *compiler, sljit_ins ins, in emit_siy() argument
1257 …return push_inst(compiler, ins | ((sljit_ins)(srcw & 0xff) << 32) | R28A(dst_r) | disp_s20((sljit_… in emit_siy()
1276 sljit_ins ins, ins_k; in emit_commutative() local
1312 ins = ins12; in emit_commutative()
1316 ins = ins20; in emit_commutative()
1321 return emit_rx(compiler, ins, dst, src1, src1w, src2, src2w, rx_type); in emit_commutative()
1324 return emit_rx(compiler, ins, dst, src2, src2w, src1, src1w, rx_type); in emit_commutative()
1329 ins = forms->op_r; in emit_commutative()
1333 ins = forms->op_gr; in emit_commutative()
1337 SLJIT_ASSERT(ins != 0 || ins_k != 0); in emit_commutative()
1339 if (ins && FAST_IS_REG(dst)) { in emit_commutative()
1341 return emit_rr(compiler, ins, dst, src1, src1w, src2, src2w); in emit_commutative()
1344 return emit_rr(compiler, ins, dst, src2, src2w, src1, src1w); in emit_commutative()
1348 return emit_rr(compiler, ins, dst, src1, src1w, src2, src2w); in emit_commutative()
1359 sljit_ins ins; in emit_non_commutative() local
1385 ins = (mode & SLJIT_32) ? forms->op_rk : forms->op_grk; in emit_non_commutative()
1387 if (ins == 0 || (FAST_IS_REG(dst) && dst == src1)) in emit_non_commutative()
1390 return emit_rrf(compiler, ins, dst, src1, src1w, src2, src2w); in emit_non_commutative()
1427 sljit_ins ins = ibuf[i]; in sljit_generate_code() local
1435 if (ins & sljit_ins_const) { in sljit_generate_code()
1437 ins &= ~sljit_ins_const; in sljit_generate_code()
1459 ins_size += sizeof_ins(ins); in sljit_generate_code()
1512 sljit_ins ins = ibuf[i]; in sljit_generate_code() local
1513 if (ins & sljit_ins_const) { in sljit_generate_code()
1515 ins &= ~sljit_ins_const; in sljit_generate_code()
1525 ins |= (sljit_ins)offset & 0xffffffff; in sljit_generate_code()
1555 sljit_ins op = (ins >> 32) & 0xf; in sljit_generate_code()
1556 sljit_ins arg = (ins >> 36) & 0xf; in sljit_generate_code()
1559 ins = bcr(arg, tmp1); in sljit_generate_code()
1562 ins = basr(arg, tmp1); in sljit_generate_code()
1579 ins |= (sljit_ins)offset & 0xffffffff; in sljit_generate_code()
1597 ins |= (sljit_ins)offset & 0xffffffff; in sljit_generate_code()
1601 encode_inst(&code_ptr, ins); in sljit_generate_code()
1868 sljit_ins ins; in sljit_emit_op1() local
1887 ins = llcr(dst_r, src_r); in sljit_emit_op1()
1890 ins = lbr(dst_r, src_r); in sljit_emit_op1()
1893 ins = llhr(dst_r, src_r); in sljit_emit_op1()
1896 ins = lhr(dst_r, src_r); in sljit_emit_op1()
1901 ins = lr(dst_r, src_r); in sljit_emit_op1()
1905 ins = llgcr(dst_r, src_r); in sljit_emit_op1()
1908 ins = lgbr(dst_r, src_r); in sljit_emit_op1()
1911 ins = llghr(dst_r, src_r); in sljit_emit_op1()
1914 ins = lghr(dst_r, src_r); in sljit_emit_op1()
1917 ins = llgfr(dst_r, src_r); in sljit_emit_op1()
1920 ins = lgfr(dst_r, src_r); in sljit_emit_op1()
1926 ins = lgr(dst_r, src_r); in sljit_emit_op1()
1929 ins = 0; in sljit_emit_op1()
1933 FAIL_IF(push_inst(compiler, ins)); in sljit_emit_op1()
1971 ins = llc(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1974 ins = lb(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1977 ins = llh(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1980 ins = WHEN2(is_u12(mem.offset), lh, lhy); in sljit_emit_op1()
1983 ins = WHEN2(is_u12(mem.offset), l, ly); in sljit_emit_op1()
1986 ins = LEVAL(llgc); in sljit_emit_op1()
1989 ins = lgb(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1992 ins = LEVAL(llgh); in sljit_emit_op1()
1995 ins = lgh(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
1998 ins = LEVAL(llgf); in sljit_emit_op1()
2001 ins = lgf(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
2005 ins = lg(reg, mem.offset, mem.index, mem.base); in sljit_emit_op1()
2008 ins = 0; in sljit_emit_op1()
2012 FAIL_IF(push_inst(compiler, ins)); in sljit_emit_op1()
2202 sljit_ins ins; in sljit_emit_add() local
2207 ins = (op & SLJIT_32) ? 0xeb000000006a /* asi */ : 0xeb000000007a /* agsi */; in sljit_emit_add()
2209 ins = (op & SLJIT_32) ? 0xeb000000006e /* alsi */ : 0xeb000000007e /* algsi */; in sljit_emit_add()
2210 return emit_siy(compiler, ins, dst, dstw, src2w); in sljit_emit_add()
2215 ins = (op & SLJIT_32) ? 0xec00000000d8 /* ahik */ : 0xec00000000d9 /* aghik */; in sljit_emit_add()
2217 ins = (op & SLJIT_32) ? 0xec00000000da /* alhsik */ : 0xec00000000db /* alghsik */; in sljit_emit_add()
2218 FAIL_IF(emit_rie_d(compiler, ins, dst, src1, src1w, src2w)); in sljit_emit_add()
2224 ins = (op & SLJIT_32) ? 0xc20b00000000 /* alfi */ : 0xc20a00000000 /* algfi */; in sljit_emit_add()
2225 FAIL_IF(emit_ri(compiler, ins, dst, src1, src1w, src2w, RIL_A)); in sljit_emit_add()
2234 ins = (op & SLJIT_32) ? 0xc20900000000 /* afi */ : 0xc20800000000 /* agfi */; in sljit_emit_add()
2235 FAIL_IF(emit_ri(compiler, ins, dst, src1, src1w, src2w, RIL_A)); in sljit_emit_add()
2282 sljit_ins ins; in sljit_emit_sub() local
2293 ins = (op & SLJIT_32) ? 0xc20d00000000 /* cfi */ : 0xc20c00000000 /* cgfi */; in sljit_emit_sub()
2294 return emit_ri(compiler, ins, src1, src1, src1w, src2w, RIL_A); in sljit_emit_sub()
2299 ins = (op & SLJIT_32) ? 0xc20f00000000 /* clfi */ : 0xc20e00000000 /* clgfi */; in sljit_emit_sub()
2300 return emit_ri(compiler, ins, src1, src1, src1w, src2w, RIL_A); in sljit_emit_sub()
2308 ins = compare_signed ? 0x59000000 /* c */ : 0x55000000 /* cl */; in sljit_emit_sub()
2309 return emit_rx(compiler, ins, src1, src1, src1w, src2, src2w, RX_A); in sljit_emit_sub()
2313 ins = (op & SLJIT_32) ? 0xe30000000059 /* cy */ : 0xe30000000020 /* cg */; in sljit_emit_sub()
2315 ins = (op & SLJIT_32) ? 0xe30000000055 /* cly */ : 0xe30000000021 /* clg */; in sljit_emit_sub()
2316 return emit_rx(compiler, ins, src1, src1, src1w, src2, src2w, RXY_A); in sljit_emit_sub()
2320 ins = (op & SLJIT_32) ? 0x1900 /* cr */ : 0xb9200000 /* cgr */; in sljit_emit_sub()
2322 ins = (op & SLJIT_32) ? 0x1500 /* clr */ : 0xb9210000 /* clgr */; in sljit_emit_sub()
2323 return emit_rr(compiler, ins, src1, src1, src1w, src2, src2w); in sljit_emit_sub()
2327 ins = (op & SLJIT_32) ? 0x1300 /* lcr */ : 0xb9030000 /* lcgr */; in sljit_emit_sub()
2328 FAIL_IF(emit_rr1(compiler, ins, dst, src2, src2w)); in sljit_emit_sub()
2338 ins = (op & SLJIT_32) ? 0xeb000000006a /* asi */ : 0xeb000000007a /* agsi */; in sljit_emit_sub()
2340 ins = (op & SLJIT_32) ? 0xeb000000006e /* alsi */ : 0xeb000000007e /* algsi */; in sljit_emit_sub()
2341 return emit_siy(compiler, ins, dst, dstw, neg_src2w); in sljit_emit_sub()
2346 ins = (op & SLJIT_32) ? 0xec00000000d8 /* ahik */ : 0xec00000000d9 /* aghik */; in sljit_emit_sub()
2348 ins = (op & SLJIT_32) ? 0xec00000000da /* alhsik */ : 0xec00000000db /* alghsik */; in sljit_emit_sub()
2349 FAIL_IF(emit_rie_d(compiler, ins, dst, src1, src1w, neg_src2w)); in sljit_emit_sub()
2356 ins = (op & SLJIT_32) ? 0xc20500000000 /* slfi */ : 0xc20400000000 /* slgfi */; in sljit_emit_sub()
2357 FAIL_IF(emit_ri(compiler, ins, dst, src1, src1w, src2w, RIL_A)); in sljit_emit_sub()
2366 ins = (op & SLJIT_32) ? 0xc20900000000 /* afi */ : 0xc20800000000 /* agfi */; in sljit_emit_sub()
2367 FAIL_IF(emit_ri(compiler, ins, dst, src1, src1w, neg_src2w, RIL_A)); in sljit_emit_sub()
2423 sljit_ins ins; in sljit_emit_multiply() local
2442 ins = (op & SLJIT_32) ? 0xa70c0000 /* mhi */ : 0xa70d0000 /* mghi */; in sljit_emit_multiply()
2443 return emit_ri(compiler, ins, dst, src1, src1w, src2w, RI_A); in sljit_emit_multiply()
2447 ins = (op & SLJIT_32) ? 0xc20100000000 /* msfi */ : 0xc20000000000 /* msgfi */; in sljit_emit_multiply()
2448 return emit_ri(compiler, ins, dst, src1, src1w, src2w, RIL_A); in sljit_emit_multiply()
2604 sljit_ins ins; in sljit_emit_shift() local
2622 ins = 0x89000000 /* sll */; in sljit_emit_shift()
2624 ins = 0x88000000 /* srl */; in sljit_emit_shift()
2626 ins = 0x8a000000 /* sra */; in sljit_emit_shift()
2628 FAIL_IF(push_inst(compiler, ins | R20A(dst_r) | R12A(base_r) | imm)); in sljit_emit_shift()
2632 ins = (op & SLJIT_32) ? 0xeb00000000df /* sllk */ : 0xeb000000000d /* sllg */; in sljit_emit_shift()
2634 ins = (op & SLJIT_32) ? 0xeb00000000de /* srlk */ : 0xeb000000000c /* srlg */; in sljit_emit_shift()
2636 ins = (op & SLJIT_32) ? 0xeb00000000dc /* srak */ : 0xeb000000000a /* srag */; in sljit_emit_shift()
2638 FAIL_IF(push_inst(compiler, ins | R36A(dst_r) | R32A(src_r) | R28A(base_r) | (imm << 16))); in sljit_emit_shift()
2793 sljit_ins ins = 0; in sljit_emit_op_custom() local
2798 memcpy((sljit_u8 *)&ins + sizeof(ins) - size, instruction, size); in sljit_emit_op_custom()
2799 return push_inst(compiler, ins); in sljit_emit_op_custom()
2814 sljit_ins ins; in float_mem() local
2822 ins = (op & SLJIT_32) ? 0x70000000 /* ste */ : 0x60000000 /* std */; in float_mem()
2824 ins = (op & SLJIT_32) ? 0x78000000 /* le */ : 0x68000000 /* ld */; in float_mem()
2826 …return push_inst(compiler, ins | F20(reg) | R16A(addr.index) | R12A(addr.base) | (sljit_ins)addr.o… in float_mem()
2832 ins = (op & SLJIT_32) ? 0xed0000000066 /* stey */ : 0xed0000000067 /* stdy */; in float_mem()
2834 ins = (op & SLJIT_32) ? 0xed0000000064 /* ley */ : 0xed0000000065 /* ldy */; in float_mem()
2836 …return push_inst(compiler, ins | F36(reg) | R32A(addr.index) | R28A(addr.base) | disp_s20(addr.off… in float_mem()
2839 static sljit_s32 emit_float(struct sljit_compiler *compiler, sljit_ins ins_r, sljit_ins ins, in emit_float() argument
2849 …return push_inst(compiler, ins | F36(reg) | R32A(addr.index) | R28A(addr.base) | ((sljit_ins)addr.… in emit_float()
2857 sljit_ins ins; in sljit_emit_fop1_conv_sw_from_f64() local
2866 ins = (op & SLJIT_32) ? 0xb3a85000 /* cgebr */ : 0xb3a95000 /* cgdbr */; in sljit_emit_fop1_conv_sw_from_f64()
2868 ins = (op & SLJIT_32) ? 0xb3985000 /* cfebr */ : 0xb3995000 /* cfdbr */; in sljit_emit_fop1_conv_sw_from_f64()
2870 FAIL_IF(push_inst(compiler, ins | R4A(dst_r) | F0(src))); in sljit_emit_fop1_conv_sw_from_f64()
2883 sljit_ins ins; in sljit_emit_fop1_conv_f64_from_sw() local
2895 ins = (op & SLJIT_32) ? 0xb3a40000 /* cegbr */ : 0xb3a50000 /* cdgbr */; in sljit_emit_fop1_conv_f64_from_sw()
2897 ins = (op & SLJIT_32) ? 0xb3940000 /* cefbr */ : 0xb3950000 /* cdfbr */; in sljit_emit_fop1_conv_f64_from_sw()
2899 FAIL_IF(push_inst(compiler, ins | F4(dst_r) | R0(src))); in sljit_emit_fop1_conv_f64_from_sw()
2911 sljit_ins ins_r, ins; in sljit_emit_fop1_cmp() local
2920 ins = 0xed0000000009 /* ceb */; in sljit_emit_fop1_cmp()
2923 ins = 0xed0000000019 /* cdb */; in sljit_emit_fop1_cmp()
2926 return emit_float(compiler, ins_r, ins, src1, src2, src2w); in sljit_emit_fop1_cmp()
2934 sljit_ins ins; in sljit_emit_fop1() local
2956 ins = (op & SLJIT_32) ? 0x3800 /* ler */ : 0x2800 /* ldr */; in sljit_emit_fop1()
2962 ins = 0xb3440000 /* ledbr */; in sljit_emit_fop1()
2965 ins = (op & SLJIT_32) ? 0xb3030000 /* lcebr */ : 0xb3130000 /* lcdbr */; in sljit_emit_fop1()
2969 ins = (op & SLJIT_32) ? 0xb3000000 /* lpebr */ : 0xb3100000 /* lpdbr */; in sljit_emit_fop1()
2973 FAIL_IF(push_inst(compiler, ins | F4(dst_r) | F0(src))); in sljit_emit_fop1()
2993 sljit_ins ins_r, ins; in sljit_emit_fop2() local
3030 ins = (op & SLJIT_32) ? 0xed000000000a /* aeb */ : 0xed000000001a /* adb */; in sljit_emit_fop2()
3034 ins = (op & SLJIT_32) ? 0xed000000000b /* seb */ : 0xed000000001b /* sdb */; in sljit_emit_fop2()
3038 ins = (op & SLJIT_32) ? 0xed0000000017 /* meeb */ : 0xed000000001c /* mdb */; in sljit_emit_fop2()
3043 ins = (op & SLJIT_32) ? 0xed000000000d /* deb */ : 0xed000000001d /* ddb */; in sljit_emit_fop2()
3047 FAIL_IF(emit_float(compiler, ins_r, ins, dst_r, src2, src2w)); in sljit_emit_fop2()