Lines Matching refs:desc

260 def _get_interpreter_hook_call_expr(name, intr, desc=None):  argument
279 name, _get_desc_specializations(intr, desc).replace(
311 def _get_interpreter_hook_return_stmt(name, intr, desc=None): argument
312 return 'return ' + _get_interpreter_hook_call_expr(name, intr, desc) + ';'
321 for fmt, desc in _VECTOR_SIZES.items():
322 if _check_reg_class_size(reg_class, desc.num_elements / 8):
323 yield INDENT + 'case %s:' % desc.num_elements
324 yield 2 * INDENT + get_return_stmt(name, intr, desc)
361 for fmt, desc in _VECTOR_FORMATS.items():
363 desc.element_size * desc.num_elements) and
364 _check_typed_variant(variant, desc)):
366 yield 2 * INDENT + get_return_stmt(name, intr, desc)
368 desc.num_elements == 1 and
369 _check_typed_variant(variant, desc)):
370 assert desc.element_size <= 8, "Unexpected element size"
372 yield 2 * INDENT + get_return_stmt(name, intr, desc)
406 def _get_translator_hook_call_expr(name, intr, desc = None): argument
407 desc_spec = _get_desc_specializations(intr, desc).replace(
415 def _get_translator_hook_return_stmt(name, intr, desc=None): argument
416 return 'return ' + _get_translator_hook_call_expr(name, intr, desc) + ';'
462 def _check_signed_variant(variant, desc): argument
466 return desc.element_size == 4
468 return desc.element_size == 8
470 return desc.element_size in (2, 4)
472 return desc.element_size in (1, 2, 4)
474 return desc.element_size in (2, 4, 8)
476 return desc.element_size in (1, 2, 4, 8)
478 return desc.element_size in (4, 8)
482 def _check_unsigned_variant(variant, desc): argument
486 return desc.element_size == 1
488 return desc.element_size == 2
490 return desc.element_size == 4
492 return desc.element_size == 8
494 return desc.element_size in (1, 2)
496 return desc.element_size in (1, 2, 4)
498 return desc.element_size in (2, 4, 8)
500 return desc.element_size in (1, 2, 4, 8)
502 return desc.element_size in (4, 8)
519 def _check_typed_variant(variant, desc): argument
520 if desc.is_unsigned and not desc.is_float:
521 return _check_unsigned_variant(variant, desc)
522 if not desc.is_unsigned and not desc.is_float:
523 return _check_signed_variant(variant, desc)
524 if desc.is_float:
525 if desc.element_size == 4:
527 if desc.element_size == 8:
536 for fmt, desc in _VECTOR_FORMATS.items():
538 desc.element_size * desc.num_elements) and
539 _check_typed_variant(variant, desc) and
540 (reg_class != 'vector_4' or desc.element_size < 4)):
542 yield fmt, desc
545 for fmt, desc in _VECTOR_SIZES.items():
546 if _check_reg_class_size(reg_class, desc.num_elements / 8):
548 yield fmt, desc
596 def _get_desc_specializations(intr, desc=None): argument
599 elif hasattr(desc, 'c_type'):
600 spec = [desc.c_type, str(desc.num_elements)]
601 elif hasattr(desc, 'num_elements'):
602 spec = [str(desc.num_elements)]
842 variants = [(desc, [
845 ]) for fmt, desc in variants]
847 for desc, intr_asms in variants:
850 spec = '%d' % (desc.num_elements)
852 spec = '%s, %d' % (desc.c_type, desc.num_elements)