Replacement for D144903
If we're concatenating freeze(undef) subvector ops with multiple uses then we can't treat them as a wider freeze(undef), but we can replace them with a zero subvector, which is cheap on AVX
Paths
| Differential D149249
[X86] Handle multiple use freeze(undef) in LowerAVXCONCAT_VECTORS as zero vectors ClosedPublic Authored by RKSimon on Apr 26 2023, 3:56 AM.
Details Summary Replacement for D144903 If we're concatenating freeze(undef) subvector ops with multiple uses then we can't treat them as a wider freeze(undef), but we can replace them with a zero subvector, which is cheap on AVX
Diff Detail
Event TimelineThis revision is now accepted and ready to land.Apr 26 2023, 4:00 AM This revision was landed with ongoing or failed builds.Apr 26 2023, 4:33 AM Closed by commit rGee52af74d8e5: [X86] Handle multiple use freeze(undef) in LowerAVXCONCAT_VECTORS as zero… (authored by RKSimon). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 517121 llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/avx512-intrinsics.ll
llvm/test/CodeGen/X86/avx512fp16-intrinsics.ll
|