|
|
@@ -1288,15 +1288,10 @@ wrp_alu64_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta,
|
|
|
|
|
|
static int
|
|
|
wrp_alu32_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta,
|
|
|
- enum alu_op alu_op, bool skip)
|
|
|
+ enum alu_op alu_op)
|
|
|
{
|
|
|
const struct bpf_insn *insn = &meta->insn;
|
|
|
|
|
|
- if (skip) {
|
|
|
- meta->skip = true;
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
wrp_alu_imm(nfp_prog, insn->dst_reg * 2, alu_op, insn->imm);
|
|
|
wrp_immed(nfp_prog, reg_both(insn->dst_reg * 2 + 1), 0);
|
|
|
|
|
|
@@ -2306,7 +2301,7 @@ static int xor_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
|
|
|
static int xor_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
{
|
|
|
- return wrp_alu32_imm(nfp_prog, meta, ALU_OP_XOR, !meta->insn.imm);
|
|
|
+ return wrp_alu32_imm(nfp_prog, meta, ALU_OP_XOR);
|
|
|
}
|
|
|
|
|
|
static int and_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
@@ -2316,7 +2311,7 @@ static int and_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
|
|
|
static int and_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
{
|
|
|
- return wrp_alu32_imm(nfp_prog, meta, ALU_OP_AND, !~meta->insn.imm);
|
|
|
+ return wrp_alu32_imm(nfp_prog, meta, ALU_OP_AND);
|
|
|
}
|
|
|
|
|
|
static int or_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
@@ -2326,7 +2321,7 @@ static int or_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
|
|
|
static int or_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
{
|
|
|
- return wrp_alu32_imm(nfp_prog, meta, ALU_OP_OR, !meta->insn.imm);
|
|
|
+ return wrp_alu32_imm(nfp_prog, meta, ALU_OP_OR);
|
|
|
}
|
|
|
|
|
|
static int add_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
@@ -2336,7 +2331,7 @@ static int add_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
|
|
|
static int add_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
{
|
|
|
- return wrp_alu32_imm(nfp_prog, meta, ALU_OP_ADD, !meta->insn.imm);
|
|
|
+ return wrp_alu32_imm(nfp_prog, meta, ALU_OP_ADD);
|
|
|
}
|
|
|
|
|
|
static int sub_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
@@ -2346,7 +2341,7 @@ static int sub_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
|
|
|
static int sub_imm(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|
|
|
{
|
|
|
- return wrp_alu32_imm(nfp_prog, meta, ALU_OP_SUB, !meta->insn.imm);
|
|
|
+ return wrp_alu32_imm(nfp_prog, meta, ALU_OP_SUB);
|
|
|
}
|
|
|
|
|
|
static int mul_reg(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta)
|