[llvm] [RISCV] add computeKnownBitsForTargetNode for RISCVISD::SRLW (PR #155995)
    Simon Pilgrim via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Sep  3 03:04:26 PDT 2025
    
    
  
================
@@ -21379,6 +21379,14 @@ void RISCVTargetLowering::computeKnownBitsForTargetNode(const SDValue Op,
     Known = Known.sext(BitWidth);
     break;
   }
+  case RISCVISD::SRLW: {
+    KnownBits Known2;
+    Known = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
+    Known2 = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
+    Known = KnownBits::lshr(Known.trunc(32), Known2.trunc(5).zext(32));
+    // Restore the original width by sign extending.
+    Known = Known.sext(BitWidth);
+    break;
----------------
RKSimon wrote:
missing closing }
https://github.com/llvm/llvm-project/pull/155995
    
    
More information about the llvm-commits
mailing list