[llvm-dev] using experimental intrinsics failed

Craig Topper via llvm-dev llvm-dev at lists.llvm.org
Thu Sep 3 17:40:54 PDT 2020


I think you need a declaration like this at module scope in your IR file.
Everything that's called either needs to be defined or declared even if it
is an intrinsic. It doesn't matter if the declaration is before or after
the use.

*declare double* *@llvm.experimental.constrained.fadd*(*double,* *double*,
*metadata*", *metadata*)

~Craig


On Thu, Sep 3, 2020 at 5:36 PM Xuan Tang via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi:
>
> Sorry I need to send email directly. I am new to llvm and trying to write
> interval arithmetic, which requires changing rounding mode during
> computation.
>
> The document I found
> https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics,
> seems to be doing the trick. Here is the piece of code that I did:
>
> *%5* = *call* *double* *@llvm.experimental.constrained.fadd*(*double* *%0*
> , *double* *%2*, *metadata* !"round.downward", *metadata* !"fpexcept.i
> gnore")
>
> It is taking the first and third argument and adding them together with
> the downward rounding mode. However, when I try to convert it to bit code,
> I got the error:
>
> error: use of undefined value '@llvm.experimental.constrained.fadd'
>
> Is there any flags I need to add in order to use this intrinsic? Or this
> is just a wrong function call. I am using the llvm version 10.0.1.
>
> Thank you
> Xuan Tang
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200903/21f85daf/attachment.html>


More information about the llvm-dev mailing list