Searched refs:imm (Results 1 - 25 of 143) sorted by relevance

123456

/linux-master/arch/arm64/include/asm/
H A Dinsn-def.h6 #include <asm/brk-imm.h>
/linux-master/arch/arm/net/
H A Dbpf_jit_32.h167 #define _AL3_I(op, rd, rn, imm) ((op ## _I) | (rd) << 12 | (rn) << 16 | (imm))
173 #define ARM_ADD_I(rd, rn, imm) _AL3_I(ARM_INST_ADD, rd, rn, imm)
174 #define ARM_ADDS_I(rd, rn, imm) _AL3_I(ARM_INST_ADDS, rd, rn, imm)
176 #define ARM_ADC_I(rd, rn, imm) _AL3_I(ARM_INST_ADC, rd, rn, imm)
180 #define ARM_AND_I(rd, rn, imm) _AL3_I(ARM_INST_AND, rd, rn, imm)
[all...]
/linux-master/arch/loongarch/kernel/
H A Dinst.c17 unsigned int imm = insn.reg1i20_format.immediate; local
26 regs->regs[rd] = pc + sign_extend64(imm << 2, 21);
29 regs->regs[rd] = pc + sign_extend64(imm << 12, 31);
32 regs->regs[rd] = pc + sign_extend64(imm << 18, 37);
35 regs->regs[rd] = pc + sign_extend64(imm << 12, 31);
48 unsigned int imm, imm_l, imm_h, rd, rj; local
86 imm = insn.reg2i16_format.immediate;
92 regs->csr_era = pc + sign_extend64(imm << 2, 17);
98 regs->csr_era = pc + sign_extend64(imm << 2, 17);
104 regs->csr_era = pc + sign_extend64(imm <<
256 larch_insn_gen_break(int imm) argument
284 larch_insn_gen_lu12iw(enum loongarch_gpr rd, int imm) argument
298 larch_insn_gen_lu32id(enum loongarch_gpr rd, int imm) argument
312 larch_insn_gen_lu52id(enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) argument
326 larch_insn_gen_jirl(enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) argument
[all...]
/linux-master/arch/powerpc/net/
H A Dbpf_jit_comp32.c306 s32 imm = insn[i].imm; local
316 insn[i - 1].dst_reg == insn[i].dst_reg && insn[i - 1].imm != 1) {
367 case BPF_ALU | BPF_SUB | BPF_K: /* (u32) dst -= (u32) imm */
368 imm = -imm;
370 case BPF_ALU | BPF_ADD | BPF_K: /* (u32) dst += (u32) imm */
371 if (!imm) {
373 } else if (IMM_HA(imm) & 0xffff) {
374 EMIT(PPC_RAW_ADDIS(dst_reg, src2_reg, IMM_HA(imm)));
[all...]
H A Dbpf_jit_comp64.c427 s32 imm = insn[i].imm; local
469 case BPF_ALU | BPF_ADD | BPF_K: /* (u32) dst += (u32) imm */
470 case BPF_ALU64 | BPF_ADD | BPF_K: /* dst += imm */
471 if (!imm) {
473 } else if (imm >= -32768 && imm < 32768) {
474 EMIT(PPC_RAW_ADDI(dst_reg, dst_reg, IMM_L(imm)));
476 PPC_LI32(tmp1_reg, imm);
480 case BPF_ALU | BPF_SUB | BPF_K: /* (u32) dst -= (u32) imm */
[all...]
/linux-master/arch/arm/probes/kprobes/
H A Dcheckers-common.c34 int imm = insn & 0xff; local
35 asi->stack_space = imm;
47 int imm = insn & 0xff; local
48 asi->stack_space = imm << 2;
56 int imm = ((insn & 0xf00) >> 4) + (insn & 0xf); local
57 asi->stack_space = imm;
66 int imm = insn & 0xfff; local
67 asi->stack_space = imm;
/linux-master/tools/include/linux/
H A Dfilter.h40 .imm = 0 })
48 .imm = 0 })
58 .imm = IMM })
66 .imm = IMM })
76 .imm = LEN })
86 .imm = 0 })
94 .imm = 0 })
104 .imm = IMM })
112 .imm = IMM })
122 .imm
[all...]
/linux-master/samples/bpf/
H A Dbpf_insn.h16 .imm = 0 })
24 .imm = 0 })
34 .imm = IMM })
42 .imm = IMM })
52 .imm = 0 })
60 .imm = 0 })
70 .imm = IMM })
78 .imm = IMM })
90 .imm = (__u32) (IMM) }), \
96 .imm
[all...]
/linux-master/kernel/bpf/
H A Ddisasm.c23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID &&
24 func_id_str[insn->imm])
25 return func_id_str[insn->imm];
36 snprintf(buff, len, "%+d", insn->imm);
145 insn->imm, insn->dst_reg);
154 insn->imm, insn->dst_reg);
207 insn->src_reg, ((u32)insn->imm) >> 16, (u16)insn->imm);
226 insn->imm);
312 u64 imm = ((u64)(insn + 1)->imm << 32) | (u32)insn->imm; local
[all...]
/linux-master/tools/testing/selftests/bpf/
H A Ddisasm.c23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID &&
24 func_id_str[insn->imm])
25 return func_id_str[insn->imm];
36 snprintf(buff, len, "%+d", insn->imm);
145 insn->imm, insn->dst_reg);
154 insn->imm, insn->dst_reg);
207 insn->src_reg, ((u32)insn->imm) >> 16, (u16)insn->imm);
226 insn->imm);
312 u64 imm = ((u64)(insn + 1)->imm << 32) | (u32)insn->imm; local
[all...]
/linux-master/tools/objtool/arch/powerpc/
H A Ddecode.c48 unsigned long imm; local
54 imm = 0;
61 imm = ins & 0x3fffffc;
62 if (imm & 0x2000000)
63 imm -= 0x4000000;
73 insn->immediate = imm;
/linux-master/arch/arc/net/
H A Dbpf_jit.h45 u8 mov_r32_i32(u8 *buf, u8 reg, s32 imm);
47 u8 mov_r64_i32(u8 *buf, u8 reg, s32 imm);
52 u8 store_i(u8 *buf, s32 imm, u8 rd, s16 off, u8 size);
55 u8 add_r32_i32(u8 *buf, u8 rd, s32 imm);
57 u8 add_r64_i32(u8 *buf, u8 rd, s32 imm);
60 u8 sub_r32_i32(u8 *buf, u8 rd, s32 imm);
62 u8 sub_r64_i32(u8 *buf, u8 rd, s32 imm);
65 u8 mul_r32_i32(u8 *buf, u8 rd, s32 imm);
67 u8 mul_r64_i32(u8 *buf, u8 rd, s32 imm);
70 u8 div_r32_i32(u8 *buf, u8 rd, s32 imm, boo
[all...]
H A Dbpf_jit_arcv2.c659 static u8 arc_movi_r(u8 *buf, u8 reg, s16 imm) argument
661 const u32 insn = OPC_MOVI | OP_B(reg) | MOVI_S12(imm);
678 /* The emitted code may have different sizes based on "imm". */
679 static u8 arc_mov_i(u8 *buf, u8 rd, s32 imm) argument
683 if (IN_S12_RANGE(imm))
684 return arc_movi_r(buf, rd, imm);
688 emit_4_bytes(buf + INSN_len_normal, imm);
694 static u8 arc_mov_i_fixed(u8 *buf, u8 rd, s32 imm) argument
700 emit_4_bytes(buf + INSN_len_normal, imm);
716 static u8 arc_movu_cc_r(u8 *buf, u8 cc, u8 rd, u8 imm) argument
839 arc_add_i(u8 *buf, u8 ra, u8 rb, s32 imm) argument
901 arc_sub_i(u8 *buf, u8 ra, s32 imm) argument
970 arc_mpy_i(u8 *buf, u8 ra, u8 rb, s32 imm) argument
992 arc_mpydu_i(u8 *buf, u8 ra, s32 imm) argument
1014 arc_divu_i(u8 *buf, u8 rd, s32 imm) argument
1036 arc_divs_i(u8 *buf, u8 rd, s32 imm) argument
1058 arc_remu_i(u8 *buf, u8 rd, s32 imm) argument
1080 arc_rems_i(u8 *buf, u8 rd, s32 imm) argument
1102 arc_and_i(u8 *buf, u8 rd, s32 imm) argument
1147 arc_or_i(u8 *buf, u8 rd, s32 imm) argument
1167 arc_xor_i(u8 *buf, u8 rd, s32 imm) argument
1187 arc_btst_i(u8 *buf, u8 rs, u8 imm) argument
1205 arc_asli_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument
1223 arc_asri_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument
1241 arc_lsri_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument
1336 mov_r32_i32(u8 *buf, u8 reg, s32 imm) argument
1375 mov_r64_i32(u8 *buf, u8 reg, s32 imm) argument
1491 store_i(u8 *buf, s32 imm, u8 rd, s16 off, u8 size) argument
1600 add_r32_i32(u8 *buf, u8 rd, s32 imm) argument
1617 add_r64_i32(u8 *buf, u8 rd, s32 imm) argument
1636 sub_r32_i32(u8 *buf, u8 rd, s32 imm) argument
1653 sub_r64_i32(u8 *buf, u8 rd, s32 imm) argument
1688 mul_r32_i32(u8 *buf, u8 rd, s32 imm) argument
1748 mul_r64_i32(u8 *buf, u8 rd, s32 imm) argument
1782 div_r32_i32(u8 *buf, u8 rd, s32 imm, bool sign_ext) argument
1801 mod_r32_i32(u8 *buf, u8 rd, s32 imm, bool sign_ext) argument
1817 and_r32_i32(u8 *buf, u8 rd, s32 imm) argument
1831 and_r64_i32(u8 *buf, u8 rd, s32 imm) argument
1850 or_r32_i32(u8 *buf, u8 rd, s32 imm) argument
1864 or_r64_i32(u8 *buf, u8 rd, s32 imm) argument
1878 xor_r32_i32(u8 *buf, u8 rd, s32 imm) argument
1892 xor_r64_i32(u8 *buf, u8 rd, s32 imm) argument
1907 lsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument
1981 lsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument
2011 rsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument
2076 rsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument
2106 arsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument
2174 arsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument
[all...]
/linux-master/arch/riscv/kernel/
H A Dalternative.c76 s32 imm; local
79 imm = riscv_insn_extract_utype_itype_imm(auipc_insn, jalr_insn);
80 imm -= patch_offset;
83 riscv_insn_insert_utype_itype_imm(&call[0], &call[1], imm);
91 s32 imm; local
94 imm = riscv_insn_extract_jtype_imm(jal_insn);
95 imm -= patch_offset;
98 riscv_insn_insert_jtype_imm(&jal_insn, imm);
134 s32 imm = riscv_insn_extract_jtype_imm(insn); local
137 if ((alt_ptr + i * sizeof(u32) + imm) >
[all...]
/linux-master/arch/mips/net/
H A Dbpf_jit_comp.c191 /* dst = imm (register width) */
192 void emit_mov_i(struct jit_context *ctx, u8 dst, s32 imm) argument
194 if (imm >= -0x8000 && imm <= 0x7fff) {
195 emit(ctx, addiu, dst, MIPS_R_ZERO, imm);
197 emit(ctx, lui, dst, (s16)((u32)imm >> 16));
198 emit(ctx, ori, dst, dst, (u16)(imm & 0xffff));
211 bool valid_alu_i(u8 op, s32 imm) argument
223 /* imm must be 16 bits */
224 return imm >
247 rewrite_alu_i(u8 op, s32 imm, u8 *alu, s32 *val) argument
298 emit_alu_i(struct jit_context *ctx, u8 dst, s32 imm, u8 op) argument
502 valid_jmp_i(u8 op, s32 imm) argument
605 setup_jmp_i(struct jit_context *ctx, s32 imm, u8 width, u8 bpf_op, s16 bpf_off, u8 *jit_op, s32 *jit_off) argument
698 emit_jmp_i(struct jit_context *ctx, u8 dst, s32 imm, s32 off, u8 op) argument
[all...]
H A Dbpf_jit_comp.h159 /* dst = imm (32-bit) */
160 void emit_mov_i(struct jit_context *ctx, u8 dst, s32 imm);
166 bool valid_alu_i(u8 op, s32 imm);
169 bool rewrite_alu_i(u8 op, s32 imm, u8 *alu, s32 *val);
172 void emit_alu_i(struct jit_context *ctx, u8 dst, s32 imm, u8 op);
187 bool valid_jmp_i(u8 op, s32 imm);
190 void setup_jmp_i(struct jit_context *ctx, s32 imm, u8 width,
201 void emit_jmp_i(struct jit_context *ctx, u8 dst, s32 imm, s32 off, u8 op);
H A Dbpf_jit_comp64.c123 /* dst = imm (64-bit) */
158 static void emit_alu_i64(struct jit_context *ctx, u8 dst, s32 imm, u8 op) argument
161 /* dst = dst | imm */
163 emit(ctx, ori, dst, dst, (u16)imm);
165 /* dst = dst ^ imm */
167 emit(ctx, xori, dst, dst, (u16)imm);
173 /* dst = dst << imm */
175 emit(ctx, dsll_safe, dst, dst, imm);
177 /* dst = dst >> imm */
179 emit(ctx, dsrl_safe, dst, dst, imm);
642 s32 imm = insn->imm; local
[all...]
H A Dbpf_jit_comp32.c173 /* dst = imm (sign-extended) */
174 static void emit_mov_se_i64(struct jit_context *ctx, const u8 dst[], s32 imm) argument
176 emit_mov_i(ctx, lo(dst), imm);
177 if (imm < 0)
202 const u8 dst[], s32 imm, u8 op)
207 * ADD/SUB with all but the max negative imm can be handled by
208 * inverting the operation and the imm value, saving one insn.
210 if (imm > S32_MIN && imm < 0)
214 imm
201 emit_alu_i64(struct jit_context *ctx, const u8 dst[], s32 imm, u8 op) argument
321 emit_shift_i64(struct jit_context *ctx, const u8 dst[], u32 imm, u8 op) argument
423 emit_mul_i64(struct jit_context *ctx, const u8 dst[], s32 imm) argument
990 emit_sltiu_r64(struct jit_context *ctx, u8 rd, const u8 rs[], s64 imm) argument
1025 emit_slti_r64(struct jit_context *ctx, u8 rd, const u8 rs[], s64 imm) argument
1092 emit_jmp_i64(struct jit_context *ctx, const u8 dst[], s32 imm, s32 off, u8 op) argument
1471 s32 imm = insn->imm; local
[all...]
/linux-master/arch/arm64/net/
H A Dbpf_jit.h73 #define A64_LS_IMM(Rt, Rn, imm, size, type) \
74 aarch64_insn_gen_load_store_imm(Rt, Rn, imm, \
77 #define A64_STRBI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 8, STORE)
78 #define A64_LDRBI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 8, LOAD)
79 #define A64_LDRSBI(Xt, Xn, imm) A64_LS_IMM(Xt, Xn, imm, 8, SIGNED_LOAD)
80 #define A64_STRHI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 1
[all...]
/linux-master/arch/loongarch/net/
H A Dbpf_jit.h106 static inline void move_imm(struct jit_ctx *ctx, enum loongarch_gpr rd, long imm, bool is32) argument
111 if (imm == 0) {
117 if (is_signed_imm12(imm)) {
118 emit_insn(ctx, addiw, rd, LOONGARCH_GPR_ZERO, imm);
123 if (is_unsigned_imm12(imm)) {
124 emit_insn(ctx, ori, rd, LOONGARCH_GPR_ZERO, imm);
129 imm_63_52 = (imm >> 52) & 0xfff;
130 imm_51_0 = imm & 0xfffffffffffff;
137 imm_31_12 = (imm >> 12) & 0xfffff;
141 imm_11_0 = imm
[all...]
/linux-master/tools/testing/selftests/arm64/fp/
H A Dsme-inst.h9 * RDSVL X\nx, #\imm
11 .macro rdsvl nx, imm
13 | (\imm << 5) \
/linux-master/arch/riscv/net/
H A Dbpf_jit_comp32.c111 static void emit_imm(const s8 rd, s32 imm, struct rv_jit_context *ctx) argument
113 u32 upper = (imm + (1 << 11)) >> 12;
114 u32 lower = imm & 0xfff;
124 static void emit_imm32(const s8 *rd, s32 imm, struct rv_jit_context *ctx) argument
127 emit_imm(lo(rd), imm, ctx); local
130 if (imm >= 0)
243 static void emit_alu_i64(const s8 *dst, s32 imm, argument
251 emit_imm32(rd, imm, ctx);
254 if (is_12b_int(imm)) {
255 emit(rv_andi(lo(rd), lo(rd), imm), ct local
265 emit(rv_ori(lo(rd), lo(rd), imm), ctx); local
275 emit(rv_xori(lo(rd), lo(rd), imm), ctx); local
291 emit(rv_slli(hi(rd), hi(rd), imm), ctx); local
293 emit(rv_slli(lo(rd), lo(rd), imm), ctx); local
304 emit(rv_srli(lo(rd), lo(rd), imm), ctx); local
306 emit(rv_srli(hi(rd), hi(rd), imm), ctx); local
317 emit(rv_srli(lo(rd), lo(rd), imm), ctx); local
319 emit(rv_srai(hi(rd), hi(rd), imm), ctx); local
327 emit_alu_i32(const s8 *dst, s32 imm, struct rv_jit_context *ctx, const u8 op) argument
335 emit_imm(lo(rd), imm, ctx); local
339 emit(rv_addi(lo(rd), lo(rd), imm), ctx); local
355 emit(rv_andi(lo(rd), lo(rd), imm), ctx); local
363 emit(rv_ori(lo(rd), lo(rd), imm), ctx); local
371 emit(rv_xori(lo(rd), lo(rd), imm), ctx); local
379 emit(rv_slli(lo(rd), lo(rd), imm), ctx); local
387 emit(rv_srli(lo(rd), lo(rd), imm), ctx); local
395 emit(rv_srai(lo(rd), lo(rd), imm), ctx); local
962 s32 imm = insn->imm; local
[all...]
H A Dbpf_jit.h273 u32 imm; local
275 imm = (imm20_1 & 0x80000) | ((imm20_1 & 0x3ff) << 9) |
278 return (imm << 12) | (rd << 7) | opcode;
298 u32 imm; local
300 imm = ((imm6 & 0x20) << 7) | ((imm6 & 0x1f) << 2);
301 return (funct3 << 13) | (rd << 7) | op | imm;
336 u32 imm; local
338 imm = ((imm6 & 0x20) << 7) | ((imm6 & 0x1f) << 2);
339 return (funct3 << 13) | (funct2 << 10) | ((rd & 0x7) << 7) | op | imm;
615 u32 imm; local
652 u32 imm; local
706 u32 imm; local
734 u32 imm; local
928 u32 imm; local
936 u32 imm; local
946 emit_jalr(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument
972 emit_addi(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument
985 emit_li(u8 rd, s32 imm, struct rv_jit_context *ctx) argument
993 emit_lui(u8 rd, s32 imm, struct rv_jit_context *ctx) argument
1001 emit_slli(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument
1009 emit_andi(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument
1017 emit_srli(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument
1025 emit_srai(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument
1088 emit_addiw(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument
1168 emit_bswap(u8 rd, s32 imm, struct rv_jit_context *ctx) argument
[all...]
/linux-master/arch/microblaze/kernel/
H A Dftrace.c103 static unsigned int imm; /* saving whole imm instruction */ variable
116 * b000c000 imm -16384
135 imm = *(unsigned int *)rec->ip;
136 pr_debug("%s: imm:0x%x\n", __func__, imm);
156 pr_debug("%s: addr:0x%x, rec->ip: 0x%x, imm:0x%x\n",
157 __func__, (unsigned int)addr, (unsigned int)rec->ip, imm);
158 ret = ftrace_modify_code(rec->ip, imm);
174 upper = 0xb0000000 + (upper >> 16); /* imm func_uppe
[all...]
/linux-master/arch/arm64/lib/
H A Dinsn.c113 u32 insn, u64 imm)
124 immlo = (imm & ADR_IMM_LOMASK) << ADR_IMM_LOSHIFT;
125 imm >>= ADR_IMM_HILOSPLIT;
126 immhi = (imm & ADR_IMM_HIMASK) << ADR_IMM_HISHIFT;
127 imm = immlo | immhi;
141 insn |= (imm & mask) << shift;
412 unsigned int imm,
425 if (imm & ~(BIT(12 + shift) - BIT(shift))) {
426 pr_err("%s: invalid imm: %d\n", __func__, imm);
112 aarch64_insn_encode_immediate(enum aarch64_insn_imm_type type, u32 insn, u64 imm) argument
410 aarch64_insn_gen_load_store_imm(enum aarch64_insn_register reg, enum aarch64_insn_register base, unsigned int imm, enum aarch64_insn_size_type size, enum aarch64_insn_ldst_type type) argument
730 aarch64_insn_gen_add_sub_imm(enum aarch64_insn_register dst, enum aarch64_insn_register src, int imm, enum aarch64_insn_variant variant, enum aarch64_insn_adsb_type type) argument
846 aarch64_insn_gen_movewide(enum aarch64_insn_register dst, int imm, int shift, enum aarch64_insn_variant variant, enum aarch64_insn_movewide_type type) argument
1214 s32 imm; local
1315 aarch64_encode_immediate(u64 imm, enum aarch64_insn_variant variant, u32 insn) argument
1411 aarch64_insn_gen_logical_immediate(enum aarch64_insn_logic_type type, enum aarch64_insn_variant variant, enum aarch64_insn_register Rn, enum aarch64_insn_register Rd, u64 imm) argument
[all...]

Completed in 426 milliseconds

123456