Lines Matching refs:instr
89 uint32_t *instr, *limit;
109 instr = (uint32_t *)(symval->value);
117 if ((*instr & BTI_MASK) == BTI_INSTR)
118 instr++;
125 if (*instr == NOP_INSTR)
129 for (; instr < limit; instr++) {
137 if ((*instr & LDP_STP_MASK) == STP_64) {
142 if (((*instr >> ADDR_SHIFT) & ADDR_MASK) == 31)
144 } else if ((*instr & SUB_MASK) == SUB_INSTR &&
145 ((*instr >> SUB_RD_SHIFT) & SUB_R_MASK) == 31 &&
146 ((*instr >> SUB_RN_SHIFT) & SUB_R_MASK) == 31)
150 if (instr >= limit)
157 fbt->fbtp_patchpoint = instr;
160 fbt->fbtp_savedval = *instr;
162 if ((*instr & SUB_MASK) == SUB_INSTR)
168 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
169 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
175 for (; instr < limit; instr++) {
176 if (*instr == RET_INSTR)
178 else if ((*instr & B_MASK) == B_INSTR) {
179 offs = (*instr & B_DATA_MASK);
180 target = instr + offs;
187 if (instr >= limit)
204 fbt->fbtp_patchpoint = instr;
208 if ((*instr & B_MASK) == B_INSTR)
212 fbt->fbtp_roffset = (uintptr_t)instr - (uintptr_t)symval->value;
213 fbt->fbtp_savedval = *instr;
215 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
216 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
220 instr++;