Lines Matching refs:imm
141 static void emit_imm(const s8 rd, s32 imm, struct hppa_jit_context *ctx) in emit_imm() argument
143 u32 lower = im11(imm); in emit_imm()
146 if (OPTIMIZE_HPPA && relative_bits_ok(imm, 14)) { in emit_imm()
147 emit(hppa_ldi(imm, rd), ctx); in emit_imm()
150 emit(hppa_ldil(imm, rd), ctx); in emit_imm()
156 static void emit_imm32(const s8 *rd, s32 imm, struct hppa_jit_context *ctx) in emit_imm32() argument
160 emit_imm(lo(rd), imm, ctx); in emit_imm32()
164 if (imm >= 0) in emit_imm32()
421 static void emit_alu_i64(const s8 *dst, s32 imm, in emit_alu_i64() argument
435 emit_imm32(rd, imm, ctx); in emit_alu_i64()
438 emit_imm(HPPA_REG_T0, imm, ctx); in emit_alu_i64()
440 if (imm >= 0) in emit_alu_i64()
444 emit_imm(HPPA_REG_T0, imm, ctx); in emit_alu_i64()
446 if (imm < 0) in emit_alu_i64()
450 emit_imm(HPPA_REG_T0, imm, ctx); in emit_alu_i64()
452 if (imm < 0) { in emit_alu_i64()
458 if (imm == 0) in emit_alu_i64()
460 if (imm > 32) { in emit_alu_i64()
461 imm -= 32; in emit_alu_i64()
462 emit(hppa_zdep(lo(rd), imm, imm, hi(rd)), ctx); in emit_alu_i64()
464 } else if (imm == 32) { in emit_alu_i64()
468 emit(hppa_shd(hi(rd), lo(rd), 32 - imm, hi(rd)), ctx); in emit_alu_i64()
469 emit(hppa_zdep(lo(rd), imm, imm, lo(rd)), ctx); in emit_alu_i64()
473 if (imm == 0) in emit_alu_i64()
475 if (imm > 32) { in emit_alu_i64()
476 imm -= 32; in emit_alu_i64()
477 emit(hppa_shr(hi(rd), imm, lo(rd)), ctx); in emit_alu_i64()
479 } else if (imm == 32) { in emit_alu_i64()
483 emit(hppa_shrpw(hi(rd), lo(rd), imm, lo(rd)), ctx); in emit_alu_i64()
484 emit(hppa_shr(hi(rd), imm, hi(rd)), ctx); in emit_alu_i64()
488 if (imm == 0) in emit_alu_i64()
490 if (imm > 32) { in emit_alu_i64()
491 imm -= 32; in emit_alu_i64()
492 emit(hppa_extrws(hi(rd), 31 - imm, imm, lo(rd)), ctx); in emit_alu_i64()
494 } else if (imm == 32) { in emit_alu_i64()
498 emit(hppa_shrpw(hi(rd), lo(rd), imm, lo(rd)), ctx); in emit_alu_i64()
499 emit(hppa_extrws(hi(rd), 31 - imm, imm, hi(rd)), ctx); in emit_alu_i64()
509 static void emit_alu_i32(const s8 *dst, s32 imm, in emit_alu_i32() argument
523 emit_imm(lo(rd), imm, ctx); in emit_alu_i32()
526 emit_imm(HPPA_REG_T0, imm, ctx); in emit_alu_i32()
530 emit_imm(HPPA_REG_T0, imm, ctx); in emit_alu_i32()
534 emit_imm(HPPA_REG_T0, imm, ctx); in emit_alu_i32()
538 emit_imm(HPPA_REG_T0, imm, ctx); in emit_alu_i32()
542 emit_imm(HPPA_REG_T0, imm, ctx); in emit_alu_i32()
546 if (imm != 0) in emit_alu_i32()
547 emit(hppa_zdep(lo(rd), imm, imm, lo(rd)), ctx); in emit_alu_i32()
550 if (imm != 0) in emit_alu_i32()
551 emit(hppa_shr(lo(rd), imm, lo(rd)), ctx); in emit_alu_i32()
554 if (imm != 0) in emit_alu_i32()
555 emit(hppa_extrws(lo(rd), 31 - imm, imm, lo(rd)), ctx); in emit_alu_i32()
1124 s32 imm = insn->imm; in bpf_jit_emit_insn() local
1163 emit_imm32(tmp2, imm, ctx); in bpf_jit_emit_insn()
1181 emit_alu_i64(dst, imm, ctx, BPF_OP(code)); in bpf_jit_emit_insn()
1185 if (imm == 1) { in bpf_jit_emit_insn()
1211 emit_imm32(tmp2, imm, ctx); in bpf_jit_emit_insn()
1230 emit_alu_i32(dst, imm, ctx, BPF_OP(code)); in bpf_jit_emit_insn()
1247 switch (imm) { in bpf_jit_emit_insn()
1261 pr_err("bpf-jit: BPF_END imm %d invalid\n", imm); in bpf_jit_emit_insn()
1273 switch (imm) { in bpf_jit_emit_insn()
1291 pr_err("bpf-jit: BPF_END imm %d invalid\n", imm); in bpf_jit_emit_insn()
1381 emit_imm32(tmp2, imm, ctx); in bpf_jit_emit_insn()
1404 u32 upper = insn1.imm; in bpf_jit_emit_insn()
1405 u32 lower = imm; in bpf_jit_emit_insn()
1443 emit_imm32(tmp2, imm, ctx); in bpf_jit_emit_insn()
1456 insn->imm); in bpf_jit_emit_insn()