[PATCH] D74729: [FPEnv] Intrinsic for setting rounding mode

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 6 15:55:35 PDT 2020


arsenm added inline comments.


================
Comment at: llvm/docs/LangRef.rst:18146-18150
+    0  - toward zero
+    1  - to nearest, ties to even
+    2  - toward positive infinity
+    3  - toward negative infinity
+    4  - to nearest, ties away from zero
----------------
arsenm wrote:
> arsenm wrote:
> > sepavloff wrote:
> > > RKSimon wrote:
> > > > arsenm wrote:
> > > > > I'm wondering if this should be more opaque, and broader for the entire FP environment (not just the rounding mode). For AMDGPU we have a number of additional bits in the FP environment. We also have the denormal mode, enabling FP exceptions, and a few more exotic target specific FP mode bits.
> > > > @arsenm Would these extra bits be exclusive modes or would you need this to support target specific mode combos?
> > > > I'm wondering if this should be more opaque, and broader for the entire FP environment (not just the rounding mode). 
> > > 
> > > C library defined function `fesetmode`, which sets all control modes, not just rounding. It make sense to introduce intrinsic for it, which would serve these purposes.
> > We have the rounding mode controls as presented here, however they are broken down by FP type. We can separately set the rounding mode for f32 and f64/f16, so there are two different settings. We also have the denormal mode, for inputs and outputs, also broken down by type in the same way. The denormal handling and per-type handling I think deserve consideration here
> > 
> > We have 2 additional target specific FP bits nothing else would need to really think about, but it would be nice if you could set the exact mode you want in a single intrinsic call. I'm less interested in these though
> Oh, we also have a bit to turn on/off fp exceptions which is probably generally interesting
And by a bit, I mean a mask of bits for different FP exception types


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74729





More information about the llvm-commits mailing list