Lines Matching refs:end

56 __gen_uint(uint64_t v, uint32_t start, uint32_t end)
59 const int width = end - start + 1;
70 __gen_sint(int32_t v, uint32_t start, uint32_t end)
73 const int width = end - start + 1;
81 return (((uint32_t) v) << start) & ((2ll << end) - 1);
85 __gen_padded(uint32_t v, uint32_t start, uint32_t end)
94 assert((end - start + 1) == 8);
97 return __gen_uint(shift | (odd << 5), start, end);
102 __gen_unpack_uint(const uint8_t *restrict cl, uint32_t start, uint32_t end)
105 const int width = end - start + 1;
108 for (uint32_t byte = start / 8; byte <= end / 8; byte++) {
116 __gen_unpack_sint(const uint8_t *restrict cl, uint32_t start, uint32_t end)
118 int size = end - start + 1;
119 int64_t val = __gen_unpack_uint(cl, start, end);
125 __gen_unpack_padded(const uint8_t *restrict cl, uint32_t start, uint32_t end)
127 unsigned val = __gen_unpack_uint(cl, start, end);
347 self.end = self.start + int(attrs["size"]) - 1
350 if self.type == 'bool' and self.start != self.end:
378 elif self.type in ['uint', 'hex'] and self.end - self.start > 32:
399 return self != field and max(self.start, field.start) <= min(self.end, field.end)
414 calculated = max(field.end // 8 for field in self.fields) + 1 if len(self.fields) > 0 else 0
444 def __init__(self, field, path, start, end):
448 self.end = end
461 end = offset + field.end
462 all_fields.append(self.FieldRef(field, field_path, start, end))
474 end = offset + field.end
475 contributor = self.FieldRef(field, field_path, start, end)
477 last_word = contributor.end // 32
522 end = contributor.end
525 end -= contrib_word_start
540 (value, start, end)
543 (value, start, end)
546 (value, start, end)
549 (value, start, end)
552 (value, start, end)
554 assert(start == 0 and end == 31)
572 # Given a field (start, end) contained in word `index`, generate the 32-bit
574 def mask_for_word(self, index, start, end):
577 end -= field_word_start
580 end = min(end, 32 - 1)
581 count = (end - start + 1)
592 masks = [self.mask_for_word(index, c.start, c.end) for c in word.contributors]
610 args.append(str(fieldref.end))
664 elif field.type in ["uint", "hex"] and (field.end - field.start) >= 32:
751 # Include at the end so it can depend on us but not the converse