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
9836

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

9850

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
9850

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.
test/MC/X86/avx512vbmi2-encoding.s