diff options
| author | David Green <david.green@arm.com> | 2026-02-12 08:38:37 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-12 08:38:37 +0000 |
| commit | 5fe60e91e509b0ec574c80ac470a13fb0f277670 (patch) | |
| tree | 2cffc7440d07ec075e53114e20f537f19f094d95 /llvm/lib | |
| parent | c774bed9e6153916ff714d62515686a59722068d (diff) | |
| download | llvm-5fe60e91e509b0ec574c80ac470a13fb0f277670.tar.gz llvm-5fe60e91e509b0ec574c80ac470a13fb0f277670.tar.bz2 llvm-5fe60e91e509b0ec574c80ac470a13fb0f277670.zip | |
[SDAG] Copy flags in convertMask when legalizing vselect/setcc (#180979)
This helps keep the flags around, making sure we correctly lower a
vector setcc with nnan. Fixes a regression from #180462.
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp index 51278a192fec..aeb9d4d7bdc1 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp @@ -6822,7 +6822,8 @@ SDValue DAGTypeLegalizer::convertMask(SDValue InMask, EVT MaskVT, ReplaceValueWith(InMask.getValue(1), Mask.getValue(1)); } else - Mask = DAG.getNode(InMask->getOpcode(), SDLoc(InMask), MaskVT, Ops); + Mask = DAG.getNode(InMask->getOpcode(), SDLoc(InMask), MaskVT, Ops, + InMask->getFlags()); // If MaskVT has smaller or bigger elements than ToMaskVT, a vector sign // extend or truncate is needed. |
