google / gematria

Machine learning for machine code.
Apache License 2.0
74 stars 11 forks source link

Improve generation of vector instructions #232

Open boomanaiden154 opened 1 week ago

boomanaiden154 commented 1 week ago

Currently, we only compile for base X86. It would be good to also have instructions from newer ISA extensions like AVX512 in the corpus. This will require some changes in the data collection methodology. Particularly, we need to add additional lowerings enabling specific target features so that we can enable the creation of blocks containing these instructions.

boomanaiden154 commented 1 week ago

We also need additional opt runs as the middle end optimization pipeline can call into target transform info to decide on things like vector widths, which will vary depending upon the architecture that we enable.

We'll need to figure out how to limit the number of potential combinations (perhaps only running specific -marches with -O3 to prevent an explosion of the total number of combinations.