Lines Matching +full:right +full:- +full:aligned
23 * - the ISA bit of the target, either 0 or 1 respectively,
25 * - the amount the jump target address is shifted right to fit in the
28 * - the mask determining the size of the jump region relative to the
29 * delay-slot instruction, either 256MB or 128MB,
31 * - the jump target alignment, either 4 or 2 bytes.
34 #define J_RANGE_SHIFT (2 - J_ISA_BIT)
35 #define J_RANGE_MASK ((1ul << (26 + J_RANGE_SHIFT)) - 1)
36 #define J_ALIGN_MASK ((1ul << J_RANGE_SHIFT) - 1)
45 insn_p = (union mips_instruction *)msk_isa16_mode(e->code); in arch_jump_label_transform()
47 /* Target must have the right alignment and ISA must be preserved. */ in arch_jump_label_transform()
48 BUG_ON((e->target & J_ALIGN_MASK) != J_ISA_BIT); in arch_jump_label_transform()
52 offset = e->target - ((unsigned long)insn_p + 4); in arch_jump_label_transform()
60 (offset < -(long)BIT(25))); in arch_jump_label_transform()
66 * Jump only works within an aligned region its delay in arch_jump_label_transform()
69 WARN_ON((e->target & ~J_RANGE_MASK) != in arch_jump_label_transform()
70 ((e->code + 4) & ~J_RANGE_MASK)); in arch_jump_label_transform()
73 insn.j_format.target = e->target >> J_RANGE_SHIFT; in arch_jump_label_transform()
81 insn_p->halfword[0] = insn.word >> 16; in arch_jump_label_transform()
82 insn_p->halfword[1] = insn.word; in arch_jump_label_transform()
95 struct jump_entry *iter_start = mod->jump_entries; in jump_label_apply_nops()
96 struct jump_entry *iter_stop = iter_start + mod->num_jump_entries; in jump_label_apply_nops()