arsenm added a comment. In D156989#4558133 <https://reviews.llvm.org/D156989#4558133>, @sepavloff wrote:
> Rounding mode is presented in FPOptions with 3 bits, so there is only 8 > values available for particular modes. 5 of them, which are specified in > IEEE-754, are listed in `RoundingMode`. `Dynamic` (which is -1 in 3-bit > numbers) is not a real rounding mode, But it is a spec'd value as -1 for FLT_ROUNDS > `RoundingMode::Invalid` is not a mode at all, it is used to represent > unspecified value at compile-time and can be eliminated by using things like > `std::optional`. In 3 bits it would have the same value as `Dynamic`, but it > is not a problem, because `Invalid` never appears in AST and IR. Right it's just filler here > Probably `Dynamic` is what you need. It prevents from constant folding and > other transformations that rely on particular rounding mode and does not > restrict actual rounding modes used in runtime. What prevents from using > this mode for your case? I can do better by reporting something meaningful, two different modes is not unknown. The enum here should just be exactly equal to the FLT_ROUNDS values and not pick a random other number, I just need the wrong value for Dynamic to get out of the way to avoid creating additional wrappers CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156989/new/ https://reviews.llvm.org/D156989 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits