[PATCH] D142084: [RFC][X86][MemFold] Upgrade the mechanism of auto-generated Memory Folding Table
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 13 21:08:52 PST 2023
craig.topper added inline comments.
================
Comment at: llvm/lib/Target/X86/X86MemFoldTables.inc:614
{X86::UCOMISSrr_Int, X86::UCOMISSrm_Int, TB_NO_REVERSE},
+ {X86::UD1Lr, X86::UD1Lm, 0},
+ {X86::UD1Qr, X86::UD1Qm, 0},
----------------
These aren't real load instructions. It doesn't really make sense for them to be in the table. Folding the load would make the load not happen. That would be incorrect for volatile.
================
Comment at: llvm/lib/Target/X86/X86MemFoldTables.inc:4009
{X86::VMINSSZrr_Intkz, X86::VMINSSZrm_Intkz, TB_NO_REVERSE},
- {X86::VMOVAPDZ128rrk, X86::VMOVAPDZ128rmk, TB_NO_REVERSE|TB_ALIGN_16},
- {X86::VMOVAPDZ256rrk, X86::VMOVAPDZ256rmk, TB_NO_REVERSE|TB_ALIGN_32},
- {X86::VMOVAPDZrrk, X86::VMOVAPDZrmk, TB_NO_REVERSE|TB_ALIGN_64},
- {X86::VMOVAPSZ128rrk, X86::VMOVAPSZ128rmk, TB_NO_REVERSE|TB_ALIGN_16},
- {X86::VMOVAPSZ256rrk, X86::VMOVAPSZ256rmk, TB_NO_REVERSE|TB_ALIGN_32},
- {X86::VMOVAPSZrrk, X86::VMOVAPSZrmk, TB_NO_REVERSE|TB_ALIGN_64},
+ {X86::VMOVAPDZ128rrk, X86::VMOVAPDZ128rmk, TB_ALIGN_16},
+ {X86::VMOVAPDZ256rrk, X86::VMOVAPDZ256rmk, TB_ALIGN_32},
----------------
Would this allow unfolding a VMOVAPDZ128rmk to VMOVAPDZ128rrk + VMOVAPDZ128rm? That would be a bug.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142084/new/
https://reviews.llvm.org/D142084
More information about the llvm-commits
mailing list