<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Nov 14, 2012, at 9:53 AM, Craig Topper <<a href="mailto:craig.topper@gmail.com">craig.topper@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; display: inline !important; float: none; ">I'm also looking into adding intrinsics for supporting ceil, trunc, rint, and nearbyint for vectors. The ISD nodes exist already but they currently only get created for scalar types when libcalls are lowered. So if you want to go ahead and do the right thing for FCEIL, FTRUNC, FRINT, FNEARBYINT of vectors while you're in there.</span></blockquote></div><br><div>On a tangential note, it's a pet peeve of mine that some of these nodes are on accessible from libcall lowering, which is a very C-centric optimization pass.  IMO, they should all have corresponding intrinsics that map directly onto them, so that they can be more readily accessed from languages that don't want to be restricted to C's nomenclature.  Plus, the libcall lowering becomes simpler: it just transforms the libcall to the intrinsic call.</div><div><br></div><div>--Owen</div></body></html>