[PATCH] D144454: Add builtin for llvm set rounding

xiongji90 via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 2 00:44:36 PST 2023


xiongji90 added a comment.

In D144454#4163688 <https://reviews.llvm.org/D144454#4163688>, @rjmccall wrote:

> I see.  If we're going to take the target-independent values specified by `FLT_ROUNDS`, then the original builtin name is more appropriate.  Of course, this has the disadvantage of not allowing target-specific values that might exist beyond those specified in the standard; are we pretty certain that's not a problem in practice?
>
> Working on x86, ARM, and AArch64 is great, but I'm a little worried about adding another builtin that works only on major targets and probably crashes on others.  I suppose we've got some number of those already, though.

Hi, @rjmccall @sepavloff 
Which name do you prefer for this builtin? __builtin_flt_rounds_set or __builtin_set_flt_rounds?
Does LLVM have mechanism to restrict builtin to work only on specific targets? If not, can we check add target check code to guard just like: https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CGBuiltin.cpp#LL4685C8-L4685C8
And although the builtin should work automatically for arm and aarch64, I didn't have environment to verify, can I enable it only for x86 currently?
Thanks very much.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144454/new/

https://reviews.llvm.org/D144454



More information about the cfe-commits mailing list