Lines Matching refs:dst_reg
165 static u8 add_1reg(u8 byte, u32 dst_reg) in add_1reg() argument
167 return byte + reg2hex[dst_reg]; in add_1reg()
171 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) in add_2reg() argument
173 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3); in add_2reg()
357 u32 dst_reg = insn->dst_reg; in do_jit() local
386 EMIT1(add_2mod(0x48, dst_reg, src_reg)); in do_jit()
387 else if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
388 EMIT1(add_2mod(0x40, dst_reg, src_reg)); in do_jit()
389 EMIT2(b2, add_2reg(0xC0, dst_reg, src_reg)); in do_jit()
394 EMIT_mov(dst_reg, src_reg); in do_jit()
399 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
400 EMIT1(add_2mod(0x40, dst_reg, src_reg)); in do_jit()
401 EMIT2(0x89, add_2reg(0xC0, dst_reg, src_reg)); in do_jit()
408 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
409 else if (is_ereg(dst_reg)) in do_jit()
410 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
411 EMIT2(0xF7, add_1reg(0xD8, dst_reg)); in do_jit()
425 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
426 else if (is_ereg(dst_reg)) in do_jit()
427 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
438 EMIT3(0x83, add_1reg(b3, dst_reg), imm32); in do_jit()
440 EMIT2_off32(0x81, add_1reg(b3, dst_reg), imm32); in do_jit()
450 b1 = add_1mod(0x48, dst_reg); in do_jit()
453 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); in do_jit()
459 if (is_ereg(dst_reg)) in do_jit()
460 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
461 EMIT1_off32(add_1reg(0xB8, dst_reg), imm32); in do_jit()
466 insn[1].dst_reg != 0 || insn[1].off != 0) { in do_jit()
473 EMIT2(add_1mod(0x48, dst_reg), add_1reg(0xB8, dst_reg)); in do_jit()
501 EMIT_mov(BPF_REG_0, dst_reg); in do_jit()
546 EMIT_mov(dst_reg, AUX_REG); in do_jit()
557 EMIT_mov(AUX_REG, dst_reg); in do_jit()
580 EMIT_mov(dst_reg, AUX_REG); in do_jit()
591 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
592 else if (is_ereg(dst_reg)) in do_jit()
593 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
600 EMIT3(0xC1, add_1reg(b3, dst_reg), imm32); in do_jit()
611 if (dst_reg == BPF_REG_4) { in do_jit()
613 EMIT_mov(AUX_REG, dst_reg); in do_jit()
614 dst_reg = AUX_REG; in do_jit()
626 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
627 else if (is_ereg(dst_reg)) in do_jit()
628 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
635 EMIT2(0xD3, add_1reg(b3, dst_reg)); in do_jit()
640 if (insn->dst_reg == BPF_REG_4) in do_jit()
642 EMIT_mov(insn->dst_reg, AUX_REG); in do_jit()
650 if (is_ereg(dst_reg)) in do_jit()
652 EMIT3(0xC1, add_1reg(0xC8, dst_reg), 8); in do_jit()
655 if (is_ereg(dst_reg)) in do_jit()
659 EMIT1(add_2reg(0xC0, dst_reg, dst_reg)); in do_jit()
663 if (is_ereg(dst_reg)) in do_jit()
667 EMIT1(add_1reg(0xC8, dst_reg)); in do_jit()
671 EMIT3(add_1mod(0x48, dst_reg), 0x0F, in do_jit()
672 add_1reg(0xC8, dst_reg)); in do_jit()
683 if (is_ereg(dst_reg)) in do_jit()
687 EMIT1(add_2reg(0xC0, dst_reg, dst_reg)); in do_jit()
691 if (is_ereg(dst_reg)) in do_jit()
693 EMIT2(0x89, add_2reg(0xC0, dst_reg, dst_reg)); in do_jit()
703 if (is_ereg(dst_reg)) in do_jit()
709 if (is_ereg(dst_reg)) in do_jit()
715 if (is_ereg(dst_reg)) in do_jit()
721 EMIT2(add_1mod(0x48, dst_reg), 0xC7); in do_jit()
724 EMIT2(add_1reg(0x40, dst_reg), insn->off); in do_jit()
726 EMIT1_off32(add_1reg(0x80, dst_reg), insn->off); in do_jit()
734 if (is_ereg(dst_reg) || is_ereg(src_reg) || in do_jit()
737 EMIT2(add_2mod(0x40, dst_reg, src_reg), 0x88); in do_jit()
742 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
743 EMIT3(0x66, add_2mod(0x40, dst_reg, src_reg), 0x89); in do_jit()
748 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
749 EMIT2(add_2mod(0x40, dst_reg, src_reg), 0x89); in do_jit()
754 EMIT2(add_2mod(0x48, dst_reg, src_reg), 0x89); in do_jit()
756 EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); in do_jit()
758 EMIT1_off32(add_2reg(0x80, dst_reg, src_reg), in do_jit()
765 EMIT3(add_2mod(0x48, src_reg, dst_reg), 0x0F, 0xB6); in do_jit()
769 EMIT3(add_2mod(0x48, src_reg, dst_reg), 0x0F, 0xB7); in do_jit()
773 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
774 EMIT2(add_2mod(0x40, src_reg, dst_reg), 0x8B); in do_jit()
780 EMIT2(add_2mod(0x48, src_reg, dst_reg), 0x8B); in do_jit()
786 EMIT2(add_2reg(0x40, src_reg, dst_reg), insn->off); in do_jit()
788 EMIT1_off32(add_2reg(0x80, src_reg, dst_reg), in do_jit()
795 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
796 EMIT3(0xF0, add_2mod(0x40, dst_reg, src_reg), 0x01); in do_jit()
801 EMIT3(0xF0, add_2mod(0x48, dst_reg, src_reg), 0x01); in do_jit()
803 EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); in do_jit()
805 EMIT1_off32(add_2reg(0x80, dst_reg, src_reg), in do_jit()
856 EMIT3(add_2mod(0x48, dst_reg, src_reg), 0x39, in do_jit()
857 add_2reg(0xC0, dst_reg, src_reg)); in do_jit()
862 EMIT3(add_2mod(0x48, dst_reg, src_reg), 0x85, in do_jit()
863 add_2reg(0xC0, dst_reg, src_reg)); in do_jit()
868 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
869 EMIT2_off32(0xF7, add_1reg(0xC0, dst_reg), imm32); in do_jit()
879 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
882 EMIT3(0x83, add_1reg(0xF8, dst_reg), imm32); in do_jit()
884 EMIT2_off32(0x81, add_1reg(0xF8, dst_reg), imm32); in do_jit()