Lines Matching refs:self

35 ins_rsvd (const struct ia64_operand *self ATTRIBUTE_UNUSED,
42 ext_rsvd (const struct ia64_operand *self ATTRIBUTE_UNUSED,
49 ins_const (const struct ia64_operand *self ATTRIBUTE_UNUSED,
56 ext_const (const struct ia64_operand *self ATTRIBUTE_UNUSED,
63 ins_reg (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
65 if (value >= 1u << self->field[0].bits)
68 *code |= value << self->field[0].shift;
73 ext_reg (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
75 *valuep = ((code >> self->field[0].shift)
76 & ((1u << self->field[0].bits) - 1));
81 ins_immu (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
86 for (i = 0; i < NELEMS (self->field) && self->field[i].bits; ++i)
88 new |= ((value & ((((ia64_insn) 1) << self->field[i].bits) - 1))
89 << self->field[i].shift);
90 value >>= self->field[i].bits;
100 ext_immu (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
105 for (i = 0; i < NELEMS (self->field) && self->field[i].bits; ++i)
107 bits = self->field[i].bits;
108 value |= ((code >> self->field[i].shift)
117 ins_immu5b (const struct ia64_operand *self, ia64_insn value,
122 return ins_immu (self, value - 32, code);
126 ext_immu5b (const struct ia64_operand *self, ia64_insn code,
131 result = ext_immu (self, code, valuep);
140 ins_immus8 (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
144 return ins_immu (self, value >> 3, code);
148 ext_immus8 (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
152 result = ext_immu (self, code, valuep);
161 ins_imms_scaled (const struct ia64_operand *self, ia64_insn value,
170 for (i = 0; i < NELEMS (self->field) && self->field[i].bits; ++i)
172 new |= ((svalue & ((((ia64_insn) 1) << self->field[i].bits) - 1))
173 << self->field[i].shift);
174 sign_bit = (svalue >> (self->field[i].bits - 1)) & 1;
175 svalue >>= self->field[i].bits;
185 ext_imms_scaled (const struct ia64_operand *self, ia64_insn code,
191 for (i = 0; i < NELEMS (self->field) && self->field[i].bits; ++i)
193 bits = self->field[i].bits;
194 val |= ((code >> self->field[i].shift)
207 ins_imms (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
209 return ins_imms_scaled (self, value, code, 0);
213 ins_immsu4 (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
217 return ins_imms_scaled (self, value, code, 0);
221 ext_imms (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
223 return ext_imms_scaled (self, code, valuep, 0);
227 ins_immsm1 (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
230 return ins_imms_scaled (self, value, code, 0);
234 ins_immsm1u4 (const struct ia64_operand *self, ia64_insn value,
240 return ins_imms_scaled (self, value, code, 0);
244 ext_immsm1 (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
246 const char *res = ext_imms_scaled (self, code, valuep, 0);
253 ins_imms1 (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
255 return ins_imms_scaled (self, value, code, 1);
259 ext_imms1 (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
261 return ext_imms_scaled (self, code, valuep, 1);
265 ins_imms4 (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
267 return ins_imms_scaled (self, value, code, 4);
271 ext_imms4 (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
273 return ext_imms_scaled (self, code, valuep, 4);
277 ins_imms16 (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
279 return ins_imms_scaled (self, value, code, 16);
283 ext_imms16 (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
285 return ext_imms_scaled (self, code, valuep, 16);
289 ins_cimmu (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
291 ia64_insn mask = (((ia64_insn) 1) << self->field[0].bits) - 1;
292 return ins_immu (self, value ^ mask, code);
296 ext_cimmu (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
301 mask = (((ia64_insn) 1) << self->field[0].bits) - 1;
302 result = ext_immu (self, code, valuep);
305 mask = (((ia64_insn) 1) << self->field[0].bits) - 1;
312 ins_cnt (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
315 if (value >= ((BFD_HOST_U_64_BIT) 1) << self->field[0].bits)
318 *code |= value << self->field[0].shift;
323 ext_cnt (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
325 *valuep = ((code >> self->field[0].shift)
326 & ((((BFD_HOST_U_64_BIT) 1) << self->field[0].bits) - 1)) + 1;
331 ins_cnt2b (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
338 *code |= value << self->field[0].shift;
343 ext_cnt2b (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
345 *valuep = ((code >> self->field[0].shift) & 0x3) + 1;
350 ins_cnt2c (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
360 *code |= value << self->field[0].shift;
365 ext_cnt2c (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
369 value = (code >> self->field[0].shift) & 0x3;
382 ins_inc3 (const struct ia64_operand *self, ia64_insn value, ia64_insn *code)
400 *code |= (sign | value) << self->field[0].shift;
405 ext_inc3 (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep)
410 val = (code >> self->field[0].shift) & 0x7;