This will enable us to prefer VALIGND/Q during shuffle lowering in order to get the extended register encoding space when BWI isn't available. But if we end up not using the extended registers we can switch VPALIGNR for the shorter VEX encoding.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/X86/X86EvexToVex.cpp | ||
---|---|---|
156 ↗ | (On Diff #120738) | Assertion message |
220 ↗ | (On Diff #120738) | If you can see other 'custom' instructions being added here in the future, pulling it out as a helper function would make sense. |
240 ↗ | (On Diff #120738) | Is this better? MI.setDesc(TII->get(NewOpc)); |
248 ↗ | (On Diff #120738) | Pull out this helper function change as an NFC? |
Comment Actions
This takes a slightly different approach and manually adds the relevant instructions to the EVEX tables and then uses custom logic to just do the necessary immediate modification.