This is an archive of the discontinued LLVM Phabricator instance.

[x86][icelake]vbmi2
ClosedPublic

Authored by coby on Nov 17 2017, 10:11 PM.

Details

Summary

introducing vbmi2, consisting of
vpcompress{b,w}
vpexpand{b,w}
vpsh{l,r}d{w,d,q}
vpsh{l,r}dv{w,d,q}

Diff Detail

Repository
rL LLVM

Event Timeline

coby created this revision.Nov 17 2017, 10:11 PM
craig.topper added inline comments.Nov 17 2017, 10:41 PM
lib/Target/X86/X86InstrAVX512.td
9857 ↗(On Diff #123459)

Don't reuse the pmadd52 classes. I don't think its worth the complexity to make it do what you need here.

9871 ↗(On Diff #123459)

If you're going to reuse the pmadd class, I'd really prefer you rename it.

craig.topper added inline comments.Nov 17 2017, 10:43 PM
lib/Target/X86/X86InstrAVX512.td
9871 ↗(On Diff #123459)

Oops I meant to remove this after I wrote the other comment about not reusing pmadd

coby updated this revision to Diff 123549.Nov 20 2017, 12:42 AM

Separated VBMI2's concatenate/shift insns implementation course from PMADD52

This revision is now accepted and ready to land.Nov 20 2017, 7:45 AM
This revision was automatically updated to reflect the committed changes.
llvm/trunk/test/MC/X86/avx512vbmi2-encoding.s