================
@@ -2686,20 +2686,31 @@ For example:
the mode is consistent. User or platform code is expected to set
the floating point mode appropriately before function entry.
- If the input mode is ``"preserve-sign"``, or ``"positive-zero"``,
+ This may optionally specify a second pair, prefixed with
+ ``float:``. This provides an override for the behavior of 32-bit
+ float type (or vectors of 32-bit floats).
+
+ If the input mode is ``preservesign``, or ``positivezero``,
a floating-point operation must treat any input denormal value as
zero. In some situations, if an instruction does not respect this
mode, the input may need to be converted to 0 as if by
``@llvm.canonicalize`` during lowering for correctness.
-``"denormal-fp-math-f32"``
- Same as ``"denormal-fp-math"``, but only controls the behavior of
- the 32-bit float type (or vectors of 32-bit floats). If both are
- are present, this overrides ``"denormal-fp-math"``. Not all targets
- support separately setting the denormal mode per type, and no
- attempt is made to diagnose unsupported uses. Currently this
+ This may optionally specify a second pair, prefixed with
+ ``float:``. This provides an override for the behavior of 32-bit
+ float type. (or vectors of 32-bit floats). If this is present,
+ this overrides the base handling of the default mode. Not all
+ targets support separately setting the denormal mode per type, and
+ no attempt is made to diagnose unsupported uses. Currently this
attribute is respected by the AMDGPU and NVPTX backends.
+:Examples:
+ ``denormal_fpenv(preservesign)``
+ ``denormal_fpenv(float: preservesign)``
+ ``denormal_fpenv(dynamic, float: preservesign|ieee)``
+ ``denormal_fpenv(ieee|ieee, float:preservesign|preservesign)``
+ ``denormal_fpenv(ieee|dynamic, float:preservesign|ieee)``
----------------
nikic wrote:
```suggestion
``denormal_fpenv(ieee|ieee, float: preservesign|preservesign)``
``denormal_fpenv(ieee|dynamic, float: preservesign|ieee)``
```
https://github.com/llvm/llvm-project/pull/174293
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits