[][src]Function cranelift_codegen_meta::cdsl::type_inference::canonicalize_derivations

fn canonicalize_derivations(tv: TypeVar) -> TypeVar

Normalize a (potentially derived) typevar using the following rules:

  • vector and width derived functions commute {HALF,DOUBLE}VECTOR({HALF,DOUBLE}WIDTH(base)) -> {HALF,DOUBLE}WIDTH({HALF,DOUBLE}VECTOR(base))

  • half/double pairs collapse {HALF,DOUBLE}WIDTH({DOUBLE,HALF}WIDTH(base)) -> base {HALF,DOUBLE}VECTOR({DOUBLE,HALF}VECTOR(base)) -> base