Lines Matching refs:emit_insn

106 	emit_insn(ctx, addid, REG_TCC, LOONGARCH_GPR_ZERO, MAX_TAIL_CALL_CNT);  in build_prologue()
108 emit_insn(ctx, addid, LOONGARCH_GPR_SP, LOONGARCH_GPR_SP, -stack_adjust); in build_prologue()
111 emit_insn(ctx, std, LOONGARCH_GPR_RA, LOONGARCH_GPR_SP, store_offset); in build_prologue()
114 emit_insn(ctx, std, LOONGARCH_GPR_FP, LOONGARCH_GPR_SP, store_offset); in build_prologue()
117 emit_insn(ctx, std, LOONGARCH_GPR_S0, LOONGARCH_GPR_SP, store_offset); in build_prologue()
120 emit_insn(ctx, std, LOONGARCH_GPR_S1, LOONGARCH_GPR_SP, store_offset); in build_prologue()
123 emit_insn(ctx, std, LOONGARCH_GPR_S2, LOONGARCH_GPR_SP, store_offset); in build_prologue()
126 emit_insn(ctx, std, LOONGARCH_GPR_S3, LOONGARCH_GPR_SP, store_offset); in build_prologue()
129 emit_insn(ctx, std, LOONGARCH_GPR_S4, LOONGARCH_GPR_SP, store_offset); in build_prologue()
132 emit_insn(ctx, std, LOONGARCH_GPR_S5, LOONGARCH_GPR_SP, store_offset); in build_prologue()
134 emit_insn(ctx, addid, LOONGARCH_GPR_FP, LOONGARCH_GPR_SP, stack_adjust); in build_prologue()
137 emit_insn(ctx, addid, regmap[BPF_REG_FP], LOONGARCH_GPR_SP, bpf_stack_adjust); in build_prologue()
155 emit_insn(ctx, ldd, LOONGARCH_GPR_RA, LOONGARCH_GPR_SP, load_offset); in __build_epilogue()
158 emit_insn(ctx, ldd, LOONGARCH_GPR_FP, LOONGARCH_GPR_SP, load_offset); in __build_epilogue()
161 emit_insn(ctx, ldd, LOONGARCH_GPR_S0, LOONGARCH_GPR_SP, load_offset); in __build_epilogue()
164 emit_insn(ctx, ldd, LOONGARCH_GPR_S1, LOONGARCH_GPR_SP, load_offset); in __build_epilogue()
167 emit_insn(ctx, ldd, LOONGARCH_GPR_S2, LOONGARCH_GPR_SP, load_offset); in __build_epilogue()
170 emit_insn(ctx, ldd, LOONGARCH_GPR_S3, LOONGARCH_GPR_SP, load_offset); in __build_epilogue()
173 emit_insn(ctx, ldd, LOONGARCH_GPR_S4, LOONGARCH_GPR_SP, load_offset); in __build_epilogue()
176 emit_insn(ctx, ldd, LOONGARCH_GPR_S5, LOONGARCH_GPR_SP, load_offset); in __build_epilogue()
178 emit_insn(ctx, addid, LOONGARCH_GPR_SP, LOONGARCH_GPR_SP, stack_adjust); in __build_epilogue()
184 emit_insn(ctx, jirl, LOONGARCH_GPR_RA, LOONGARCH_GPR_ZERO, 0); in __build_epilogue()
190 emit_insn(ctx, jirl, LOONGARCH_GPR_T3, LOONGARCH_GPR_ZERO, 1); in __build_epilogue()
229 emit_insn(ctx, ldwu, t1, a1, off); in emit_bpf_tail_call()
238 emit_insn(ctx, addid, REG_TCC, tcc, -1); in emit_bpf_tail_call()
247 emit_insn(ctx, alsld, t2, a2, a1, 2); in emit_bpf_tail_call()
249 emit_insn(ctx, ldd, t2, t2, off); in emit_bpf_tail_call()
256 emit_insn(ctx, ldd, t3, t2, off); in emit_bpf_tail_call()
290 emit_insn(ctx, addd, t1, dst, t1); in emit_atomic()
297 emit_insn(ctx, amaddd, t2, t1, src); in emit_atomic()
299 emit_insn(ctx, amaddw, t2, t1, src); in emit_atomic()
303 emit_insn(ctx, amandd, t2, t1, src); in emit_atomic()
305 emit_insn(ctx, amandw, t2, t1, src); in emit_atomic()
309 emit_insn(ctx, amord, t2, t1, src); in emit_atomic()
311 emit_insn(ctx, amorw, t2, t1, src); in emit_atomic()
315 emit_insn(ctx, amxord, t2, t1, src); in emit_atomic()
317 emit_insn(ctx, amxorw, t2, t1, src); in emit_atomic()
322 emit_insn(ctx, amaddd, src, t1, t3); in emit_atomic()
324 emit_insn(ctx, amaddw, src, t1, t3); in emit_atomic()
330 emit_insn(ctx, amandd, src, t1, t3); in emit_atomic()
332 emit_insn(ctx, amandw, src, t1, t3); in emit_atomic()
338 emit_insn(ctx, amord, src, t1, t3); in emit_atomic()
340 emit_insn(ctx, amorw, src, t1, t3); in emit_atomic()
346 emit_insn(ctx, amxord, src, t1, t3); in emit_atomic()
348 emit_insn(ctx, amxorw, src, t1, t3); in emit_atomic()
355 emit_insn(ctx, amswapd, src, t1, t3); in emit_atomic()
357 emit_insn(ctx, amswapw, src, t1, t3); in emit_atomic()
365 emit_insn(ctx, lld, r0, t1, 0); in emit_atomic()
366 emit_insn(ctx, bne, t2, r0, 4); in emit_atomic()
368 emit_insn(ctx, scd, t3, t1, 0); in emit_atomic()
369 emit_insn(ctx, beq, t3, LOONGARCH_GPR_ZERO, -4); in emit_atomic()
371 emit_insn(ctx, llw, r0, t1, 0); in emit_atomic()
374 emit_insn(ctx, bne, t2, r0, 4); in emit_atomic()
376 emit_insn(ctx, scw, t3, t1, 0); in emit_atomic()
377 emit_insn(ctx, beq, t3, LOONGARCH_GPR_ZERO, -6); in emit_atomic()
484 emit_insn(ctx, addd, dst, dst, src); in build_insn()
492 emit_insn(ctx, addid, dst, dst, imm); in build_insn()
495 emit_insn(ctx, addd, dst, dst, t1); in build_insn()
503 emit_insn(ctx, subd, dst, dst, src); in build_insn()
511 emit_insn(ctx, addid, dst, dst, -imm); in build_insn()
514 emit_insn(ctx, subd, dst, dst, t1); in build_insn()
522 emit_insn(ctx, muld, dst, dst, src); in build_insn()
530 emit_insn(ctx, muld, dst, dst, t1); in build_insn()
540 emit_insn(ctx, divdu, dst, dst, t1); in build_insn()
549 emit_insn(ctx, divdu, dst, dst, t1); in build_insn()
559 emit_insn(ctx, moddu, dst, dst, t1); in build_insn()
568 emit_insn(ctx, moddu, dst, dst, t1); in build_insn()
576 emit_insn(ctx, subd, dst, LOONGARCH_GPR_ZERO, dst); in build_insn()
583 emit_insn(ctx, and, dst, dst, src); in build_insn()
591 emit_insn(ctx, andi, dst, dst, imm); in build_insn()
594 emit_insn(ctx, and, dst, dst, t1); in build_insn()
602 emit_insn(ctx, or, dst, dst, src); in build_insn()
610 emit_insn(ctx, ori, dst, dst, imm); in build_insn()
613 emit_insn(ctx, or, dst, dst, t1); in build_insn()
621 emit_insn(ctx, xor, dst, dst, src); in build_insn()
629 emit_insn(ctx, xori, dst, dst, imm); in build_insn()
632 emit_insn(ctx, xor, dst, dst, t1); in build_insn()
639 emit_insn(ctx, sllw, dst, dst, src); in build_insn()
644 emit_insn(ctx, slld, dst, dst, src); in build_insn()
649 emit_insn(ctx, slliw, dst, dst, imm); in build_insn()
654 emit_insn(ctx, sllid, dst, dst, imm); in build_insn()
659 emit_insn(ctx, srlw, dst, dst, src); in build_insn()
664 emit_insn(ctx, srld, dst, dst, src); in build_insn()
669 emit_insn(ctx, srliw, dst, dst, imm); in build_insn()
674 emit_insn(ctx, srlid, dst, dst, imm); in build_insn()
679 emit_insn(ctx, sraw, dst, dst, src); in build_insn()
684 emit_insn(ctx, srad, dst, dst, src); in build_insn()
689 emit_insn(ctx, sraiw, dst, dst, imm); in build_insn()
694 emit_insn(ctx, sraid, dst, dst, imm); in build_insn()
702 emit_insn(ctx, bstrpickd, dst, dst, 15, 0); in build_insn()
717 emit_insn(ctx, revb2h, dst, dst); in build_insn()
719 emit_insn(ctx, bstrpickd, dst, dst, 15, 0); in build_insn()
722 emit_insn(ctx, revb2w, dst, dst); in build_insn()
727 emit_insn(ctx, revbd, dst, dst); in build_insn()
812 emit_insn(ctx, and, t1, dst, src); in build_insn()
823 emit_insn(ctx, and, t1, dst, t1); in build_insn()
845 emit_insn(ctx, jirl, t1, LOONGARCH_GPR_RA, 0); in build_insn()
885 emit_insn(ctx, ldbu, dst, src, off); in build_insn()
888 emit_insn(ctx, ldxbu, dst, src, t1); in build_insn()
893 emit_insn(ctx, ldhu, dst, src, off); in build_insn()
896 emit_insn(ctx, ldxhu, dst, src, t1); in build_insn()
901 emit_insn(ctx, ldwu, dst, src, off); in build_insn()
903 emit_insn(ctx, ldptrw, dst, src, off); in build_insn()
906 emit_insn(ctx, ldxwu, dst, src, t1); in build_insn()
911 emit_insn(ctx, ldd, dst, src, off); in build_insn()
913 emit_insn(ctx, ldptrd, dst, src, off); in build_insn()
916 emit_insn(ctx, ldxd, dst, src, t1); in build_insn()
935 emit_insn(ctx, stb, t1, dst, off); in build_insn()
938 emit_insn(ctx, stxb, t1, dst, t2); in build_insn()
944 emit_insn(ctx, sth, t1, dst, off); in build_insn()
947 emit_insn(ctx, stxh, t1, dst, t2); in build_insn()
953 emit_insn(ctx, stw, t1, dst, off); in build_insn()
955 emit_insn(ctx, stptrw, t1, dst, off); in build_insn()
958 emit_insn(ctx, stxw, t1, dst, t2); in build_insn()
964 emit_insn(ctx, std, t1, dst, off); in build_insn()
966 emit_insn(ctx, stptrd, t1, dst, off); in build_insn()
969 emit_insn(ctx, stxd, t1, dst, t2); in build_insn()
983 emit_insn(ctx, stb, src, dst, off); in build_insn()
986 emit_insn(ctx, stxb, src, dst, t1); in build_insn()
991 emit_insn(ctx, sth, src, dst, off); in build_insn()
994 emit_insn(ctx, stxh, src, dst, t1); in build_insn()
999 emit_insn(ctx, stw, src, dst, off); in build_insn()
1001 emit_insn(ctx, stptrw, src, dst, off); in build_insn()
1004 emit_insn(ctx, stxw, src, dst, t1); in build_insn()
1009 emit_insn(ctx, std, src, dst, off); in build_insn()
1011 emit_insn(ctx, stptrd, src, dst, off); in build_insn()
1014 emit_insn(ctx, stxd, src, dst, t1); in build_insn()