[PATCH] D147728: [X86] Add inst fixup for `unpckpd` -> `unpckqdq`.

Noah Goldstein via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 6 11:12:17 PDT 2023


goldstein.w.n created this revision.
Herald added subscribers: pengfei, hiraditya.
Herald added a project: All.
goldstein.w.n requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

`unpckqdq` seems to be treated as a shuffle from bypass delay
perspective (which makes sense it appears to have shared shuffle units
for all micro-arch).

`unpckqdq` is slightly preferable to `shufpd` as it saves 1-byte of
code size and can be used to replace the micro-fused `rm` version. So,
if the target has no bypass delay, we should do `unpckpd` ->
`unpckqdq` instead of `shufpd.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D147728

Files:
  llvm/lib/Target/X86/X86FixupInstTuning.cpp
  llvm/test/CodeGen/X86/tuning-shuffle-unpckpd-avx512.ll
  llvm/test/CodeGen/X86/tuning-shuffle-unpckpd.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D147728.511483.patch
Type: text/x-patch
Size: 52117 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230406/8cf604ae/attachment.bin>


More information about the llvm-commits mailing list