Lines Matching refs:emit
246 static void emit(const u32 insn, struct jit_ctx *ctx) in emit() function
268 emit(SETHI(0, G0), ctx); in emit_nop()
273 emit(OR | RS1(G0) | RS2(from) | RD(to), ctx); in emit_reg_move()
279 emit(SETHI(K, reg), ctx); in emit_set_const()
280 emit(OR_LO(K, reg), ctx); in emit_set_const()
287 emit(SETHI(K, reg), ctx); in emit_set_const_sext()
288 emit(OR_LO(K, reg), ctx); in emit_set_const_sext()
293 emit(SETHI(hbits, reg), ctx); in emit_set_const_sext()
294 emit(XOR | IMMED | RS1(reg) | S13(lbits) | RD(reg), ctx); in emit_set_const_sext()
300 emit(opcode | RS1(dst) | RS2(src) | RD(dst), ctx); in emit_alu()
305 emit(opcode | RS1(a) | RS2(b) | RD(c), ctx); in emit_alu3()
316 emit(insn | IMMED | S13(imm), ctx); in emit_alu_K()
323 emit(insn | RS2(tmp), ctx); in emit_alu_K()
335 emit(insn | IMMED | S13(imm), ctx); in emit_alu3_K()
342 emit(insn | RS2(tmp), ctx); in emit_alu3_K()
350 emit(OR | IMMED | RS1(G0) | S13(K) | RD(dest), ctx); in emit_loadimm32()
360 emit(OR | IMMED | RS1(G0) | S13(K) | RD(dest), ctx); in emit_loadimm()
370 emit(OR | IMMED | RS1(G0) | S13(K) | RD(dest), ctx); in emit_loadimm_sext()
472 emit(OR | IMMED | RS1(dest) | S13(low_imm) | RD(dest), ctx); in sparc_emit_set_const64_quick2()
514 emit(OR | IMMED | RS1(G0) | S13(the_const) | RD(dest), ctx); in emit_loadimm64()
534 emit(SETHI(focus_bits, dest), ctx); in emit_loadimm64()
571 emit(SETHI(fast_int, dest), ctx); in emit_loadimm64()
573 emit(OR | IMMED | RS1(G0) | S13(fast_int) | RD(dest), ctx); in emit_loadimm64()
585 emit(XOR | IMMED | RS1(dest) | S13(low_bits) | RD(dest), ctx); in emit_loadimm64()
623 emit(OR | RS1(dest) | RS2(tmp) | RD(dest), ctx); in emit_loadimm64()
632 emit(br_opc | WDISP19(off << 2), ctx); in emit_branch()
634 emit(br_opc | WDISP22(off << 2), ctx); in emit_branch()
642 emit(cb_opc | WDISP10(off << 2) | RS1(dst) | RS2(src), ctx); in emit_cbcond()
650 emit(cb_opc | IMMED | WDISP10(off << 2) | RS1(dst) | S5(imm), ctx); in emit_cbcondi()
653 #define emit_read_y(REG, CTX) emit(RD_Y | RD(REG), CTX)
654 #define emit_write_y(REG, CTX) emit(WR_Y | IMMED | RS1(REG) | S13(0), CTX)
657 emit(SUBCC | RS1(R1) | RS2(R2) | RD(G0), CTX)
660 emit(SUBCC | IMMED | RS1(R1) | S13(IMM) | RD(G0), CTX)
663 emit(ANDCC | RS1(R1) | RS2(R2) | RD(G0), CTX)
666 emit(ANDCC | IMMED | RS1(R1) | S13(IMM) | RD(G0), CTX)
811 emit(LD32I | RS1(r_skb) | S13(off) | RD(r_headlen), ctx); in load_skb_regs()
814 emit(LD32I | RS1(r_skb) | S13(off) | RD(r_tmp), ctx); in load_skb_regs()
816 emit(SUB | RS1(r_headlen) | RS2(r_tmp) | RD(r_headlen), ctx); in load_skb_regs()
819 emit(LDPTRI | RS1(r_skb) | S13(off) | RD(r_data), ctx); in load_skb_regs()
842 emit(SAVE | IMMED | RS1(SP) | S13(-stack_needed) | RD(SP), ctx); in build_prologue()
848 emit(ST32 | IMMED | RS1(SP) | S13(off) | RD(G0), ctx); in build_prologue()
855 emit(ADD | IMMED | RS1(FP) | S13(STACK_BIAS) | RD(vfp), ctx); in build_prologue()
870 emit(JMPL | IMMED | RS1(I7) | S13(8) | RD(G0), ctx); in build_epilogue()
873 emit(RESTORE | RS1(bpf2sparc[BPF_REG_0]) | RS2(G0) | RD(O0), ctx); in build_epilogue()
886 emit(LD32 | IMMED | RS1(bpf_array) | S13(off) | RD(tmp), ctx); in emit_tail_call()
893 emit(LD32 | IMMED | RS1(SP) | S13(off) | RD(tmp), ctx); in emit_tail_call()
901 emit(ST32 | IMMED | RS1(SP) | S13(off) | RD(tmp), ctx); in emit_tail_call()
906 emit(LD64 | IMMED | RS1(tmp) | S13(off) | RD(tmp), ctx); in emit_tail_call()
914 emit(LD64 | IMMED | RS1(tmp) | S13(off) | RD(tmp), ctx); in emit_tail_call()
917 emit(JMPL | IMMED | RS1(tmp) | S13(off) | RD(G0), ctx); in emit_tail_call()
1037 emit(SUB | RS1(0) | RS2(dst) | RD(dst), ctx); in build_insn()
1089 emit(ST64 | RS1(tmp) | RS2(G0) | RD(dst), ctx); in build_insn()
1090 emit(LD64A | ASI(ASI_PL) | RS1(tmp) | RS2(G0) | RD(dst), ctx); in build_insn()
1157 emit(div | IMMED | RS1(dst) | S13(imm) | RD(tmp), ctx); in build_insn()
1158 emit(MULX | IMMED | RS1(tmp) | S13(imm) | RD(tmp), ctx); in build_insn()
1159 emit(SUB | RS1(dst) | RS2(tmp) | RD(dst), ctx); in build_insn()
1166 emit(div | RS1(dst) | RS2(tmp1) | RD(tmp), ctx); in build_insn()
1167 emit(MULX | RS1(tmp) | RS2(tmp1) | RD(tmp), ctx); in build_insn()
1168 emit(SUB | RS1(dst) | RS2(tmp) | RD(dst), ctx); in build_insn()
1317 emit(opcode | RS1(src) | rs2 | RD(dst), ctx); in build_insn()
1358 emit(opcode | RS1(dst) | rs2 | RD(tmp2), ctx); in build_insn()
1395 emit(opcode | RS1(dst) | rs2 | RD(src), ctx); in build_insn()
1414 emit(LD32 | RS1(tmp) | RS2(G0) | RD(tmp2), ctx); in build_insn()
1416 emit(CAS | ASI(ASI_P) | RS1(tmp) | RS2(tmp2) | RD(tmp3), ctx); in build_insn()
1437 emit(LD64 | RS1(tmp) | RS2(G0) | RD(tmp2), ctx); in build_insn()
1439 emit(CASX | ASI(ASI_P) | RS1(tmp) | RS2(tmp2) | RD(tmp3), ctx); in build_insn()