This is an archive of the discontinued LLVM Phabricator instance.

[x86] Add initial skeleton support for "knm" cpu - llvm version
ClosedPublic

Authored by craig.topper on Oct 11 2017, 11:20 AM.

Details

Summary

This adds Intel's Knights Mill CPU to valid CPU names for the backend. For now its an alias of "knl", but ultimately we need to support AVX5124FMAPS and AVX5124VNNIW instruction sets for it.

Diff Detail

Event Timeline

craig.topper created this revision.Oct 11 2017, 11:20 AM
RKSimon added inline comments.Oct 12 2017, 9:25 AM
test/CodeGen/X86/cpus.ll
31

This looks like it should have been added already.

craig.topper added inline comments.Oct 12 2017, 9:36 AM
test/CodeGen/X86/cpus.ll
31

Do you want me to commit it separately?

RKSimon added inline comments.Oct 12 2017, 10:39 AM
test/CodeGen/X86/cpus.ll
31

Yes please - it just looks like it was missed when KNL support was added?

Rebase after updating test to include "knl"

RKSimon added inline comments.Oct 13 2017, 7:03 AM
lib/Target/X86/X86.td
632

Maybe worth creating a KNLFeatures feature stub and KnightsMillProc class?

Also, possibly rephrase the TODO comment explaining what is actually missing?

Add KNLFeatures and KnightsMillProc classes.

RKSimon accepted this revision.Oct 13 2017, 9:05 AM

LGTM with one minor

lib/Support/Host.cpp
342

I assume you've checked this - I guess there's no way to test for it?

This revision is now accepted and ready to land.Oct 13 2017, 9:05 AM
This revision was automatically updated to reflect the committed changes.