Lines Matching refs:dst_reg
163 static u8 add_1reg(u8 byte, u32 dst_reg) in add_1reg() argument
165 return byte + reg2hex[dst_reg]; in add_1reg()
169 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) in add_2reg() argument
171 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3); in add_2reg()
267 u32 dst_reg = insn->dst_reg; in do_jit() local
295 EMIT1(add_2mod(0x48, dst_reg, src_reg)); in do_jit()
296 else if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
297 EMIT1(add_2mod(0x40, dst_reg, src_reg)); in do_jit()
298 EMIT2(b2, add_2reg(0xC0, dst_reg, src_reg)); in do_jit()
303 EMIT_mov(dst_reg, src_reg); in do_jit()
308 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
309 EMIT1(add_2mod(0x40, dst_reg, src_reg)); in do_jit()
310 EMIT2(0x89, add_2reg(0xC0, dst_reg, src_reg)); in do_jit()
317 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
318 else if (is_ereg(dst_reg)) in do_jit()
319 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
320 EMIT2(0xF7, add_1reg(0xD8, dst_reg)); in do_jit()
334 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
335 else if (is_ereg(dst_reg)) in do_jit()
336 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
347 EMIT3(0x83, add_1reg(b3, dst_reg), imm32); in do_jit()
349 EMIT2_off32(0x81, add_1reg(b3, dst_reg), imm32); in do_jit()
359 b1 = add_1mod(0x48, dst_reg); in do_jit()
362 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); in do_jit()
368 if (is_ereg(dst_reg)) in do_jit()
369 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
370 EMIT1_off32(add_1reg(0xB8, dst_reg), imm32); in do_jit()
375 insn[1].dst_reg != 0 || insn[1].off != 0) { in do_jit()
382 EMIT2(add_1mod(0x48, dst_reg), add_1reg(0xB8, dst_reg)); in do_jit()
410 EMIT_mov(BPF_REG_0, dst_reg); in do_jit()
455 EMIT_mov(dst_reg, AUX_REG); in do_jit()
466 EMIT_mov(AUX_REG, dst_reg); in do_jit()
489 EMIT_mov(dst_reg, AUX_REG); in do_jit()
500 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
501 else if (is_ereg(dst_reg)) in do_jit()
502 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
509 EMIT3(0xC1, add_1reg(b3, dst_reg), imm32); in do_jit()
520 if (dst_reg == BPF_REG_4) { in do_jit()
522 EMIT_mov(AUX_REG, dst_reg); in do_jit()
523 dst_reg = AUX_REG; in do_jit()
535 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
536 else if (is_ereg(dst_reg)) in do_jit()
537 EMIT1(add_1mod(0x40, dst_reg)); in do_jit()
544 EMIT2(0xD3, add_1reg(b3, dst_reg)); in do_jit()
549 if (insn->dst_reg == BPF_REG_4) in do_jit()
551 EMIT_mov(insn->dst_reg, AUX_REG); in do_jit()
559 if (is_ereg(dst_reg)) in do_jit()
561 EMIT3(0xC1, add_1reg(0xC8, dst_reg), 8); in do_jit()
564 if (is_ereg(dst_reg)) in do_jit()
568 EMIT1(add_2reg(0xC0, dst_reg, dst_reg)); in do_jit()
572 if (is_ereg(dst_reg)) in do_jit()
576 EMIT1(add_1reg(0xC8, dst_reg)); in do_jit()
580 EMIT3(add_1mod(0x48, dst_reg), 0x0F, in do_jit()
581 add_1reg(0xC8, dst_reg)); in do_jit()
592 if (is_ereg(dst_reg)) in do_jit()
596 EMIT1(add_2reg(0xC0, dst_reg, dst_reg)); in do_jit()
600 if (is_ereg(dst_reg)) in do_jit()
602 EMIT2(0x89, add_2reg(0xC0, dst_reg, dst_reg)); in do_jit()
612 if (is_ereg(dst_reg)) in do_jit()
618 if (is_ereg(dst_reg)) in do_jit()
624 if (is_ereg(dst_reg)) in do_jit()
630 EMIT2(add_1mod(0x48, dst_reg), 0xC7); in do_jit()
633 EMIT2(add_1reg(0x40, dst_reg), insn->off); in do_jit()
635 EMIT1_off32(add_1reg(0x80, dst_reg), insn->off); in do_jit()
643 if (is_ereg(dst_reg) || is_ereg(src_reg) || in do_jit()
646 EMIT2(add_2mod(0x40, dst_reg, src_reg), 0x88); in do_jit()
651 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
652 EMIT3(0x66, add_2mod(0x40, dst_reg, src_reg), 0x89); in do_jit()
657 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
658 EMIT2(add_2mod(0x40, dst_reg, src_reg), 0x89); in do_jit()
663 EMIT2(add_2mod(0x48, dst_reg, src_reg), 0x89); in do_jit()
665 EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); in do_jit()
667 EMIT1_off32(add_2reg(0x80, dst_reg, src_reg), in do_jit()
674 EMIT3(add_2mod(0x48, src_reg, dst_reg), 0x0F, 0xB6); in do_jit()
678 EMIT3(add_2mod(0x48, src_reg, dst_reg), 0x0F, 0xB7); in do_jit()
682 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
683 EMIT2(add_2mod(0x40, src_reg, dst_reg), 0x8B); in do_jit()
689 EMIT2(add_2mod(0x48, src_reg, dst_reg), 0x8B); in do_jit()
695 EMIT2(add_2reg(0x40, src_reg, dst_reg), insn->off); in do_jit()
697 EMIT1_off32(add_2reg(0x80, src_reg, dst_reg), in do_jit()
704 if (is_ereg(dst_reg) || is_ereg(src_reg)) in do_jit()
705 EMIT3(0xF0, add_2mod(0x40, dst_reg, src_reg), 0x01); in do_jit()
710 EMIT3(0xF0, add_2mod(0x48, dst_reg, src_reg), 0x01); in do_jit()
712 EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); in do_jit()
714 EMIT1_off32(add_2reg(0x80, dst_reg, src_reg), in do_jit()
750 EMIT3(add_2mod(0x48, dst_reg, src_reg), 0x39, in do_jit()
751 add_2reg(0xC0, dst_reg, src_reg)); in do_jit()
756 EMIT3(add_2mod(0x48, dst_reg, src_reg), 0x85, in do_jit()
757 add_2reg(0xC0, dst_reg, src_reg)); in do_jit()
762 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
763 EMIT2_off32(0xF7, add_1reg(0xC0, dst_reg), imm32); in do_jit()
773 EMIT1(add_1mod(0x48, dst_reg)); in do_jit()
776 EMIT3(0x83, add_1reg(0xF8, dst_reg), imm32); in do_jit()
778 EMIT2_off32(0x81, add_1reg(0xF8, dst_reg), imm32); in do_jit()