Lines Matching refs:ins

190 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins)  in push_inst()  argument
194 *ptr = ins; in push_inst()
225 diff += SSIZE_OF(ins); in detect_jump_type()
232 diff -= SSIZE_OF(ins); in detect_jump_type()
426 …ags & IS_COND) && (diff + 1) <= (0xfffff / SSIZE_OF(ins)) && (diff + 1) >= (-0x100000 / SSIZE_OF(i… in reduce_code_size()
428 else if (diff <= (0x7ffffff / SSIZE_OF(ins)) && diff >= (-0x8000000 / SSIZE_OF(ins))) in reduce_code_size()
430 else if (diff <= (0xfffff000l / SSIZE_OF(ins)) && diff >= (-0x100000000l / SSIZE_OF(ins))) in reduce_code_size()
443 if (diff <= (0xfffff / SSIZE_OF(ins)) && diff >= (-0x100000 / SSIZE_OF(ins))) in reduce_code_size()
445 else if (diff <= (0xfffff000l / SSIZE_OF(ins)) && diff >= (-0x100000000l / SSIZE_OF(ins))) in reduce_code_size()
652 sljit_ins ins; in logical_imm() local
702 ins = 1 << 22; in logical_imm()
704 ins = (0x3f - ((len << 1) - 1)) << 10; in logical_imm()
707 return ins | ((len - ones - 1) << 10) | ((len - ones - right) << 16); in logical_imm()
709 return ins | ((ones - 1) << 10) | ((len - right) << 16); in logical_imm()
1985 static sljit_s32 sljit_emit_fop1_conv_f64_from_w(struct sljit_compiler *compiler, sljit_ins ins, in sljit_emit_fop1_conv_f64_from_w() argument
1992 emit_op_mem(compiler, (ins & W_OP) ? WORD_SIZE : INT_SIZE, TMP_REG1, src, srcw, TMP_REG1); in sljit_emit_fop1_conv_f64_from_w()
1999 FAIL_IF(push_inst(compiler, ins | VD(dst_r) | RN(src))); in sljit_emit_fop1_conv_f64_from_w()
2002 …return emit_fop_mem(compiler, ((ins & (1 << 22)) ? WORD_SIZE : INT_SIZE) | STORE, TMP_FREG1, dst, … in sljit_emit_fop1_conv_f64_from_w()
2730 sljit_ins ins; in sljit_emit_simd_mem_offset() local
2757 ins = ADDI; in sljit_emit_simd_mem_offset()
2761 ins = SUBI; in sljit_emit_simd_mem_offset()
2765 …FAIL_IF(push_inst(compiler, ins | (1 << 22) | RD(TMP_REG2) | RN(mem) | ((sljit_ins)(memw >> 12) <<… in sljit_emit_simd_mem_offset()
2774 return push_inst(compiler, ins | RD(TMP_REG2) | RN(mem) | ((sljit_ins)memw << 10)); in sljit_emit_simd_mem_offset()
2783 sljit_ins ins; in sljit_emit_simd_mov() local
2801 ins = VD(srcdst) | VN(freg) | VM(freg); in sljit_emit_simd_mov()
2803 ins = VD(freg) | VN(srcdst) | VM(srcdst); in sljit_emit_simd_mov()
2806 ins |= (1 << 30); in sljit_emit_simd_mov()
2808 return push_inst(compiler, ORR_v | ins); in sljit_emit_simd_mov()
2816 ins = (type & SLJIT_SIMD_STORE) ? ST1 : LD1; in sljit_emit_simd_mov()
2819 ins |= (1 << 30); in sljit_emit_simd_mov()
2821 return push_inst(compiler, ins | ((sljit_ins)elem_size << 10) | RN(srcdst) | VT(freg)); in sljit_emit_simd_mov()
2931 sljit_ins ins, imm; in sljit_emit_simd_replicate() local
2950 ins = (sljit_ins)elem_size << 10; in sljit_emit_simd_replicate()
2953 ins |= (sljit_ins)1 << 30; in sljit_emit_simd_replicate()
2955 return push_inst(compiler, LD1R | ins | RN(src) | VT(freg)); in sljit_emit_simd_replicate()
2958 ins = (sljit_ins)1 << (16 + elem_size); in sljit_emit_simd_replicate()
2961 ins |= (sljit_ins)1 << 30; in sljit_emit_simd_replicate()
2965 return push_inst(compiler, MOVI | (ins & ((sljit_ins)1 << 30)) | VD(freg)); in sljit_emit_simd_replicate()
2967 return push_inst(compiler, DUP_e | ins | VD(freg) | VN(src)); in sljit_emit_simd_replicate()
2977 imm |= ins & ((sljit_ins)1 << 30); in sljit_emit_simd_replicate()
2986 return push_inst(compiler, DUP_g | ins | VD(freg) | RN(src)); in sljit_emit_simd_replicate()
2995 sljit_ins ins; in sljit_emit_simd_lane_mov() local
3012 ins = (reg_size == 3) ? 0 : ((sljit_ins)1 << 30); in sljit_emit_simd_lane_mov()
3015 FAIL_IF(push_inst(compiler, ORR_v | ins | VD(TMP_FREG1) | VN(freg) | VM(freg))); in sljit_emit_simd_lane_mov()
3020 FAIL_IF(push_inst(compiler, MOVI | ins | VD(freg))); in sljit_emit_simd_lane_mov()
3027 ins = 0x8400; in sljit_emit_simd_lane_mov()
3029 ins = 0; in sljit_emit_simd_lane_mov()
3031 ins = (sljit_ins)0x2000 << elem_size; in sljit_emit_simd_lane_mov()
3034 ins |= (sljit_ins)(((lane_index & 0x8) << 27) | ((lane_index & 0x7) << 10)); in sljit_emit_simd_lane_mov()
3036 …return push_inst(compiler, ((type & SLJIT_SIMD_STORE) ? ST1_s : LD1_s) | ins | RN(srcdst) | VT(fre… in sljit_emit_simd_lane_mov()
3041ins = INS_e | ((sljit_ins)1 << (16 + elem_size)) | ((sljit_ins)lane_index << (11 + elem_size)) | V… in sljit_emit_simd_lane_mov()
3043 ins = INS_e | ((((sljit_ins)lane_index << 1) | 1) << (16 + elem_size)) | VD(freg) | VN(srcdst); in sljit_emit_simd_lane_mov()
3045 return push_inst(compiler, ins); in sljit_emit_simd_lane_mov()
3057 ins = RD(srcdst) | VN(freg); in sljit_emit_simd_lane_mov()
3060 ins |= SMOV; in sljit_emit_simd_lane_mov()
3063 ins |= (sljit_ins)1 << 30; in sljit_emit_simd_lane_mov()
3065 ins |= UMOV; in sljit_emit_simd_lane_mov()
3067 ins = INS | VD(freg) | RN(srcdst); in sljit_emit_simd_lane_mov()
3070 ins |= (sljit_ins)1 << 30; in sljit_emit_simd_lane_mov()
3072 return push_inst(compiler, ins | ((((sljit_ins)lane_index << 1) | 1) << (16 + elem_size))); in sljit_emit_simd_lane_mov()
3081 sljit_ins ins; in sljit_emit_simd_lane_replicate() local
3095 ins = (((sljit_ins)src_lane_index << 1) | 1) << (16 + elem_size); in sljit_emit_simd_lane_replicate()
3098 ins |= (sljit_ins)1 << 30; in sljit_emit_simd_lane_replicate()
3100 return push_inst(compiler, DUP_e | ins | VD(freg) | VN(src)); in sljit_emit_simd_lane_replicate()
3155 sljit_ins ins, imms; in sljit_emit_simd_sign() local
3175 ins = USHR | (0x9 << 16); in sljit_emit_simd_sign()
3179 ins = USHR | (0x11 << 16); in sljit_emit_simd_sign()
3183 ins = USHR | (0x21 << 16); in sljit_emit_simd_sign()
3187 ins = USHR | (0x41 << 16); in sljit_emit_simd_sign()
3192 ins |= (1 << 30); in sljit_emit_simd_sign()
3194 FAIL_IF(push_inst(compiler, ins | VD(TMP_FREG1) | VN(freg))); in sljit_emit_simd_sign()
3200 ins = (reg_size == 4 && elem_size == 0) ? (1 << 30) : 0; in sljit_emit_simd_sign()
3203 FAIL_IF(push_inst(compiler, USRA | ins | ((imms & 0xff) << 16) | VD(TMP_FREG1) | VN(TMP_FREG1))); in sljit_emit_simd_sign()
3211 ins = (0x1 << 16); in sljit_emit_simd_sign()
3215 ins = (0x2 << 16); in sljit_emit_simd_sign()
3218 FAIL_IF(push_inst(compiler, UMOV | ins | RD(dst_r) | VN(TMP_FREG1))); in sljit_emit_simd_sign()
3231 sljit_ins ins = 0; in sljit_emit_simd_op2() local
3244 ins = AND_v; in sljit_emit_simd_op2()
3247 ins = ORR_v; in sljit_emit_simd_op2()
3250 ins = EOR_v; in sljit_emit_simd_op2()
3258 ins |= (sljit_ins)1 << 30; in sljit_emit_simd_op2()
3260 return push_inst(compiler, ins | VD(dst_freg) | VN(src1_freg) | VM(src2_freg)); in sljit_emit_simd_op2()
3267 sljit_ins ins; in sljit_emit_atomic_load() local
3276 ins = LDR ^ (1 << 30); in sljit_emit_atomic_load()
3279 ins = LDRH; in sljit_emit_atomic_load()
3282 ins = LDRB; in sljit_emit_atomic_load()
3285 ins = LDR; in sljit_emit_atomic_load()
3292 ins = LDXR ^ (1 << 30); in sljit_emit_atomic_load()
3295 ins = LDXRB; in sljit_emit_atomic_load()
3298 ins = LDXRH; in sljit_emit_atomic_load()
3301 ins = LDXR; in sljit_emit_atomic_load()
3305 return push_inst(compiler, ins | RN(mem_reg) | RT(dst_reg)); in sljit_emit_atomic_load()
3313 sljit_ins ins; in sljit_emit_atomic_store() local
3328 ins = CAS ^ (1 << 30); in sljit_emit_atomic_store()
3331 ins = CASH; in sljit_emit_atomic_store()
3334 ins = CASB; in sljit_emit_atomic_store()
3337 ins = CAS; in sljit_emit_atomic_store()
3348 FAIL_IF(push_inst(compiler, ins | RM(tmp) | RN(mem_reg) | RD(src_reg))); in sljit_emit_atomic_store()
3365 ins = STXR ^ (1 << 30); in sljit_emit_atomic_store()
3368 ins = STXRB; in sljit_emit_atomic_store()
3371 ins = STXRH; in sljit_emit_atomic_store()
3374 ins = STXR; in sljit_emit_atomic_store()
3378 FAIL_IF(push_inst(compiler, ins | RM(TMP_REG1) | RN(mem_reg) | RT(src_reg))); in sljit_emit_atomic_store()
3386 sljit_ins ins; in sljit_get_local_base() local
3396 ins = ADDI; in sljit_get_local_base()
3399 ins = SUBI; in sljit_get_local_base()
3403 FAIL_IF(push_inst(compiler, ins | RD(dst_reg) | RN(SLJIT_SP) | (sljit_ins)(offset << 10))); in sljit_get_local_base()
3405 …FAIL_IF(push_inst(compiler, ins | RD(dst_reg) | RN(SLJIT_SP) | (sljit_ins)((offset & 0xfff000) >> … in sljit_get_local_base()
3409 FAIL_IF(push_inst(compiler, ins | RD(dst_reg) | RN(dst_reg) | (sljit_ins)(offset << 10))); in sljit_get_local_base()