This autoupgrades most of the broadcast intrinsics. They've been unused in clang for some time.
This leaves the 32x2 intrinsics because they are still used in clang.
Paths
| Differential D36606
[AVX512] Remove and autoupgrade many of the broadcast intrinsics ClosedPublic Authored by craig.topper on Aug 10 2017, 10:58 PM.
Details Summary This autoupgrades most of the broadcast intrinsics. They've been unused in clang for some time. This leaves the 32x2 intrinsics because they are still used in clang.
Diff Detail Event TimelineComment Actions LGTM Do you think we should make SUBV_BROADCAST a memory intrinsic? Maybe BROADCAST as well, although that has reg implementations and splitting it into two may be awkward. This revision is now accepted and ready to land.Aug 11 2017, 4:05 AM Comment Actions I think I remember having that thought before. It's been a while. I actually found most of this patch in a "git stash" from quite a while ago. Closed by commit rL310725: [AVX512] Remove and autoupgrade many of the broadcast intrinsics (authored by ctopper). · Explain WhyAug 11 2017, 9:26 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 110675 include/llvm/IR/IntrinsicsX86.td
lib/IR/AutoUpgrade.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86IntrinsicsInfo.h
test/CodeGen/X86/avx512-intrinsics-upgrade.ll
test/CodeGen/X86/avx512-intrinsics.ll
test/CodeGen/X86/avx512dq-intrinsics-upgrade.ll
test/CodeGen/X86/avx512dq-intrinsics.ll
test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512dqvl-intrinsics.ll
test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512vl-intrinsics.ll
|