[PATCH] D144903: [X86] Drop single use check for freeze(undef) in LowerAVXCONCAT_VECTORS

Manuel Brito via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 27 11:41:20 PST 2023


ManuelJBrito created this revision.
ManuelJBrito added a reviewer: RKSimon.
Herald added subscribers: pengfei, hiraditya.
Herald added a project: All.
ManuelJBrito requested review of this revision.
Herald added projects: clang, LLVM.
Herald added subscribers: llvm-commits, cfe-commits.

Ignoring freeze(undef) if it has multiple uses in LowerAVXCONCAT_VECTORS causes the custom INSERT_SUBVECTOR for vector widening to be ignored.

For example in https://godbolt.org/z/7hacPe1KM extra vinsertf128 instructions are introduced.

This is necessary to lower `mm512_cast*128` intel intrinsics as no-op intrinsics.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D144903

Files:
  clang/test/CodeGen/X86/avx-cast-builtins.c
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/test/CodeGen/X86/avx512-intrinsics.ll
  llvm/test/CodeGen/X86/avx512fp16-intrinsics.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D144903.500853.patch
Type: text/x-patch
Size: 6495 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230227/57bd112f/attachment-0001.bin>


More information about the cfe-commits mailing list