Hi, TL;DR I've prepared a patch that allows arbitrary intrinsics to have a non-default fp environment - not just constrained fp intrinsics. It's up for review here: https://reviews.llvm.org/D93455 Right now, the only way to have fp ops with a non-default rounding mode or exception behavior is constrained fp intrinsics (all of llvm.experimental.constrained.*). These intrinsics have up to two metadata parameters in their operand list to specify the fp environment. This RFC proposes to use operand bundles (cfp-except and cfp-round) instead. We will use this for constrained-fp VP intrinsics (llvm.vp.fadd) - however, there is more, we may even do away with all constrained fp intrinsics that are basically a copy of libm functions (eg we can replace llvm.experimental.constrained.sqrt with just llvm.sqrt + constrained fp bundles). - Simon