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

Authored by craig.topper on Wed, Oct 11, 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

Repository
rL LLVM
craig.topper created this revision.Wed, Oct 11, 11:20 AM
RKSimon added inline comments.Thu, Oct 12, 9:25 AM
test/CodeGen/X86/cpus.ll
22 ↗(On Diff #118649)

This looks like it should have been added already.

craig.topper added inline comments.Thu, Oct 12, 9:36 AM
test/CodeGen/X86/cpus.ll
22 ↗(On Diff #118649)

Do you want me to commit it separately?

RKSimon added inline comments.Thu, Oct 12, 10:39 AM
test/CodeGen/X86/cpus.ll
22 ↗(On Diff #118649)

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.Fri, Oct 13, 7:03 AM
lib/Target/X86/X86.td
632 ↗(On Diff #118843)

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.Fri, Oct 13, 9:05 AM

LGTM with one minor

lib/Support/Host.cpp
342 ↗(On Diff #118921)

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.Fri, Oct 13, 9:05 AM
This revision was automatically updated to reflect the committed changes.