diff --git a/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp b/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp --- a/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp +++ b/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp @@ -1364,7 +1364,7 @@ unsigned CurOp = 2; // Masked intrinsic only have TU version pseduo instructions. - bool IsTU = IsMasked || (!IsMasked && !Node->getOperand(CurOp).isUndef()); + bool IsTU = IsMasked || !Node->getOperand(CurOp).isUndef(); SmallVector Operands; if (IsTU) Operands.push_back(Node->getOperand(CurOp++)); @@ -1416,9 +1416,8 @@ // The riscv_vlm intrinsic are always tail agnostic and no passthru operand. bool HasPassthruOperand = IntNo != Intrinsic::riscv_vlm; // Masked intrinsic only have TU version pseduo instructions. - bool IsTU = - HasPassthruOperand && - ((!IsMasked && !Node->getOperand(CurOp).isUndef()) || IsMasked); + bool IsTU = HasPassthruOperand && + (IsMasked || !Node->getOperand(CurOp).isUndef()); SmallVector Operands; if (IsTU) Operands.push_back(Node->getOperand(CurOp++)); @@ -1451,7 +1450,7 @@ unsigned CurOp = 2; // Masked intrinsic only have TU version pseduo instructions. - bool IsTU = IsMasked || (!IsMasked && !Node->getOperand(CurOp).isUndef()); + bool IsTU = IsMasked || !Node->getOperand(CurOp).isUndef(); SmallVector Operands; if (IsTU) Operands.push_back(Node->getOperand(CurOp++));