Lines Matching full:variant

280 	def __init__(self, attrs, domain, variant, parent, index_type):  argument
286 self.variant = variant
454 def prefix(self, variant=None): argument
455 if self.current_prefix_type == "variant" and variant:
456 return variant
504 variant = attrs["variants"].split(",")[0]
505 if "-" in variant:
506 variant = variant[:variant.index("-")]
510 assert varset.has_name(variant)
512 return variant
518 variant = self.parse_variants(attrs)
519 if not variant:
520 variant = parent_variant
529 self.variant_regs[reg.name][variant] = reg
616 variant = self.parse_variants(attrs)
617 if not variant and self.current_array:
618 variant = self.current_array.variant
620 self.current_reg = Reg(attrs, self.prefix(variant), self.current_array, bit_size)
626 if variant is not None:
627 self.add_all_variants(self.current_reg, attrs, variant)
672 variant = self.parse_variants(attrs)
674 self.current_array = Array(attrs, self.prefix(variant), variant, self.current_array, index_type)
720 for variant, vreg in variants.items():
722 d[(usage, variant)].append(reg)
724 for variant in self.variants:
725 d[(usage, variant)].append(reg)
732 for (usage, variant), regs in d.items():
748 print("template<> constexpr inline uint16_t %s_REGS<%s>[] = {" % (usage.upper(), variant))
784 # Don't bother for things that only have a single variant:
791 # appear) and stuff everything else in a variant specific
797 for variant in variants.keys():
798 print(" /* %s fields: */" % variant)
799 reg = variants[variant]
835 for variant in variants.keys():
836 print(" if (%s == %s) {" % (varenum.upper(), variant))
837 reg = variants[variant]
840 print(" assert(!\"invalid variant\");")
848 …print("#define %s(VARIANT, %s...) __%s<VARIANT>(%s{__VA_ARGS__})%s" % (regname, xtravar, regname, …