H A D | bpf_jit.c | 122 #define emit_instr(ctx, func, ...) \ macro 132 * Similar to emit_instr but it must be used when we need to emit 153 emit_instr(ctx, addu, dst, src1, src2); emit_addu() 158 emit_instr(ctx, nop); emit_nop() 185 emit_instr(ctx, or, dst, src1, src2); emit_or() 195 emit_instr(ctx, ori, dst, src, imm); emit_ori() 206 emit_instr(ctx, daddiu, dst, src, imm); emit_daddiu() 216 emit_instr(ctx, addiu, dst, src, imm); emit_addiu() 223 emit_instr(ctx, and, dst, src1, src2); emit_and() 234 emit_instr(ctx, andi, dst, src, imm); emit_andi() 241 emit_instr(ctx, xor, dst, src1, src2); emit_xor() 251 emit_instr(ctx, xori, dst, src, imm); emit_xori() 263 emit_instr(ctx, subu, dst, src1, src2); emit_subu() 274 emit_instr(ctx, sllv, dst, src, sa); emit_sllv() 285 emit_instr(ctx, sll, dst, src, sa); emit_sll() 291 emit_instr(ctx, srlv, dst, src, sa); emit_srlv() 302 emit_instr(ctx, srl, dst, src, sa); emit_srl() 308 emit_instr(ctx, slt, dst, src1, src2); emit_slt() 314 emit_instr(ctx, sltu, dst, src1, src2); emit_sltu() 325 emit_instr(ctx, sltiu, dst, src, imm); emit_sltiu() 341 emit_instr(ctx, sw, reg, offset, base); emit_store() 354 emit_instr(ctx, lw, reg, offset, base); emit_load() 360 emit_instr(ctx, lb, reg, offset, base); emit_load_byte() 366 emit_instr(ctx, lh, reg, offset, base); emit_half_load() 372 emit_instr(ctx, mul, dst, src1, src2); emit_mul() 402 emit_instr(ctx, dsll, dst, src, sa); emit_dsll() 408 emit_instr(ctx, dsrl32, dst, src, sa); emit_dsrl32() 414 emit_instr(ctx, wsbh, dst, src); emit_wsbh() 508 emit_instr(ctx, jalr, link, reg); emit_jalr() 513 emit_instr(ctx, jr, reg); emit_jr()
|