/kernel/linux/linux-5.10/arch/x86/net/ |
H A D | bpf_jit_comp.c | 80 return 4; /* imm32 */ in bpf_size_to_x86_bytes() 596 u32 dst_reg, const u32 imm32) in emit_mov_imm32() 603 * Optimization: if imm32 is positive, use 'mov %eax, imm32' in emit_mov_imm32() 604 * (which zero-extends imm32) to save 2 bytes. in emit_mov_imm32() 606 if (sign_propagate && (s32)imm32 < 0) { in emit_mov_imm32() 607 /* 'mov %rax, imm32' sign extends imm32 */ in emit_mov_imm32() 611 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); in emit_mov_imm32() 616 * Optimization: if imm32 i in emit_mov_imm32() 595 emit_mov_imm32(u8 **pprog, bool sign_propagate, u32 dst_reg, const u32 imm32) emit_mov_imm32() argument 813 const s32 imm32 = insn->imm; do_jit() local [all...] |
H A D | bpf_jit_comp32.c | 611 /* mov edx,imm32*/ in emit_ia32_alu_i() 1120 /* movl eax,imm32 */ in emit_ia32_mul_i64() 1132 /* movl eax,imm32 */ in emit_ia32_mul_i64() 1143 /* movl eax,imm32 */ in emit_ia32_mul_i64() 1181 return 4; /* imm32 */ in bpf_size_to_x86_bytes() 1492 const s32 imm32 = insn->imm; in do_jit() local 1514 if (imm32 == 1) { in do_jit() 1524 emit_ia32_mov_i64(is64, dst, imm32, in do_jit() 1565 imm32, dstk, &prog, in do_jit() 1578 /* mov ecx,imm32*/ in do_jit() [all...] |
/kernel/linux/linux-6.6/arch/x86/net/ |
H A D | bpf_jit_comp.c | 87 return 4; /* imm32 */ in bpf_size_to_x86_bytes() 625 u32 dst_reg, const u32 imm32) in emit_mov_imm32() 631 * Optimization: if imm32 is positive, use 'mov %eax, imm32' in emit_mov_imm32() 632 * (which zero-extends imm32) to save 2 bytes. in emit_mov_imm32() 634 if (sign_propagate && (s32)imm32 < 0) { in emit_mov_imm32() 635 /* 'mov %rax, imm32' sign extends imm32 */ in emit_mov_imm32() 639 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); in emit_mov_imm32() 644 * Optimization: if imm32 i in emit_mov_imm32() 624 emit_mov_imm32(u8 **pprog, bool sign_propagate, u32 dst_reg, const u32 imm32) emit_mov_imm32() argument 1059 const s32 imm32 = insn->imm; do_jit() local [all...] |
H A D | bpf_jit_comp32.c | 611 /* mov edx,imm32*/ in emit_ia32_alu_i() 1120 /* movl eax,imm32 */ in emit_ia32_mul_i64() 1132 /* movl eax,imm32 */ in emit_ia32_mul_i64() 1143 /* movl eax,imm32 */ in emit_ia32_mul_i64() 1181 return 4; /* imm32 */ in bpf_size_to_x86_bytes() 1673 const s32 imm32 = insn->imm; in do_jit() local 1695 if (imm32 == 1) { in do_jit() 1705 emit_ia32_mov_i64(is64, dst, imm32, in do_jit() 1746 imm32, dstk, &prog, in do_jit() 1759 /* mov ecx,imm32*/ in do_jit() [all...] |
/kernel/linux/linux-5.10/arch/loongarch/net/ |
H A D | ebpf_jit.h | 612 int imm32, bool is32) in move_imm32() 618 if (imm32 == 0) { in move_imm32() 624 if (is_signed_imm12(imm32)) { in move_imm32() 625 emit_insn(ctx, addiw, rd, LOONGARCH_GPR_ZERO, imm32); in move_imm32() 630 if (is_unsigned_imm12(imm32)) { in move_imm32() 631 emit_insn(ctx, ori, rd, LOONGARCH_GPR_ZERO, imm32); in move_imm32() 636 si20 = (imm32 >> 12) & 0xfffff; in move_imm32() 640 ui12 = imm32 & 0xfff; in move_imm32() 651 int imm32, si20, si12; in move_imm64() local 662 imm32 in move_imm64() 611 move_imm32(struct jit_ctx *ctx, enum loongarch_gpr rd, int imm32, bool is32) move_imm32() argument [all...] |