It's called __is_convertible and is handle by BinaryTypeTraitExpr.
There is __builtin_types_compatible_p which is represented by
a BinaryTypeTraitExpr in Clang. The *TypeTraitExpr classes are
specialised for boolean results, so I suppose a BinaryTypePropertyExpr
would take two types and produce a non-boolean result, but I cannot
personally think of a situation where this would be a good idea.