[PATCH] D116812: [AArch64][SVE][VLS] Move extends into arguments of comparisons
    Paul Walker via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Jan 20 03:49:42 PST 2022
    
    
  
paulwalker-arm added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15340-15343
+    const SDValue Ext1 = DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N),
+                                     N->getValueType(0), SetCC.getOperand(0));
+    const SDValue Ext2 = DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N),
+                                     N->getValueType(0), SetCC.getOperand(1));
----------------
This doesn't look correct.  The extension type should mirror the comparison operator.  So whilst signed comparisons require the original operands to be sign-extended, unsigned comparisons will require the operands to be zero extended to match the original behaviour.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116812/new/
https://reviews.llvm.org/D116812
    
    
More information about the llvm-commits
mailing list