[PATCH] D139491: [PowerPC] remove XXSWAPD after load from CP which is a splat value
    ChenZheng via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Dec  7 00:30:28 PST 2022
    
    
  
shchenz added inline comments.
================
Comment at: llvm/lib/Target/PowerPC/PPCMIPeephole.cpp:654
               .add(MI.getOperand(1));
+        } else if (Immed == 2 && TII->isLoadFromConstantPool(DefMI)) {
+          const Constant *C = TII->getConstantFromConstantPool(DefMI);
----------------
Seems for swap `XXPERMDI` (Immed == 0 || Immed == 3), if the input is a splat constant value, there is also an opportunity to optimize the swap away?
================
Comment at: llvm/lib/Target/PowerPC/PPCMIPeephole.cpp:672
       case PPC::VSPLTH:
       case PPC::XXSPLTW: {
         unsigned MyOpcode = MI.getOpcode();
----------------
Can we also improve these opcodes with splat constant inputs?
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139491/new/
https://reviews.llvm.org/D139491
    
    
More information about the llvm-commits
mailing list