Lines Matching refs:modifier
196 def parse_modifier(modifier):
197 if modifier is None:
201 if modifier[0:len(mod)] == mod:
203 assert(len(mod) == len(modifier))
206 if modifier[len(mod)] == '(' and modifier[-1] == ')':
207 ret = [mod, int(modifier[(len(mod) + 1):-1])]
215 print("Invalid modifier")
253 self.modifier = parse_modifier(attrs.get("modifier"))
373 # Validate the modifier is lossless
375 if field.modifier is None:
380 if field.modifier[0] == "shr":
381 shift = field.modifier[1]
384 elif field.modifier[0] == "minus":
385 print(" assert(values->{} >= {});".format(field.name, field.modifier[1]))
386 elif field.modifier[0] == "log2":
412 if field.modifier is not None:
413 if field.modifier[0] == "shr":
414 value = "{} >> {}".format(value, field.modifier[1])
415 elif field.modifier[0] == "minus":
416 value = "{} - {}".format(value, field.modifier[1])
417 elif field.modifier[0] == "align":
418 value = "ALIGN_POT({}, {})".format(value, field.modifier[1])
419 elif field.modifier[0] == "log2":
506 if field.modifier:
507 if field.modifier[0] == "minus":
508 suffix = " + {}".format(field.modifier[1])
509 elif field.modifier[0] == "shr":
510 suffix = " << {}".format(field.modifier[1])
511 if field.modifier[0] == "log2":
517 if field.modifier and field.modifier[0] == "align":
518 mask = hex(field.modifier[1] - 1)