In order to test overflow condition multiplication result is first
stored into a temporary whose size is double than the size of operands.
Since types of operands and result are legal as per target hence
lowering of intrinsic to RTLIB call happens during node legalization and not
type legalization.
Expansion of intrinsic to RTLIB call happens only if temporary result
type is not supportable by target. Thus during call lowering expansion
of result is done and a MERGE_VALUES node comprising of
stack locations holding result are returned back.