[llvm] 043a585 - [LangRef][VP] Change masked-off lanes from undef to poison
Fraser Cormack via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 5 07:41:01 PDT 2022
Author: Fraser Cormack
Date: 2022-10-05T15:24:14+01:00
New Revision: 043a585b05f4a776d3d9749c153dc8480881b654
URL: https://github.com/llvm/llvm-project/commit/043a585b05f4a776d3d9749c153dc8480881b654
DIFF: https://github.com/llvm/llvm-project/commit/043a585b05f4a776d3d9749c153dc8480881b654.diff
LOG: [LangRef][VP] Change masked-off lanes from undef to poison
These were all changed in 32b1b06b7081bd722750c6f3d528336f3f7ed34b (as
discussed in D133967) but some intrinsics introduced since have
re-introduced `undef` as the masked-off value.
Reviewed By: reames, eopXD
Differential Revision: https://reviews.llvm.org/D135244
Added:
Modified:
llvm/docs/LangRef.rst
Removed:
################################################################################
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index a70fc821d4c6..4fe65ffe6db3 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -19390,7 +19390,8 @@ Semantics:
The '``llvm.vp.sqrt``' intrinsic performs floating-point square root (:ref:`sqrt <int_sqrt>`) of
the first vector operand on each enabled lane. The result on disabled lanes is
-undefined. The operation is performed in the default floating-point environment.
+a :ref:`poison value <poisonvalues>`. The operation is performed in the default
+floating-point environment.
Examples:
"""""""""
@@ -19401,7 +19402,7 @@ Examples:
;; For all lanes below %evl, %r is lane-wise equivalent to %also.r
%t = call <4 x float> @llvm.sqrt.v4f32(<4 x float> %a)
- %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> undef
+ %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> poison
.. _int_vp_fma:
@@ -21508,8 +21509,8 @@ Semantics:
""""""""""
The '``llvm.vp.ceil``' intrinsic performs floating-point ceiling
-(:ref:`ceil <int_ceil>`) of the first vector operand on each enabled lane. The
-result on disabled lanes is undefined.
+(:ref:`ceil <int_ceil>`) of the first vector operand on each enabled lane. The
+result on disabled lanes is a :ref:`poison value <poisonvalues>`.
Examples:
"""""""""
@@ -21520,7 +21521,7 @@ Examples:
;; For all lanes below %evl, %r is lane-wise equivalent to %also.r
%t = call <4 x float> @llvm.ceil.v4f32(<4 x float> %a)
- %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> undef
+ %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> poison
.. _int_vp_floor:
@@ -21555,8 +21556,8 @@ Semantics:
""""""""""
The '``llvm.vp.floor``' intrinsic performs floating-point floor
-(:ref:`floor <int_floor>`) of the first vector operand on each enabled lane. The
-result on disabled lanes is undefined.
+(:ref:`floor <int_floor>`) of the first vector operand on each enabled lane.
+The result on disabled lanes is a :ref:`poison value <poisonvalues>`.
Examples:
"""""""""
@@ -21567,7 +21568,7 @@ Examples:
;; For all lanes below %evl, %r is lane-wise equivalent to %also.r
%t = call <4 x float> @llvm.floor.v4f32(<4 x float> %a)
- %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> undef
+ %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> poison
.. _int_vp_round:
@@ -21602,8 +21603,8 @@ Semantics:
""""""""""
The '``llvm.vp.round``' intrinsic performs floating-point round
-(:ref:`round <int_round>`) of the first vector operand on each enabled lane. The
-result on disabled lanes is undefined.
+(:ref:`round <int_round>`) of the first vector operand on each enabled lane.
+The result on disabled lanes is a :ref:`poison value <poisonvalues>`.
Examples:
"""""""""
@@ -21614,7 +21615,7 @@ Examples:
;; For all lanes below %evl, %r is lane-wise equivalent to %also.r
%t = call <4 x float> @llvm.round.v4f32(<4 x float> %a)
- %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> undef
+ %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> poison
.. _int_vp_roundeven:
@@ -21649,8 +21650,8 @@ Semantics:
""""""""""
The '``llvm.vp.roundeven``' intrinsic performs floating-point roundeven
-(:ref:`roundeven <int_roundeven>`) of the first vector operand on each enabled lane. The
-result on disabled lanes is undefined.
+(:ref:`roundeven <int_roundeven>`) of the first vector operand on each enabled
+lane. The result on disabled lanes is a :ref:`poison value <poisonvalues>`.
Examples:
"""""""""
@@ -21661,7 +21662,7 @@ Examples:
;; For all lanes below %evl, %r is lane-wise equivalent to %also.r
%t = call <4 x float> @llvm.roundeven.v4f32(<4 x float> %a)
- %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> undef
+ %also.r = select <4 x i1> %mask, <4 x float> %t, <4 x float> poison
.. _int_mload_mstore:
More information about the llvm-commits
mailing list