This is an archive of the discontinued LLVM Phabricator instance.

[x86][icelake]vpclmulqdq introduction
ClosedPublic

Authored by coby on Nov 15 2017, 2:33 PM.

Details

Summary

an icelake promotion of pclmulqdq

Diff Detail

Repository
rL LLVM

Event Timeline

coby created this revision.Nov 15 2017, 2:33 PM
craig.topper added inline comments.Nov 15 2017, 2:43 PM
test/CodeGen/X86/avx512vl-vpclmulqdq.ll
6 ↗(On Diff #123084)

Why isn't this an EVEX compression?

coby updated this revision to Diff 123096.Nov 15 2017, 3:31 PM

refined VPCLMULQDQ recognition in favor of PCLMULQDQ

This revision is now accepted and ready to land.Nov 15 2017, 4:01 PM
craig.topper requested changes to this revision.Nov 15 2017, 4:05 PM

Sorry I think there's still a bug.

lib/Target/X86/X86InstrSSE.td
7282 ↗(On Diff #123096)

This shoudl be [HasAVX, NoVLX_Or_NoVPCLMULQDQ, HasPCLMUL]

This revision now requires changes to proceed.Nov 15 2017, 4:05 PM
RKSimon added a subscriber: RKSimon.
RKSimon added inline comments.
lib/Target/X86/X86InstrInfo.cpp
5262 ↗(On Diff #123096)

This needs tests.

coby updated this revision to Diff 123565.Nov 20 2017, 4:35 AM
coby edited edge metadata.

further refined selection of conflicting insns, as suggested by Craig
added commutation tests, as suggested by Simon

This revision is now accepted and ready to land.Nov 20 2017, 7:18 AM
This revision was automatically updated to reflect the committed changes.