Lines Matching refs:src

169 #define src_lo	src[0]
170 #define src_hi src[1]
234 static inline void emit_ia32_mov_r(const u8 dst, const u8 src, bool dstk,
239 u8 sreg = sstk ? IA32_EAX : src;
243 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_EAX), STACK_VAR(src));
254 /* dst = src */
256 const u8 src[], bool dstk,
283 * dst = dst * src
285 static inline void emit_ia32_mul_r(const u8 dst, const u8 src, bool dstk,
290 u8 sreg = sstk ? IA32_ECX : src;
294 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_ECX), STACK_VAR(src));
433 * dst = dst (div|mod) src
435 static inline void emit_ia32_div_mod_r(const u8 op, const u8 dst, const u8 src,
444 STACK_VAR(src));
445 else if (src != IA32_ECX)
446 /* mov ecx,src */
447 EMIT2(0x8B, add_2reg(0xC0, src, IA32_ECX));
480 * dst = dst (shift) src
482 static inline void emit_ia32_shift_r(const u8 op, const u8 dst, const u8 src,
496 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_ECX), STACK_VAR(src));
497 else if (src != IA32_ECX)
498 /* mov ecx,src */
499 EMIT2(0x8B, add_2reg(0xC0, src, IA32_ECX));
521 * dst = dst (op) src
524 const u8 dst, const u8 src, bool dstk,
529 u8 sreg = sstk ? IA32_EAX : src;
534 EMIT3(0x8B, add_2reg(0x40, IA32_EBP, IA32_EAX), STACK_VAR(src));
541 /* dst = dst + src */
548 /* dst = dst - src */
555 /* dst = dst | src */
559 /* dst = dst & src */
563 /* dst = dst ^ src */
578 const u8 dst[], const u8 src[],
730 /* dst = dst << src */
731 static inline void emit_ia32_lsh_r64(const u8 dst[], const u8 src[],
783 /* dst = dst >> src (signed)*/
784 static inline void emit_ia32_arsh_r64(const u8 dst[], const u8 src[],
836 /* dst = dst >> src */
837 static inline void emit_ia32_rsh_r64(const u8 dst[], const u8 src[], bool dstk,
1035 static inline void emit_ia32_mul_r64(const u8 dst[], const u8 src[], bool dstk,
1391 static inline void emit_push_r64(const u8 src[], u8 **pprog)
1498 const u8 *src = bpf2ia32[insn->src_reg];
1507 /* dst = src */
1519 emit_ia32_mov_r64(is64, dst, src, dstk, sstk,
1529 /* dst = dst + src/imm */
1530 /* dst = dst - src/imm */
1531 /* dst = dst | src/imm */
1532 /* dst = dst & src/imm */
1533 /* dst = dst ^ src/imm */
1534 /* dst = dst * src/imm */
1535 /* dst = dst << src */
1536 /* dst = dst >> src */
1560 src, dstk, sstk, &prog,
1609 /* dst = dst / src(imm) */
1610 /* dst = dst % src(imm) */
1662 /* dst = dst << src */
1664 emit_ia32_lsh_r64(dst, src, dstk, sstk, &prog);
1666 /* dst = dst >> src */
1668 emit_ia32_rsh_r64(dst, src, dstk, sstk, &prog);
1670 /* dst = dst >> src (signed) */
1672 emit_ia32_arsh_r64(dst, src, dstk, sstk, &prog);
1691 /* dst = dst * src/imm */
1696 emit_ia32_mul_r64(dst, src, dstk, sstk, &prog);
2268 /* STX XADD: lock *(u32 *)(dst + off) += src */
2270 /* STX XADD: lock *(u64 *)(dst + off) += src */