[LLVMdev] how the fptrunc ... to .... is supported
Mehdi Amini
mehdi.amini at apple.com
Sun May 24 21:23:34 PDT 2015
> On May 24, 2015, at 9:04 PM, Zhang, Kewu <Kewu.Zhang at amd.com> wrote:
>
> Dear experts.
>
> I am curious how the "<targettype> = fptrunc <sourcetype> <value> to <targettype>" is supported by the backends? I searched all llvm directory with "fptrunc" key words, no lucky.
>
> Is it supported by the front end itself?
>
> if I have to support/overide it, which ISD node I should map to?
> why there is no such a node like "fptrunc" is defined so I can write patterns for it?
I think that the SelectionDAG node that corresponds to fptrunc is called FP_ROUND.
http://llvm.org/docs/doxygen/html/namespacellvm_1_1ISD.html <http://llvm.org/docs/doxygen/html/namespacellvm_1_1ISD.html>
FP_ROUND X = FP_ROUND(Y, TRUNC) - Rounding 'Y' from a larger floating point type down to the precision of the destination VT.
TRUNC is a flag, which is always an integer that is zero or one. If TRUNC is 0, this is a normal rounding, if it is 1, this FP_ROUND is known to not change the value of Y.
—
Mehdi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150524/87924e6b/attachment.html>
More information about the llvm-dev
mailing list