The attached patch adds target independent intrinsics for ceil, trunc, rint, and nearbyint to complement the existing floor intrinsic. This gives direct access to the existing ISD node types. My primary interest is the vector types, as the scalar forms are already accessible through libcall handling. This patch makes scalars available as intrinsics too. Maybe this can simplify libcall handling?<br>
<br>I added setOperationAction(Expand) to targets where it was obvious where to do so. Several targets seemed to just have problems returning vector types in general.<br clear="all"><br>Thanks,<br>~Craig<br>