AND
#define A64_AND(sf, Rd, Rn, Rm) A64_LOGIC_SREG(sf, Rd, Rn, Rm, AND)
#define A64_AND_I(sf, Rd, Rn, imm) A64_LOGIC_IMM(sf, Rd, Rn, imm, AND)
if (K || OPCODE == AND || OPCODE == MUL) { \
*prog++ = (AND | RS1(R1) | RS2(R2) | RD(R3))
*prog++ = (AND | IMMED | RS1(R1) | S13(IMM) | RD(R3))
emit_alu_X(AND);
emit_alu_K(AND, K);
emit_alu3_K(AND, dst, 0xff, tmp, ctx);
emit_alu3_K(AND, dst, 0xff, dst, ctx);
emit_alu3_K(AND, tmp2, 0xff, tmp2, ctx);/* tmp2 = tmp2 & 0xff */
emit_alu3_K(AND, tmp2, 0xff, tmp2, ctx);/* tmp2 = tmp2 & 0xff */
emit_alu3_K(AND, dst, 0xff, dst, ctx); /* dst = dst & 0xff */
emit_alu_K(AND, dst, imm, ctx);
emit_alu(AND, src, dst, ctx);
APPEND_MATH(AND, desc, dest, src0, src1, len)
APPEND_MATH_IMM_u32(AND, desc, dest, src0, src1, data)
APPEND_MATH_IMM_u64(AND, desc, dest, src0, src1, data)
#define CS_ALU_INSTR_AND __CS_ALU_INSTR(AND, NA, NA)
INSN_3(ALU, AND, X), \
INSN_3(ALU, AND, K), \
INSN_3(ALU64, AND, X), \
INSN_3(ALU64, AND, K), \
ALU(AND, &)
BPF_TEST_CLOBBER_ALU(ALU64_IMM, AND, R8, 123456789),
BPF_TEST_CLOBBER_ALU(ALU64_IMM, AND, R9, 123456789),
BPF_TEST_CLOBBER_ALU(ALU32_IMM, AND, R8, 123456789),
BPF_TEST_CLOBBER_ALU(ALU32_IMM, AND, R9, 123456789),
BPF_TEST_CLOBBER_ALU(ALU64_REG, AND, R8, R1),
BPF_TEST_CLOBBER_ALU(ALU64_REG, AND, R9, R1),
BPF_TEST_CLOBBER_ALU(ALU32_REG, AND, R8, R1),
BPF_TEST_CLOBBER_ALU(ALU32_REG, AND, R9, R1),
BPF_ALU32_SRC_ZEXT(AND),
BPF_ATOMIC32_SRC_ZEXT(AND),