Lines Matching defs:index_reg

911 static void emit_insn_suffix_SIB(u8 **pprog, u32 ptr_reg, u32 val_reg, u32 index_reg, int off)
916 EMIT3(add_2reg(0x44, BPF_REG_0, val_reg), add_2reg(0, ptr_reg, index_reg) /* SIB */, off);
918 EMIT2_off32(add_2reg(0x84, BPF_REG_0, val_reg), add_2reg(0, ptr_reg, index_reg) /* SIB */, off);
1004 static void emit_ldx_index(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, u32 index_reg, int off)
1011 EMIT3(add_3mod(0x40, src_reg, dst_reg, index_reg), 0x0F, 0xB6);
1015 EMIT3(add_3mod(0x40, src_reg, dst_reg, index_reg), 0x0F, 0xB7);
1019 EMIT2(add_3mod(0x40, src_reg, dst_reg, index_reg), 0x8B);
1023 EMIT2(add_3mod(0x48, src_reg, dst_reg, index_reg), 0x8B);
1026 emit_insn_suffix_SIB(&prog, src_reg, dst_reg, index_reg, off);
1069 /* STX: *(u8*)(dst_reg + index_reg + off) = src_reg */
1070 static void emit_stx_index(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, u32 index_reg, int off)
1077 EMIT2(add_3mod(0x40, dst_reg, src_reg, index_reg), 0x88);
1081 EMIT3(0x66, add_3mod(0x40, dst_reg, src_reg, index_reg), 0x89);
1085 EMIT2(add_3mod(0x40, dst_reg, src_reg, index_reg), 0x89);
1089 EMIT2(add_3mod(0x48, dst_reg, src_reg, index_reg), 0x89);
1092 emit_insn_suffix_SIB(&prog, dst_reg, src_reg, index_reg, off);
1101 /* ST: *(u8*)(dst_reg + index_reg + off) = imm32 */
1102 static void emit_st_index(u8 **pprog, u32 size, u32 dst_reg, u32 index_reg, int off, int imm)
1109 EMIT2(add_3mod(0x40, dst_reg, 0, index_reg), 0xC6);
1113 EMIT3(0x66, add_3mod(0x40, dst_reg, 0, index_reg), 0xC7);
1117 EMIT2(add_3mod(0x40, dst_reg, 0, index_reg), 0xC7);
1121 EMIT2(add_3mod(0x48, dst_reg, 0, index_reg), 0xC7);
1124 emit_insn_suffix_SIB(&prog, dst_reg, 0, index_reg, off);
1176 u32 dst_reg, u32 src_reg, u32 index_reg, int off)
1183 EMIT1(add_3mod(0x40, dst_reg, src_reg, index_reg));
1186 EMIT1(add_3mod(0x48, dst_reg, src_reg, index_reg));
1218 emit_insn_suffix_SIB(&prog, dst_reg, src_reg, index_reg, off);