This is an archive of the discontinued LLVM Phabricator instance.

[X86][AVX512] Add missing entries to EVEX2VEX tables
ClosedPublic

Authored by aymanmus on Mar 1 2017, 8:29 AM.

Details

Summary

evex2vex pass defines 2 tables which maps EVEX instructions to their VEX identical when possible. Adding all missing entries.

Diff Detail

Repository
rL LLVM

Event Timeline

aymanmus created this revision.Mar 1 2017, 8:29 AM
craig.topper added inline comments.Mar 2 2017, 9:26 AM
lib/Target/X86/X86InstrTablesInfo.h
50 ↗(On Diff #90186)

Why was this one removed? A review that says "add missing entries" and then removes some without explanation is confusing.

202 ↗(On Diff #90186)

The VEX instructions with a C in it are treated as commutable. The EVEX versions without a C shouldn't become commutable when they are compressed.

aymanmus added inline comments.Mar 6 2017, 12:31 AM
lib/Target/X86/X86InstrTablesInfo.h
50 ↗(On Diff #90186)

The VEX encoded instructions of these entries are defined for intrinsics.
The patch is here to stabilize the tables before pushing the tablegen backend which will replace them.

202 ↗(On Diff #90186)

In this stage of the compiler there is no difference between MAX and MAXC, They have the same exact encoding and this difference is not relevant from this point and on.

This revision is now accepted and ready to land.Mar 6 2017, 9:36 AM
This revision was automatically updated to reflect the committed changes.